summaryrefslogtreecommitdiffstats
path: root/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java')
-rw-r--r--samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java101
1 files changed, 101 insertions, 0 deletions
diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java
new file mode 100644
index 000000000..c1df8a131
--- /dev/null
+++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/wizard/WizardExample2ndStepFragment.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.support.v17.leanback.supportleanbackshowcase.app.wizard;
+
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.support.annotation.NonNull;
+import android.support.v17.leanback.app.GuidedStepFragment;
+import android.support.v17.leanback.supportleanbackshowcase.R;
+import android.support.v17.leanback.widget.GuidanceStylist;
+import android.support.v17.leanback.widget.GuidedAction;
+import android.support.v17.leanback.widget.GuidedActionsStylist;
+import android.widget.Toast;
+
+import java.util.List;
+
+/**
+ * Displays the second screen of the rental wizard which requires the user to confirm his purchase.
+ */
+public class WizardExample2ndStepFragment extends WizardExampleBaseStepFragment {
+
+ private static final String ARG_HD = "hd";
+ private static final int ACTION_ID_CONFIRM = 1;
+ private static final int ACTION_ID_PAYMENT_METHOD = ACTION_ID_CONFIRM + 1;
+
+ public static GuidedStepFragment build(boolean hd, WizardExampleBaseStepFragment previousFragment) {
+ GuidedStepFragment fragment = new WizardExample2ndStepFragment();
+ // Reuse the same arguments this fragment was given.
+ Bundle args = previousFragment.getArguments();
+ args.putBoolean(ARG_HD, hd);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @NonNull
+ @Override
+ public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {
+ GuidanceStylist.Guidance guidance = new GuidanceStylist.Guidance(mMovie.getTitle(),
+ getString(R.string.wizard_example_rental_period),
+ mMovie.getBreadcrump(), null);
+ return guidance;
+
+ }
+
+ @Override
+ public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
+ boolean rentHighDefinition = getArguments().getBoolean(ARG_HD);
+
+ GuidedAction action = new GuidedAction.Builder()
+ .id(ACTION_ID_CONFIRM)
+ .title(getString(R.string.wizard_example_rent))
+ .description(rentHighDefinition ? mMovie.getPriceHd() : mMovie.getPriceSd())
+ .editable(false)
+ .build();
+ actions.add(action);
+ action = new GuidedAction.Builder()
+ .id(ACTION_ID_PAYMENT_METHOD)
+ .title(getString(R.string.wizard_example_payment_method))
+ .editTitle("")
+ .description(getString(R.string.wizard_example_input_credit))
+ .editable(true)
+ .build();
+ actions.add(action);
+ }
+
+ @Override
+ public void onGuidedActionEdited(GuidedAction action) {
+ CharSequence editTitle = action.getEditTitle();
+ if (TextUtils.isDigitsOnly(editTitle) && editTitle.length() == 16) {
+ action.setDescription(getString(R.string.wizard_example_visa,
+ editTitle.subSequence(editTitle.length() - 4, editTitle.length())));
+ } else if (editTitle.length() == 0) {
+ action.setDescription(getString(R.string.wizard_example_input_credit));
+ } else {
+ action.setDescription(getString(R.string.wizard_example_input_credit_wrong));
+ }
+ }
+
+ @Override
+ public void onGuidedActionClicked(GuidedAction action) {
+ if (ACTION_ID_CONFIRM == action.getId()) {
+ GuidedStepFragment fragment = new WizardExample3rdStepFragment();
+ fragment.setArguments(getArguments());
+ add(getFragmentManager(), fragment);
+ }
+ }
+}