131475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn/*
231475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * Copyright (C) 2015 The Android Open Source Project
331475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn *
431475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
531475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * in compliance with the License. You may obtain a copy of the License at
631475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn *
731475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * http://www.apache.org/licenses/LICENSE-2.0
831475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn *
931475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * Unless required by applicable law or agreed to in writing, software distributed under the License
1031475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
1131475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * or implied. See the License for the specific language governing permissions and limitations under
1231475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn * the License.
1331475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn */
1431475959eb09fd873551909dd21d00304b6a4ee9Robert Hahn
15ad31f63f5843898de645f6ee1ac244c872ded8ccRobert Hahnpackage android.support.v17.leanback.supportleanbackshowcase.app.wizard;
1686163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
17c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiriimport android.content.Intent;
1886163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport android.os.Bundle;
1986163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport android.support.annotation.NonNull;
20ad31f63f5843898de645f6ee1ac244c872ded8ccRobert Hahnimport android.support.v17.leanback.supportleanbackshowcase.R;
21c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiriimport android.support.v17.leanback.supportleanbackshowcase.app.media.VideoExampleActivity;
2286163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport android.support.v17.leanback.widget.GuidanceStylist;
2386163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport android.support.v17.leanback.widget.GuidedAction;
24c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiriimport android.support.v4.app.ActivityOptionsCompat;
2586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport android.widget.Toast;
2686163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
2786163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnimport java.util.List;
2886163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
2986163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn/**
30ce0ee60535b13af96b3d7e8d6d8b47d42cb8e171Robert Hahn * The last screen of the Wizard gives to options to either watch the rented movie now or later. Due
31ce0ee60535b13af96b3d7e8d6d8b47d42cb8e171Robert Hahn * to keep this example simple and focused on the usage of the GuidedStepFragment, clicking on
32ce0ee60535b13af96b3d7e8d6d8b47d42cb8e171Robert Hahn * either action will end the wizard. You might however start a new Activity playing the movie.
3386163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn */
3486163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahnpublic class WizardExample4thStepFragment extends WizardExampleBaseStepFragment {
3586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
3686163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    private static final int ACTION_ID_WATCH = 1;
3786163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    private static final int ACTION_ID_LATER = ACTION_ID_WATCH + 1;
3886163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
3986163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    @NonNull
4086163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    @Override
4186163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {
4286163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn        GuidanceStylist.Guidance guidance = new GuidanceStylist.Guidance(mMovie.getTitle(),
4386163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                getString(R.string.wizard_example_rental_period),
4486163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                mMovie.getBreadcrump(), null);
4586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn        return guidance;
4686163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    }
4786163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
4886163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    @Override
4986163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
503150f42b1391b1b8c35987758b3cee72ef3e8747Keyvan Amiri        GuidedAction action = new GuidedAction.Builder(getActivity())
5186163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                .id(ACTION_ID_WATCH)
5222f51aab96c6bb84d0ad3d5aa81afd0ca9d9002fRobert Hahn                .editable(false)
533150f42b1391b1b8c35987758b3cee72ef3e8747Keyvan Amiri                .title(R.string.wizard_example_watch_now)
5486163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                .build();
5586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn        actions.add(action);
563150f42b1391b1b8c35987758b3cee72ef3e8747Keyvan Amiri        action = new GuidedAction.Builder(getActivity())
5786163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                .id(ACTION_ID_LATER)
5822f51aab96c6bb84d0ad3d5aa81afd0ca9d9002fRobert Hahn                .editable(false)
593150f42b1391b1b8c35987758b3cee72ef3e8747Keyvan Amiri                .title(R.string.wizard_example_later)
6086163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                .build();
6186163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn        actions.add(action);
6286163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    }
6386163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn
6486163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    @Override
6586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    public void onGuidedActionClicked(GuidedAction action) {
66c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri        if (action.getId() == ACTION_ID_WATCH) {
67c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri            finishGuidedStepFragments();
68c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri            Intent intent = new Intent(getActivity().getBaseContext(),
69c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri                    VideoExampleActivity.class);
70c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri            startActivity(intent);
71c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri        } else if (action.getId() == ACTION_ID_LATER) {
72c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri            Toast.makeText(getActivity(), getString(R.string.wizard_example_later_clicked),
7386163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn                    Toast.LENGTH_SHORT).show();
74c983e784ee9c5617190c3f6dcbd4eb8237f34914Keyvan Amiri            finishGuidedStepFragments();
7586163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn        }
7686163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn    }
7786163d539e1aeb9ae7612def7aaf7dbfc5b88f28Robert Hahn}
78