Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java |
index f3b0b10e4716a2c25ebf8ef8fe795bcff81fa94a..47b3980e347b0d320177ba1da1dbf457db3590f2 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java |
@@ -6,12 +6,14 @@ package org.chromium.chrome.browser.appmenu; |
import android.content.Context; |
import android.util.AttributeSet; |
-import android.widget.ImageView; |
+import android.widget.Checkable; |
+ |
+import org.chromium.chrome.browser.widget.TintedImageView; |
/** |
- * A menu icon that supports the checkable state. |
+ * A TintedImageView that supports the checkable state. |
*/ |
-public class AppMenuItemIcon extends ImageView { |
+public class AppMenuItemIcon extends TintedImageView implements Checkable { |
private static final int[] CHECKED_STATE_SET = new int[] {android.R.attr.state_checked}; |
private boolean mCheckedState; |
@@ -19,22 +21,13 @@ public class AppMenuItemIcon extends ImageView { |
super(context, attrs); |
} |
- /** |
- * Sets whether the item is checked and refreshes the View if necessary. |
- */ |
- protected void setChecked(boolean state) { |
+ @Override |
+ public void setChecked(boolean state) { |
if (state == mCheckedState) return; |
mCheckedState = state; |
refreshDrawableState(); |
} |
- @Override |
- public void setPressed(boolean state) { |
- // We don't want to highlight the checkbox icon since the parent item is already |
- // highlighted. |
- return; |
- } |
- |
@Override |
public int[] onCreateDrawableState(int extraSpace) { |
final int[] drawableState = super.onCreateDrawableState(extraSpace + 1); |
@@ -43,4 +36,14 @@ public class AppMenuItemIcon extends ImageView { |
} |
return drawableState; |
} |
+ |
+ @Override |
+ public boolean isChecked() { |
+ return mCheckedState; |
+ } |
+ |
+ @Override |
+ public void toggle() { |
+ setChecked(!mCheckedState); |
+ } |
} |