Bug 1379066 - 7. Stop button supports Private mode draft
authorJulian_Chu <walkingice0204@gmail.com>
Thu, 06 Jul 2017 16:28:11 +0800
changeset 607548 7a82f9b46e7d7ad471300fc38b6c5869312ef750
parent 607547 a3566456981d82d568a734b887acf47c6944b52b
child 607549 b9fc629f906d4afa44ce72a639bae3319e8b1651
push id68017
push userbmo:walkingice0204@gmail.com
push dateWed, 12 Jul 2017 10:37:39 +0000
bugs1379066
milestone56.0a1
Bug 1379066 - 7. Stop button supports Private mode Stop button is in Awesome bar to stop page loading, to let it becomes ThemedImageButton to support Private mode. MozReview-Commit-ID: CzbCyx1Mxc4
mobile/android/app/src/photon/res/layout/toolbar_display_layout.xml
mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
--- a/mobile/android/app/src/photon/res/layout/toolbar_display_layout.xml
+++ b/mobile/android/app/src/photon/res/layout/toolbar_display_layout.xml
@@ -43,18 +43,17 @@
 
     <org.mozilla.gecko.toolbar.PageActionLayout
         android:id="@+id/page_action_layout"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:orientation="horizontal"
         android:visibility="gone" />
 
-    <ImageButton
+    <org.mozilla.gecko.widget.themed.ThemedImageButton
         android:id="@+id/stop"
-        android:layout_width="@dimen/page_action_button_width"
-        android:layout_height="match_parent"
-        android:background="#00ffffff"
+        style="@style/UrlBar.ImageButton"
+        android:background="@drawable/action_bar_button"
         android:contentDescription="@string/stop"
         android:src="@drawable/urlbar_stop"
         android:visibility="gone" />
 
 </merge>
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
@@ -14,16 +14,17 @@ import org.mozilla.gecko.AboutPages;
 import org.mozilla.gecko.BrowserApp;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.reader.ReaderModeUtils;
 import org.mozilla.gecko.SiteIdentity;
 import org.mozilla.gecko.Tab;
 import org.mozilla.gecko.Tabs;
 import org.mozilla.gecko.animation.PropertyAnimator;
 import org.mozilla.gecko.animation.ViewHelper;
+import org.mozilla.gecko.skin.SkinConfig;
 import org.mozilla.gecko.toolbar.BrowserToolbarTabletBase.ForwardButtonAnimation;
 import org.mozilla.gecko.Experiments;
 import org.mozilla.gecko.util.HardwareUtils;
 import org.mozilla.gecko.util.StringUtils;
 import org.mozilla.gecko.util.ViewUtil;
 import org.mozilla.gecko.widget.themed.ThemedImageButton;
 import org.mozilla.gecko.widget.themed.ThemedLinearLayout;
 import org.mozilla.gecko.widget.themed.ThemedTextView;
@@ -100,17 +101,16 @@ public class ToolbarDisplayLayout extend
     private boolean mIsAttached;
 
     private final ThemedTextView mTitle;
     private final int mTitlePadding;
     private ToolbarPrefs mPrefs;
     private OnTitleChangeListener mTitleChangeListener;
 
     private final ThemedImageButton mSiteSecurity;
-
     private final ImageButton mStop;
     private OnStopListener mStopListener;
 
     private final PageActionLayout mPageActionLayout;
 
     private final SiteIdentityPopup mSiteIdentityPopup;
     private int mSecurityImageLevel;
 
@@ -165,16 +165,22 @@ public class ToolbarDisplayLayout extend
         mStop = (ImageButton) findViewById(R.id.stop);
         mPageActionLayout = (PageActionLayout) findViewById(R.id.page_action_layout);
     }
 
     @Override
     public void setPrivateMode(boolean isPrivate) {
         super.setPrivateMode(isPrivate);
         mSiteSecurity.setPrivateMode(isPrivate);
+
+        // Bug 1375351 should change class type to ThemedImageButton to avoid casting
+        if (SkinConfig.isPhoton()) {
+            ((ThemedImageButton)mStop).setPrivateMode(isPrivate);
+        }
+
         mPageActionLayout.setPrivateMode(isPrivate);
     }
 
 
     @Override
     public void onAttachedToWindow() {
         super.onAttachedToWindow();
 
@@ -422,17 +428,17 @@ public class ToolbarDisplayLayout extend
         mPageActionLayout.setVisibility(!isShowingProgress ? View.VISIBLE : View.GONE);
 
         // We want title to fill the whole space available for it when there are icons
         // being shown on the right side of the toolbar as the icons already have some
         // padding in them. This is just to avoid wasting space when icons are shown.
         mTitle.setPadding(0, 0, (!isShowingProgress ? mTitlePadding : 0), 0);
     }
 
-    List<View> getFocusOrder() {
+    List<? extends View> getFocusOrder() {
         return Arrays.asList(mSiteSecurity, mPageActionLayout, mStop);
     }
 
     void setOnStopListener(OnStopListener listener) {
         mStopListener = listener;
     }
 
     void setOnTitleChangeListener(OnTitleChangeListener listener) {