1cc671dd3caac1d0cbf3f6999ab063c9ff1f297b2Dake Gu// CHECKSTYLE:OFF Generated code
220767a171ab46addb5d50248d4267db14c0c8883susnata/* This file is auto-generated from GuidedStepHalfScreenActivity.java.  DO NOT MODIFY. */
320767a171ab46addb5d50248d4267db14c0c8883susnata
420767a171ab46addb5d50248d4267db14c0c8883susnata/*
520767a171ab46addb5d50248d4267db14c0c8883susnata * Copyright (C) 2014 The Android Open Source Project
620767a171ab46addb5d50248d4267db14c0c8883susnata *
720767a171ab46addb5d50248d4267db14c0c8883susnata * Licensed under the Apache License, Version 2.0 (the "License");
820767a171ab46addb5d50248d4267db14c0c8883susnata * you may not use this file except in compliance with the License.
920767a171ab46addb5d50248d4267db14c0c8883susnata * You may obtain a copy of the License at
1020767a171ab46addb5d50248d4267db14c0c8883susnata *
1120767a171ab46addb5d50248d4267db14c0c8883susnata *      http://www.apache.org/licenses/LICENSE-2.0
1220767a171ab46addb5d50248d4267db14c0c8883susnata *
1320767a171ab46addb5d50248d4267db14c0c8883susnata * Unless required by applicable law or agreed to in writing, software
1420767a171ab46addb5d50248d4267db14c0c8883susnata * distributed under the License is distributed on an "AS IS" BASIS,
1520767a171ab46addb5d50248d4267db14c0c8883susnata * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1620767a171ab46addb5d50248d4267db14c0c8883susnata * See the License for the specific language governing permissions and
1720767a171ab46addb5d50248d4267db14c0c8883susnata * limitations under the License.
1820767a171ab46addb5d50248d4267db14c0c8883susnata */
1920767a171ab46addb5d50248d4267db14c0c8883susnata
2020767a171ab46addb5d50248d4267db14c0c8883susnatapackage com.example.android.leanback;
2120767a171ab46addb5d50248d4267db14c0c8883susnata
2220767a171ab46addb5d50248d4267db14c0c8883susnataimport android.content.Context;
2320767a171ab46addb5d50248d4267db14c0c8883susnataimport android.graphics.drawable.Drawable;
2420767a171ab46addb5d50248d4267db14c0c8883susnataimport android.os.Bundle;
25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport android.util.Log;
26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
27def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.core.content.res.ResourcesCompat;
28def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.fragment.app.FragmentActivity;
29def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport androidx.fragment.app.FragmentManager;
30ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.app.GuidedStepSupportFragment;
31ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.widget.GuidanceStylist.Guidance;
32ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.leanback.widget.GuidedAction;
3320767a171ab46addb5d50248d4267db14c0c8883susnata
3420767a171ab46addb5d50248d4267db14c0c8883susnataimport java.util.List;
3520767a171ab46addb5d50248d4267db14c0c8883susnata
3620767a171ab46addb5d50248d4267db14c0c8883susnata/**
3720767a171ab46addb5d50248d4267db14c0c8883susnata * Activity that showcases different aspects of GuidedStepSupportFragments in half
3820767a171ab46addb5d50248d4267db14c0c8883susnata * screen mode. This is achieved by setting the theme for this activity
3920767a171ab46addb5d50248d4267db14c0c8883susnata * to {@code Theme.Example.Leanback.GuidedStep.Half}.
4020767a171ab46addb5d50248d4267db14c0c8883susnata */
4120767a171ab46addb5d50248d4267db14c0c8883susnatapublic class GuidedStepSupportHalfScreenActivity extends FragmentActivity {
4220767a171ab46addb5d50248d4267db14c0c8883susnata    private static final String TAG = "leanback.GuidedStepSupportHalfScreenActivity";
4320767a171ab46addb5d50248d4267db14c0c8883susnata
4420767a171ab46addb5d50248d4267db14c0c8883susnata    @Override
4520767a171ab46addb5d50248d4267db14c0c8883susnata    protected void onCreate(Bundle savedInstanceState) {
4620767a171ab46addb5d50248d4267db14c0c8883susnata        Log.v(TAG, "onCreate");
4720767a171ab46addb5d50248d4267db14c0c8883susnata        super.onCreate(savedInstanceState);
4820767a171ab46addb5d50248d4267db14c0c8883susnata        setContentView(R.layout.guided_step_activity);
4920767a171ab46addb5d50248d4267db14c0c8883susnata        GuidedStepSupportFragment.addAsRoot(this, new FirstStepFragment(), R.id.lb_guidedstep_host);
5020767a171ab46addb5d50248d4267db14c0c8883susnata    }
5120767a171ab46addb5d50248d4267db14c0c8883susnata
5220767a171ab46addb5d50248d4267db14c0c8883susnata    public static class FirstStepFragment extends GuidedStepSupportFragment {
5320767a171ab46addb5d50248d4267db14c0c8883susnata
5420767a171ab46addb5d50248d4267db14c0c8883susnata       @Override
5520767a171ab46addb5d50248d4267db14c0c8883susnata        public Guidance onCreateGuidance(Bundle savedInstanceState) {
5620767a171ab46addb5d50248d4267db14c0c8883susnata            String title = getString(R.string.guidedstep_first_title);
5720767a171ab46addb5d50248d4267db14c0c8883susnata            String breadcrumb = getString(R.string.guidedstep_first_breadcrumb);
5820767a171ab46addb5d50248d4267db14c0c8883susnata            String description = getString(R.string.guidedstep_first_description);
59b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu            final Context context = getActivity();
60b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu            Drawable icon = ResourcesCompat.getDrawable(context.getResources(),
61b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                    R.drawable.ic_main_icon, context.getTheme());
6220767a171ab46addb5d50248d4267db14c0c8883susnata            return new Guidance(title, description, breadcrumb, icon);
6320767a171ab46addb5d50248d4267db14c0c8883susnata        }
6420767a171ab46addb5d50248d4267db14c0c8883susnata
6520767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
6620767a171ab46addb5d50248d4267db14c0c8883susnata        public void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) {
6720767a171ab46addb5d50248d4267db14c0c8883susnata            Context context = getActivity();
6820767a171ab46addb5d50248d4267db14c0c8883susnata            actions.add(new GuidedAction.Builder(context)
6920767a171ab46addb5d50248d4267db14c0c8883susnata                    .clickAction(GuidedAction.ACTION_ID_CONTINUE)
7020767a171ab46addb5d50248d4267db14c0c8883susnata                    .description("Just do it")
7120767a171ab46addb5d50248d4267db14c0c8883susnata                    .build());
7220767a171ab46addb5d50248d4267db14c0c8883susnata            actions.add(new GuidedAction.Builder(context)
7320767a171ab46addb5d50248d4267db14c0c8883susnata                    .clickAction(GuidedAction.ACTION_ID_CANCEL)
7420767a171ab46addb5d50248d4267db14c0c8883susnata                    .description("Never mind")
7520767a171ab46addb5d50248d4267db14c0c8883susnata                    .build());
7620767a171ab46addb5d50248d4267db14c0c8883susnata        }
7720767a171ab46addb5d50248d4267db14c0c8883susnata
7820767a171ab46addb5d50248d4267db14c0c8883susnata        public FirstStepFragment() {
7920767a171ab46addb5d50248d4267db14c0c8883susnata            setEntranceTransitionType(GuidedStepSupportFragment.SLIDE_FROM_BOTTOM);
8020767a171ab46addb5d50248d4267db14c0c8883susnata        }
8120767a171ab46addb5d50248d4267db14c0c8883susnata
8220767a171ab46addb5d50248d4267db14c0c8883susnata        /**
8320767a171ab46addb5d50248d4267db14c0c8883susnata         * This fragment could be used by an activity using theme
8420767a171ab46addb5d50248d4267db14c0c8883susnata         * {@code Theme.Leanback.GuidedStep.Half} or something else (BrowseActivity).
8520767a171ab46addb5d50248d4267db14c0c8883susnata         * In order to provide a consistent half screen experience under
8620767a171ab46addb5d50248d4267db14c0c8883susnata         * both scenarios, we override onProvideTheme method.
8720767a171ab46addb5d50248d4267db14c0c8883susnata         */
8820767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
8920767a171ab46addb5d50248d4267db14c0c8883susnata        public int onProvideTheme() {
9020767a171ab46addb5d50248d4267db14c0c8883susnata            return R.style.Theme_Example_Leanback_GuidedStep_Half;
9120767a171ab46addb5d50248d4267db14c0c8883susnata        }
9220767a171ab46addb5d50248d4267db14c0c8883susnata
9320767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
9420767a171ab46addb5d50248d4267db14c0c8883susnata        public void onGuidedActionClicked(GuidedAction action) {
9520767a171ab46addb5d50248d4267db14c0c8883susnata            FragmentManager fm = getFragmentManager();
9620767a171ab46addb5d50248d4267db14c0c8883susnata            if (action.getId() == GuidedAction.ACTION_ID_CONTINUE) {
9720767a171ab46addb5d50248d4267db14c0c8883susnata                GuidedStepSupportFragment.add(fm, new SecondStepFragment(), R.id.lb_guidedstep_host);
9820767a171ab46addb5d50248d4267db14c0c8883susnata            } else if (action.getId() == GuidedAction.ACTION_ID_CANCEL){
9920767a171ab46addb5d50248d4267db14c0c8883susnata                finishGuidedStepSupportFragments();
10020767a171ab46addb5d50248d4267db14c0c8883susnata            }
10120767a171ab46addb5d50248d4267db14c0c8883susnata        }
10220767a171ab46addb5d50248d4267db14c0c8883susnata    }
10320767a171ab46addb5d50248d4267db14c0c8883susnata
10420767a171ab46addb5d50248d4267db14c0c8883susnata    public static class SecondStepFragment extends GuidedStepSupportFragment {
10520767a171ab46addb5d50248d4267db14c0c8883susnata
10620767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
10720767a171ab46addb5d50248d4267db14c0c8883susnata        public int onProvideTheme() {
10820767a171ab46addb5d50248d4267db14c0c8883susnata            return R.style.Theme_Example_Leanback_GuidedStep_Half;
10920767a171ab46addb5d50248d4267db14c0c8883susnata        }
11020767a171ab46addb5d50248d4267db14c0c8883susnata
11120767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
11220767a171ab46addb5d50248d4267db14c0c8883susnata        public Guidance onCreateGuidance(Bundle savedInstanceState) {
11320767a171ab46addb5d50248d4267db14c0c8883susnata            String title = getString(R.string.guidedstep_second_title);
11420767a171ab46addb5d50248d4267db14c0c8883susnata            String breadcrumb = getString(R.string.guidedstep_second_breadcrumb);
11520767a171ab46addb5d50248d4267db14c0c8883susnata            String description = getString(R.string.guidedstep_second_description);
116b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu            final Context context = getActivity();
117b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu            Drawable icon = ResourcesCompat.getDrawable(context.getResources(),
118b7087e036a48f5a3db28d02ff7f9b97fbbc46c4fDake Gu                    R.drawable.ic_main_icon, context.getTheme());
11920767a171ab46addb5d50248d4267db14c0c8883susnata            return new Guidance(title, description, breadcrumb, icon);
12020767a171ab46addb5d50248d4267db14c0c8883susnata        }
12120767a171ab46addb5d50248d4267db14c0c8883susnata
12220767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
12320767a171ab46addb5d50248d4267db14c0c8883susnata        public void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) {
12420767a171ab46addb5d50248d4267db14c0c8883susnata            Context context = getActivity();
12520767a171ab46addb5d50248d4267db14c0c8883susnata            actions.add(new GuidedAction.Builder(context)
12620767a171ab46addb5d50248d4267db14c0c8883susnata                    .clickAction(GuidedAction.ACTION_ID_FINISH)
12720767a171ab46addb5d50248d4267db14c0c8883susnata                    .description("Done")
12820767a171ab46addb5d50248d4267db14c0c8883susnata                    .build());
12920767a171ab46addb5d50248d4267db14c0c8883susnata            actions.add(new GuidedAction.Builder(context)
13020767a171ab46addb5d50248d4267db14c0c8883susnata                    .clickAction(GuidedAction.ACTION_ID_CANCEL)
13120767a171ab46addb5d50248d4267db14c0c8883susnata                    .description("Never mind")
13220767a171ab46addb5d50248d4267db14c0c8883susnata                    .build());
13320767a171ab46addb5d50248d4267db14c0c8883susnata        }
13420767a171ab46addb5d50248d4267db14c0c8883susnata
13520767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
13620767a171ab46addb5d50248d4267db14c0c8883susnata        public void onCreateButtonActions(List<GuidedAction> actions, Bundle savedInstanceState) {
13720767a171ab46addb5d50248d4267db14c0c8883susnata            actions.add(new GuidedAction.Builder(getActivity())
13820767a171ab46addb5d50248d4267db14c0c8883susnata                    .clickAction(GuidedAction.ACTION_ID_CANCEL)
13920767a171ab46addb5d50248d4267db14c0c8883susnata                    .description("Cancel")
14020767a171ab46addb5d50248d4267db14c0c8883susnata                    .build());
14120767a171ab46addb5d50248d4267db14c0c8883susnata        }
14220767a171ab46addb5d50248d4267db14c0c8883susnata
14320767a171ab46addb5d50248d4267db14c0c8883susnata        @Override
14420767a171ab46addb5d50248d4267db14c0c8883susnata        public void onGuidedActionClicked(GuidedAction action) {
14520767a171ab46addb5d50248d4267db14c0c8883susnata            FragmentManager fm = getFragmentManager();
14620767a171ab46addb5d50248d4267db14c0c8883susnata            fm.popBackStack();
14720767a171ab46addb5d50248d4267db14c0c8883susnata        }
14820767a171ab46addb5d50248d4267db14c0c8883susnata    }
14920767a171ab46addb5d50248d4267db14c0c8883susnata}
150