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