Loading api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -696,6 +696,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -44595,6 +44597,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -44622,6 +44626,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int); api/system-current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -809,6 +809,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -48048,6 +48050,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -48075,6 +48079,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int); api/test-current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -696,6 +696,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -44955,6 +44957,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -44982,6 +44986,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int); core/java/android/view/MenuInflater.java +29 −0 Original line number Diff line number Diff line Loading @@ -20,8 +20,11 @@ import android.annotation.MenuRes; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; import android.util.Xml; Loading Loading @@ -304,6 +307,8 @@ public class MenuInflater { private CharSequence itemTitle; private CharSequence itemTitleCondensed; private int itemIconResId; private ColorStateList itemIconTintList = null; private PorterDuff.Mode itemIconTintMode = null; private char itemAlphabeticShortcut; private int itemAlphabeticModifiers; private char itemNumericShortcut; Loading Loading @@ -395,6 +400,22 @@ public class MenuInflater { itemTitle = a.getText(com.android.internal.R.styleable.MenuItem_title); itemTitleCondensed = a.getText(com.android.internal.R.styleable.MenuItem_titleCondensed); itemIconResId = a.getResourceId(com.android.internal.R.styleable.MenuItem_icon, 0); if (a.hasValue(com.android.internal.R.styleable.MenuItem_iconTintMode)) { itemIconTintMode = Drawable.parseTintMode(a.getInt( com.android.internal.R.styleable.MenuItem_iconTintMode, -1), itemIconTintMode); } else { // Reset to null so that it's not carried over to the next item itemIconTintMode = null; } if (a.hasValue(com.android.internal.R.styleable.MenuItem_iconTint)) { itemIconTintList = a.getColorStateList( com.android.internal.R.styleable.MenuItem_iconTint); } else { // Reset to null so that it's not carried over to the next item itemIconTintList = null; } itemAlphabeticShortcut = getShortcut(a.getString(com.android.internal.R.styleable.MenuItem_alphabeticShortcut)); itemAlphabeticModifiers = Loading Loading @@ -466,6 +487,14 @@ public class MenuInflater { item.setShowAsAction(itemShowAsAction); } if (itemIconTintMode != null) { item.setIconTintMode(itemIconTintMode); } if (itemIconTintList != null) { item.setIconTintList(itemIconTintList); } if (itemListenerMethodName != null) { if (mContext.isRestricted()) { throw new IllegalStateException("The android:onClick attribute cannot " Loading core/java/android/view/MenuItem.java +55 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ package android.view; import android.annotation.DrawableRes; import android.annotation.LayoutRes; import android.annotation.Nullable; import android.annotation.StringRes; import android.app.Activity; import android.content.Intent; import android.content.res.ColorStateList; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnCreateContextMenuListener; Loading Loading @@ -221,12 +224,63 @@ public interface MenuItem { /** * Returns the icon for this item as a Drawable (getting it from resources if it hasn't been * loaded before). * loaded before). Note that if you call {@link #setIconTintList(ColorStateList)} or * {@link #setIconTintMode(PorterDuff.Mode)} on this item, and you use a custom menu presenter * in your application, you have to apply the tinting explicitly on the {@link Drawable} * returned by this method. * * @return The icon as a Drawable. */ public Drawable getIcon(); /** * Applies a tint to this item's icon. Does not modify the * current tint mode, which is {@link PorterDuff.Mode#SRC_IN} by default. * <p> * Subsequent calls to {@link #setIcon(Drawable)} or {@link #setIcon(int)} will * automatically mutate the icon and apply the specified tint and * tint mode using * {@link Drawable#setTintList(ColorStateList)}. * * @param tint the tint to apply, may be {@code null} to clear tint * * @attr ref android.R.styleable#MenuItem_iconTint * @see #getIconTintList() * @see Drawable#setTintList(ColorStateList) */ public default MenuItem setIconTintList(@Nullable ColorStateList tint) { return this; } /** * @return the tint applied to this item's icon * @attr ref android.R.styleable#MenuItem_iconTint * @see #setIconTintList(ColorStateList) */ @Nullable public default ColorStateList getIconTintList() { return null; } /** * Specifies the blending mode used to apply the tint specified by * {@link #setIconTintList(ColorStateList)} to this item's icon. The default mode is * {@link PorterDuff.Mode#SRC_IN}. * * @param tintMode the blending mode used to apply the tint, may be * {@code null} to clear tint * @attr ref android.R.styleable#MenuItem_iconTintMode * @see #setIconTintList(ColorStateList) * @see Drawable#setTintMode(PorterDuff.Mode) */ public default MenuItem setIconTintMode(@Nullable PorterDuff.Mode tintMode) { return this; } /** * Returns the blending mode used to apply the tint to this item's icon, if specified. * * @return the blending mode used to apply the tint to this item's icon * @attr ref android.R.styleable#MenuItem_iconTintMode * @see #setIconTintMode(PorterDuff.Mode) */ @Nullable public default PorterDuff.Mode getIconTintMode() { return null; } /** * Change the Intent associated with this item. By default there is no * Intent associated with a menu item. If you set one, and nothing Loading Loading
api/current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -696,6 +696,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -44595,6 +44597,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -44622,6 +44626,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int);
api/system-current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -809,6 +809,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -48048,6 +48050,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -48075,6 +48079,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int);
api/test-current.txt +6 −0 Original line number Diff line number Diff line Loading @@ -696,6 +696,8 @@ package android { field public static final int hyphenationFrequency = 16843998; // 0x10104de field public static final int icon = 16842754; // 0x1010002 field public static final int iconPreview = 16843337; // 0x1010249 field public static final int iconTint = 16844129; // 0x1010561 field public static final int iconTintMode = 16844130; // 0x1010562 field public static final int iconifiedByDefault = 16843514; // 0x10102fa field public static final int id = 16842960; // 0x10100d0 field public static final int ignoreGravity = 16843263; // 0x10101ff Loading Loading @@ -44955,6 +44957,8 @@ package android.view { method public default java.lang.CharSequence getContentDescription(); method public abstract int getGroupId(); method public abstract android.graphics.drawable.Drawable getIcon(); method public default android.content.res.ColorStateList getIconTintList(); method public default android.graphics.PorterDuff.Mode getIconTintMode(); method public abstract android.content.Intent getIntent(); method public abstract int getItemId(); method public abstract android.view.ContextMenu.ContextMenuInfo getMenuInfo(); Loading Loading @@ -44982,6 +44986,8 @@ package android.view { method public abstract android.view.MenuItem setEnabled(boolean); method public abstract android.view.MenuItem setIcon(android.graphics.drawable.Drawable); method public abstract android.view.MenuItem setIcon(int); method public default android.view.MenuItem setIconTintList(android.content.res.ColorStateList); method public default android.view.MenuItem setIconTintMode(android.graphics.PorterDuff.Mode); method public abstract android.view.MenuItem setIntent(android.content.Intent); method public abstract android.view.MenuItem setNumericShortcut(char); method public default android.view.MenuItem setNumericShortcut(char, int);
core/java/android/view/MenuInflater.java +29 −0 Original line number Diff line number Diff line Loading @@ -20,8 +20,11 @@ import android.annotation.MenuRes; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.content.res.XmlResourceParser; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; import android.util.Xml; Loading Loading @@ -304,6 +307,8 @@ public class MenuInflater { private CharSequence itemTitle; private CharSequence itemTitleCondensed; private int itemIconResId; private ColorStateList itemIconTintList = null; private PorterDuff.Mode itemIconTintMode = null; private char itemAlphabeticShortcut; private int itemAlphabeticModifiers; private char itemNumericShortcut; Loading Loading @@ -395,6 +400,22 @@ public class MenuInflater { itemTitle = a.getText(com.android.internal.R.styleable.MenuItem_title); itemTitleCondensed = a.getText(com.android.internal.R.styleable.MenuItem_titleCondensed); itemIconResId = a.getResourceId(com.android.internal.R.styleable.MenuItem_icon, 0); if (a.hasValue(com.android.internal.R.styleable.MenuItem_iconTintMode)) { itemIconTintMode = Drawable.parseTintMode(a.getInt( com.android.internal.R.styleable.MenuItem_iconTintMode, -1), itemIconTintMode); } else { // Reset to null so that it's not carried over to the next item itemIconTintMode = null; } if (a.hasValue(com.android.internal.R.styleable.MenuItem_iconTint)) { itemIconTintList = a.getColorStateList( com.android.internal.R.styleable.MenuItem_iconTint); } else { // Reset to null so that it's not carried over to the next item itemIconTintList = null; } itemAlphabeticShortcut = getShortcut(a.getString(com.android.internal.R.styleable.MenuItem_alphabeticShortcut)); itemAlphabeticModifiers = Loading Loading @@ -466,6 +487,14 @@ public class MenuInflater { item.setShowAsAction(itemShowAsAction); } if (itemIconTintMode != null) { item.setIconTintMode(itemIconTintMode); } if (itemIconTintList != null) { item.setIconTintList(itemIconTintList); } if (itemListenerMethodName != null) { if (mContext.isRestricted()) { throw new IllegalStateException("The android:onClick attribute cannot " Loading
core/java/android/view/MenuItem.java +55 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ package android.view; import android.annotation.DrawableRes; import android.annotation.LayoutRes; import android.annotation.Nullable; import android.annotation.StringRes; import android.app.Activity; import android.content.Intent; import android.content.res.ColorStateList; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnCreateContextMenuListener; Loading Loading @@ -221,12 +224,63 @@ public interface MenuItem { /** * Returns the icon for this item as a Drawable (getting it from resources if it hasn't been * loaded before). * loaded before). Note that if you call {@link #setIconTintList(ColorStateList)} or * {@link #setIconTintMode(PorterDuff.Mode)} on this item, and you use a custom menu presenter * in your application, you have to apply the tinting explicitly on the {@link Drawable} * returned by this method. * * @return The icon as a Drawable. */ public Drawable getIcon(); /** * Applies a tint to this item's icon. Does not modify the * current tint mode, which is {@link PorterDuff.Mode#SRC_IN} by default. * <p> * Subsequent calls to {@link #setIcon(Drawable)} or {@link #setIcon(int)} will * automatically mutate the icon and apply the specified tint and * tint mode using * {@link Drawable#setTintList(ColorStateList)}. * * @param tint the tint to apply, may be {@code null} to clear tint * * @attr ref android.R.styleable#MenuItem_iconTint * @see #getIconTintList() * @see Drawable#setTintList(ColorStateList) */ public default MenuItem setIconTintList(@Nullable ColorStateList tint) { return this; } /** * @return the tint applied to this item's icon * @attr ref android.R.styleable#MenuItem_iconTint * @see #setIconTintList(ColorStateList) */ @Nullable public default ColorStateList getIconTintList() { return null; } /** * Specifies the blending mode used to apply the tint specified by * {@link #setIconTintList(ColorStateList)} to this item's icon. The default mode is * {@link PorterDuff.Mode#SRC_IN}. * * @param tintMode the blending mode used to apply the tint, may be * {@code null} to clear tint * @attr ref android.R.styleable#MenuItem_iconTintMode * @see #setIconTintList(ColorStateList) * @see Drawable#setTintMode(PorterDuff.Mode) */ public default MenuItem setIconTintMode(@Nullable PorterDuff.Mode tintMode) { return this; } /** * Returns the blending mode used to apply the tint to this item's icon, if specified. * * @return the blending mode used to apply the tint to this item's icon * @attr ref android.R.styleable#MenuItem_iconTintMode * @see #setIconTintMode(PorterDuff.Mode) */ @Nullable public default PorterDuff.Mode getIconTintMode() { return null; } /** * Change the Intent associated with this item. By default there is no * Intent associated with a menu item. If you set one, and nothing Loading