| OLD | NEW |
| 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
| 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
| 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 4 | 4 |
| 5 package org.mozilla.gecko.toolbar; | 5 package org.mozilla.gecko.toolbar; |
| 6 | 6 |
| 7 import org.mozilla.gecko.R; | 7 import org.mozilla.gecko.R; |
| 8 import org.mozilla.gecko.lwt.LightweightThemeDrawable; | 8 import org.mozilla.gecko.lwt.LightweightThemeDrawable; |
| 9 import org.mozilla.gecko.util.ColorUtils; | 9 import org.mozilla.gecko.util.ColorUtils; |
| 10 import org.mozilla.gecko.widget.themed.ThemedFrameLayout; | 10 import org.mozilla.gecko.widget.themed.ThemedFrameLayout; |
| 11 | 11 |
| 12 import android.content.Context; | 12 import android.content.Context; |
| 13 import android.graphics.drawable.Drawable; | 13 import android.graphics.drawable.Drawable; |
| 14 import android.graphics.drawable.StateListDrawable; | 14 import android.graphics.drawable.StateListDrawable; |
| 15 import android.util.AttributeSet; | 15 import android.util.AttributeSet; |
| 16 | 16 |
| 17 /** A FrameLayout with lightweight theme support. Note that {@link ShapedButton}
's lwt support is basically the same so | 17 /** A FrameLayout with lightweight theme support. Note that {@link ShapedButton}
's lwt support is basically the same so |
| 18 * if you change it here, you should probably change it there. Note also that th
is doesn't have ShapedButton's path code | 18 * if you change it here, you should probably change it there. Note also that th
is doesn't have ShapedButton's path code |
| 19 * so shouldn't have "ShapedButton" in the name, but I wanted to make the connec
tion apparent so I left it. | 19 * so shouldn't have "ShapedButton" in the name, but I wanted to make the connec
tion apparent so I left it. |
| 20 */ | 20 */ |
| 21 public class ShapedButtonFrameLayout extends ThemedFrameLayout { | 21 public class ShapedButtonFrameLayout extends ThemedFrameLayout { |
| 22 | 22 |
| 23 public ShapedButtonFrameLayout(Context context, AttributeSet attrs) { | 23 public ShapedButtonFrameLayout(Context context, AttributeSet attrs) { |
| 24 super(context, attrs); | 24 super(context, attrs); |
| 25 } | 25 } |
| 26 | 26 |
| 27 // The drawable is constructed as per @drawable/shaped_button. | 27 // The drawable is constructed as per @drawable/shaped_button. |
| 28 @Override | 28 @Override |
| 29 public void onLightweightThemeChanged() { | 29 public void onLightweightThemeChanged() { |
| 30 final int background = ColorUtils.getColor(getContext(), R.color.text_an
d_tabs_tray_grey); | 30 // Using ABB color palette. See https://issues.adblockplus.org/ticket/37
69 |
| 31 final int background = ColorUtils.getColor(getContext(), R.color.abb_bac
kground_light_grey); |
| 31 final LightweightThemeDrawable lightWeight = getTheme().getColorDrawable
(this, background); | 32 final LightweightThemeDrawable lightWeight = getTheme().getColorDrawable
(this, background); |
| 32 | 33 |
| 33 if (lightWeight == null) | 34 if (lightWeight == null) |
| 34 return; | 35 return; |
| 35 | 36 |
| 36 lightWeight.setAlpha(34, 34); | 37 lightWeight.setAlpha(34, 34); |
| 37 | 38 |
| 38 final StateListDrawable stateList = new StateListDrawable(); | 39 final StateListDrawable stateList = new StateListDrawable(); |
| 39 stateList.addState(PRESSED_ENABLED_STATE_SET, getColorDrawable(R.color.h
ighlight_shaped)); | 40 stateList.addState(PRESSED_ENABLED_STATE_SET, getColorDrawable(R.color.h
ighlight_shaped)); |
| 40 stateList.addState(FOCUSED_STATE_SET, getColorDrawable(R.color.highlight
_shaped_focused)); | 41 stateList.addState(FOCUSED_STATE_SET, getColorDrawable(R.color.highlight
_shaped_focused)); |
| 41 stateList.addState(PRIVATE_STATE_SET, getColorDrawable(R.color.text_and_
tabs_tray_grey)); | 42 // Using ABB color palette. See https://issues.adblockplus.org/ticket/37
69 |
| 43 stateList.addState(PRIVATE_STATE_SET, getColorDrawable(R.color.abb_backg
round_light_grey)); |
| 42 stateList.addState(EMPTY_STATE_SET, lightWeight); | 44 stateList.addState(EMPTY_STATE_SET, lightWeight); |
| 43 | 45 |
| 44 setBackgroundDrawable(stateList); | 46 setBackgroundDrawable(stateList); |
| 45 } | 47 } |
| 46 | 48 |
| 47 @Override | 49 @Override |
| 48 public void onLightweightThemeReset() { | 50 public void onLightweightThemeReset() { |
| 49 setBackgroundResource(R.drawable.shaped_button); | 51 setBackgroundResource(R.drawable.shaped_button); |
| 50 } | 52 } |
| 51 | 53 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 65 super.setBackgroundDrawable(drawable); | 67 super.setBackgroundDrawable(drawable); |
| 66 | 68 |
| 67 setPadding(padding[0], padding[1], padding[2], padding[3]); | 69 setPadding(padding[0], padding[1], padding[2], padding[3]); |
| 68 } | 70 } |
| 69 | 71 |
| 70 @Override | 72 @Override |
| 71 public void setBackgroundResource(int resId) { | 73 public void setBackgroundResource(int resId) { |
| 72 setBackgroundDrawable(getResources().getDrawable(resId)); | 74 setBackgroundDrawable(getResources().getDrawable(resId)); |
| 73 } | 75 } |
| 74 } | 76 } |
| OLD | NEW |