Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4156)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuItemIcon.java

Issue 2951133003: Clean up tinted ImageView subclasses (Closed)
Patch Set: Comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698