diff options
Diffstat (limited to 'src/com/android/tv/menu/MenuAction.java')
-rw-r--r-- | src/com/android/tv/menu/MenuAction.java | 69 |
1 files changed, 44 insertions, 25 deletions
diff --git a/src/com/android/tv/menu/MenuAction.java b/src/com/android/tv/menu/MenuAction.java index b4356059..0d59552a 100644 --- a/src/com/android/tv/menu/MenuAction.java +++ b/src/com/android/tv/menu/MenuAction.java @@ -20,9 +20,9 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.text.TextUtils; +import com.android.tv.MainActivity; import com.android.tv.R; import com.android.tv.TvOptionsManager; -import com.android.tv.TvOptionsManager.OptionType; /** * A class to define possible actions from main menu. @@ -36,9 +36,12 @@ public class MenuAction { public static final MenuAction SELECT_DISPLAY_MODE_ACTION = new MenuAction(R.string.options_item_display_mode, TvOptionsManager.OPTION_DISPLAY_MODE, R.drawable.ic_tvoption_aspect); + public static final MenuAction PIP_IN_APP_ACTION = + new MenuAction(R.string.options_item_pip, TvOptionsManager.OPTION_IN_APP_PIP, + R.drawable.ic_tvoption_pip); public static final MenuAction SYSTEMWIDE_PIP_ACTION = new MenuAction(R.string.options_item_pip, TvOptionsManager.OPTION_SYSTEMWIDE_PIP, - R.drawable.ic_tvoption_pip); + R.drawable.ic_pip_option_layout2); public static final MenuAction SELECT_AUDIO_LANGUAGE_ACTION = new MenuAction(R.string.options_item_multi_audio, TvOptionsManager.OPTION_MULTI_AUDIO, R.drawable.ic_tvoption_multi_track); @@ -48,36 +51,34 @@ public class MenuAction { public static final MenuAction DEV_ACTION = new MenuAction(R.string.options_item_developer, TvOptionsManager.OPTION_DEVELOPER, R.drawable.ic_developer_mode_tv_white_48dp); + // TODO: Change the icon. public static final MenuAction SETTINGS_ACTION = new MenuAction(R.string.options_item_settings, TvOptionsManager.OPTION_SETTINGS, R.drawable.ic_settings); + // Actions in the PIP option row. + public static final MenuAction PIP_SELECT_INPUT_ACTION = + new MenuAction(R.string.pip_options_item_source, TvOptionsManager.OPTION_PIP_INPUT, + R.drawable.ic_pip_option_input); + public static final MenuAction PIP_SWAP_ACTION = + new MenuAction(R.string.pip_options_item_swap, TvOptionsManager.OPTION_PIP_SWAP, + R.drawable.ic_pip_option_swap); + public static final MenuAction PIP_SOUND_ACTION = + new MenuAction(R.string.pip_options_item_sound, TvOptionsManager.OPTION_PIP_SOUND, + R.drawable.ic_pip_option_swap_audio); + public static final MenuAction PIP_LAYOUT_ACTION = + new MenuAction(R.string.pip_options_item_layout, TvOptionsManager.OPTION_PIP_LAYOUT, + R.drawable.ic_pip_option_layout1); + public static final MenuAction PIP_SIZE_ACTION = + new MenuAction(R.string.pip_options_item_size, TvOptionsManager.OPTION_PIP_SIZE, + R.drawable.ic_pip_option_size); private final String mActionName; private final int mActionNameResId; - @OptionType private final int mType; - private String mActionDescription; + private final int mType; private Drawable mDrawable; private int mDrawableResId; private boolean mEnabled = true; - /** - * Sets the action description. Returns {@code trye} if the description is changed. - */ - public static boolean setActionDescription(MenuAction action, String actionDescription) { - String oldDescription = action.mActionDescription; - action.mActionDescription = actionDescription; - return !TextUtils.equals(action.mActionDescription, oldDescription); - } - - /** - * Enables or disables the action. Returns {@code true} if the value is changed. - */ - public static boolean setEnabled(MenuAction action, boolean enabled) { - boolean changed = action.mEnabled != enabled; - action.mEnabled = enabled; - return changed; - } - public MenuAction(int actionNameResId, int type, int drawableResId) { mActionName = null; mActionNameResId = actionNameResId; @@ -101,11 +102,11 @@ public class MenuAction { return context.getString(mActionNameResId); } - public String getActionDescription() { - return mActionDescription; + public String getActionDescription(Context context) { + return ((MainActivity) context).getTvOptionsManager().getOptionString(mType); } - @OptionType public int getType() { + public int getType() { return mType; } @@ -119,10 +120,28 @@ public class MenuAction { return mDrawable; } + /** + * Sets drawable resource id. + * + * @return {@code true} if drawable is changed. + */ + public boolean setDrawableResId(int resId) { + if (mDrawableResId == resId) { + return false; + } + mDrawable = null; + mDrawableResId = resId; + return true; + } + public boolean isEnabled() { return mEnabled; } + public void setEnabled(boolean enabled) { + mEnabled = enabled; + } + public int getActionNameResId() { return mActionNameResId; } |