aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/menu/MenuAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/tv/menu/MenuAction.java')
-rw-r--r--src/com/android/tv/menu/MenuAction.java69
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;
}