Bug 1379066 - 9. Add mask to Toolbar for lightweight theme draft
authorJulian_Chu <walkingice0204@gmail.com>
Fri, 07 Jul 2017 15:47:22 +0800
changeset 605254 cdfa93819ee41796858be0bf054310b5cae8f02a
parent 605253 639fca3f7a1af4b084a99d5707b9a3c531d1589a
child 605255 a8b46f644001685ec4550b7328ca4329037065ed
push id67338
push userbmo:walkingice0204@gmail.com
push dateFri, 07 Jul 2017 08:41:46 +0000
bugs1379066
milestone56.0a1
Bug 1379066 - 9. Add mask to Toolbar for lightweight theme According to our current design, to add a semi-transparent mask on Toolbar if lightweight theme is enabled, regardless it is light or dark. We don't know its benefit so far. Just give a try. MozReview-Commit-ID: 2Pbt4zgpApj
mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/BrowserToolbar.java
@@ -4,16 +4,18 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.toolbar;
 
 import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.List;
 
+import android.graphics.Color;
+import android.graphics.PorterDuff;
 import android.support.annotation.Nullable;
 import android.support.v4.content.ContextCompat;
 import org.mozilla.gecko.AppConstants.Versions;
 import org.mozilla.gecko.BrowserApp;
 import org.mozilla.gecko.GeckoAppShell;
 import org.mozilla.gecko.GeckoSharedPrefs;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.SiteIdentity;
@@ -25,16 +27,17 @@ import org.mozilla.gecko.TouchEventInter
 import org.mozilla.gecko.animation.PropertyAnimator;
 import org.mozilla.gecko.animation.PropertyAnimator.PropertyAnimationListener;
 import org.mozilla.gecko.animation.ViewHelper;
 import org.mozilla.gecko.lwt.LightweightTheme;
 import org.mozilla.gecko.lwt.LightweightThemeDrawable;
 import org.mozilla.gecko.menu.GeckoMenu;
 import org.mozilla.gecko.menu.MenuPopup;
 import org.mozilla.gecko.preferences.GeckoPreferences;
+import org.mozilla.gecko.skin.SkinConfig;
 import org.mozilla.gecko.tabs.TabHistoryController;
 import org.mozilla.gecko.toolbar.ToolbarDisplayLayout.OnStopListener;
 import org.mozilla.gecko.toolbar.ToolbarDisplayLayout.OnTitleChangeListener;
 import org.mozilla.gecko.toolbar.ToolbarDisplayLayout.UpdateFlags;
 import org.mozilla.gecko.util.Clipboard;
 import org.mozilla.gecko.util.HardwareUtils;
 import org.mozilla.gecko.util.MenuUtils;
 import org.mozilla.gecko.widget.themed.ThemedImageButton;
@@ -903,16 +906,22 @@ public abstract class BrowserToolbar ext
 
     @Override
     public void onLightweightThemeChanged() {
         final Drawable drawable = getLWTDefaultStateSetDrawable();
         if (drawable == null) {
             return;
         }
 
+        if (SkinConfig.isPhoton()) {
+            // Put a mask(#B2FFFFFF) over the drawable.
+            drawable.setColorFilter(Color.argb(178, 255, 255, 255), PorterDuff.Mode.SRC_OVER);
+        }
+
+
         final StateListDrawable stateList = new StateListDrawable();
         stateList.addState(PRIVATE_STATE_SET, getColorDrawable(R.color.tabs_tray_grey_pressed));
         stateList.addState(EMPTY_STATE_SET, drawable);
 
         setBackgroundDrawable(stateList);
     }
 
     public void setTouchEventInterceptor(TouchEventInterceptor interceptor) {