diff options
author | Kris Giesing <kgiesing@google.com> | 2015-05-22 14:35:36 -0700 |
---|---|---|
committer | Kris Giesing <kgiesing@google.com> | 2015-08-05 19:46:21 -0700 |
commit | 6a07105bcdb5ae0f424f20c526454a7bccd1baa5 (patch) | |
tree | 436f9bd319d5a78455b556eb9eaff73bc94450d8 /samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java | |
parent | fd1172e111ecc8bd64f44abc0c4349648d840044 (diff) | |
download | android_development-6a07105bcdb5ae0f424f20c526454a7bccd1baa5.tar.gz android_development-6a07105bcdb5ae0f424f20c526454a7bccd1baa5.tar.bz2 android_development-6a07105bcdb5ae0f424f20c526454a7bccd1baa5.zip |
Add editable actions to Guided Step test activity.
b/21403345
Change-Id: I29ffee64c54f44d80cbfcd62bd3a1b78f22ae117
Diffstat (limited to 'samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java')
-rw-r--r-- | samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java | 84 |
1 files changed, 76 insertions, 8 deletions
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java index 1f9e96c8c..1c1928283 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java @@ -20,15 +20,18 @@ import android.app.Activity; import android.app.FragmentManager; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v17.leanback.app.GuidedStepFragment; import android.support.v17.leanback.widget.GuidedAction; import android.support.v17.leanback.widget.GuidanceStylist; import android.support.v17.leanback.widget.GuidanceStylist.Guidance; +import android.util.Log; +import android.view.ViewGroup; +import android.view.ViewTreeObserver.OnGlobalLayoutListener; import java.util.List; -import java.util.ArrayList; /** * Activity that showcases different aspects of GuidedStepFragments. @@ -38,6 +41,9 @@ public class GuidedStepActivity extends Activity { private static final int CONTINUE = 1; private static final int BACK = 2; + private static final int FIRST_NAME = 1; + private static final int LAST_NAME = 2; + private static final int OPTION_CHECK_SET_ID = 10; private static final int DEFAULT_OPTION = 0; private static final String[] OPTION_NAMES = { "Option A", "Option B", "Option C" }; @@ -46,10 +52,36 @@ public class GuidedStepActivity extends Activity { private static final int[] OPTION_DRAWABLES = { R.drawable.ic_guidedstep_option_a, R.drawable.ic_guidedstep_option_b, R.drawable.ic_guidedstep_option_c }; + private static final String TAG = GuidedStepActivity.class.getSimpleName(); + @Override protected void onCreate(Bundle savedInstanceState) { + Log.v(TAG, "onCreate"); super.onCreate(savedInstanceState); GuidedStepFragment.add(getFragmentManager(), new FirstStepFragment()); + getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { + @Override public void onGlobalLayout() { + //Log.v(TAG, "onGlobalLayout", new Exception()); + } + }); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + Log.v(TAG, "onConfigurationChanged"); + super.onConfigurationChanged(newConfig); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + Log.v(TAG, "onSaveInstanceState"); + super.onSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + Log.v(TAG, "onRestoreInstanceState"); + super.onRestoreInstanceState(savedInstanceState); } private static void addAction(List<GuidedAction> actions, long id, String title, String desc) { @@ -60,6 +92,15 @@ public class GuidedStepActivity extends Activity { .build()); } + private static void addEditableAction(List<GuidedAction> actions, long id, String title, String desc) { + actions.add(new GuidedAction.Builder() + .id(id) + .title(title) + .description(desc) + .editable(true) + .build()); + } + private static void addCheckedAction(List<GuidedAction> actions, int iconResId, Context context, String title, String desc) { actions.add(new GuidedAction.Builder() @@ -107,8 +148,6 @@ public class GuidedStepActivity extends Activity { private static class SecondStepFragment extends GuidedStepFragment { - private int mSelectedOption = DEFAULT_OPTION; - @Override public Guidance onCreateGuidance(Bundle savedInstanceState) { String title = getString(R.string.guidedstep_second_title); @@ -119,6 +158,35 @@ public class GuidedStepActivity extends Activity { } @Override + public void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) { + addEditableAction(actions, FIRST_NAME, "Pat", "Your first name"); + addEditableAction(actions, LAST_NAME, "Smith", "Your last name"); + } + + @Override + public void onGuidedActionClicked(GuidedAction action) { + if (action.getId() == LAST_NAME) { + FragmentManager fm = getFragmentManager(); + GuidedStepFragment.add(fm, new ThirdStepFragment()); + } + } + + } + + private static class ThirdStepFragment extends GuidedStepFragment { + + private int mSelectedOption = DEFAULT_OPTION; + + @Override + public Guidance onCreateGuidance(Bundle savedInstanceState) { + String title = getString(R.string.guidedstep_third_title); + String breadcrumb = getString(R.string.guidedstep_third_breadcrumb); + String description = getString(R.string.guidedstep_third_description); + Drawable icon = getActivity().getDrawable(R.drawable.ic_main_icon); + return new Guidance(title, description, breadcrumb, icon); + } + + @Override public GuidanceStylist onCreateGuidanceStylist() { return new GuidanceStylist() { @Override @@ -153,7 +221,7 @@ public class GuidedStepActivity extends Activity { public void onGuidedActionClicked(GuidedAction action) { if (action.getId() == CONTINUE) { FragmentManager fm = getFragmentManager(); - GuidedStepFragment.add(fm, new ThirdStepFragment(mSelectedOption)); + GuidedStepFragment.add(fm, new FourthStepFragment(mSelectedOption)); } else { mSelectedOption = getSelectedActionPosition()-1; } @@ -161,17 +229,17 @@ public class GuidedStepActivity extends Activity { } - private static class ThirdStepFragment extends GuidedStepFragment { + private static class FourthStepFragment extends GuidedStepFragment { private final int mOption; - public ThirdStepFragment(int option) { + public FourthStepFragment(int option) { mOption = option; } @Override public Guidance onCreateGuidance(Bundle savedInstanceState) { - String title = getString(R.string.guidedstep_third_title); - String breadcrumb = getString(R.string.guidedstep_third_breadcrumb); + String title = getString(R.string.guidedstep_fourth_title); + String breadcrumb = getString(R.string.guidedstep_fourth_breadcrumb); String description = "You chose: " + OPTION_NAMES[mOption]; Drawable icon = getActivity().getDrawable(R.drawable.ic_main_icon); return new Guidance(title, description, breadcrumb, icon); |