• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2015 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.tv.settings.name;
18 
19 import android.content.Context;
20 import android.os.Build;
21 import android.os.Bundle;
22 import android.view.LayoutInflater;
23 import android.view.View;
24 import android.view.ViewGroup;
25 
26 import androidx.annotation.NonNull;
27 import androidx.leanback.app.GuidedStepSupportFragment;
28 import androidx.leanback.widget.GuidanceStylist;
29 import androidx.leanback.widget.GuidedAction;
30 import androidx.leanback.widget.GuidedActionsStylist;
31 
32 import com.android.tv.settings.R;
33 import com.android.tv.settings.util.GuidedActionsAlignUtil;
34 import com.android.tv.settings.widget.SettingsGuidedStepFragment;
35 
36 import java.util.List;
37 
38 /**
39  * Fragment responsible for showing the device name summary.
40  */
41 public class DeviceNameSummaryFragment extends SettingsGuidedStepFragment {
42 
newInstance()43     public static DeviceNameSummaryFragment newInstance() {
44         return new DeviceNameSummaryFragment();
45     }
46 
47     @Override
onCreateGuidanceStylist()48     public GuidanceStylist onCreateGuidanceStylist() {
49         return GuidedActionsAlignUtil.createGuidanceStylist();
50     }
51 
52     @Override
onCreateActionsStylist()53     public GuidedActionsStylist onCreateActionsStylist() {
54         return GuidedActionsAlignUtil.createGuidedActionsStylist();
55     }
56 
57     @Override
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)58     public View onCreateView(LayoutInflater inflater, ViewGroup container,
59             Bundle savedInstanceState) {
60         View view = super.onCreateView(inflater, container, savedInstanceState);
61         return GuidedActionsAlignUtil.createView(view, this);
62     }
63 
64     @NonNull
65     @Override
onCreateGuidance(Bundle savedInstanceState)66     public GuidanceStylist.Guidance onCreateGuidance(Bundle savedInstanceState) {
67         return new GuidanceStylist.Guidance(
68                 getString(R.string.device_rename_title, Build.MODEL),
69                 getString(R.string.device_rename_description, Build.MODEL,
70                         DeviceManager.getDeviceName(getActivity())),
71                 null,
72                 null);
73     }
74 
75     @Override
onCreateActions(@onNull List<GuidedAction> actions, Bundle savedInstanceState)76     public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
77         final Context context = getActivity();
78         actions.add(new GuidedAction.Builder(context)
79                 .id(GuidedAction.ACTION_ID_CONTINUE)
80                 .title(R.string.change_setting)
81                 .build());
82         actions.add(new GuidedAction.Builder(context)
83                 .id(GuidedAction.ACTION_ID_CANCEL)
84                 .title(R.string.keep_settings)
85                 .build());
86     }
87 
88     @Override
onGuidedActionClicked(GuidedAction action)89     public void onGuidedActionClicked(GuidedAction action) {
90         final long actionId = action.getId();
91         if (actionId == GuidedAction.ACTION_ID_CONTINUE) {
92             GuidedStepSupportFragment.add(
93                     getFragmentManager(), DeviceNameSetFragment.newInstance());
94         } else if (actionId == GuidedAction.ACTION_ID_CANCEL) {
95             getActivity().finish();
96         } else {
97             throw new IllegalStateException("Unknown action");
98         }
99     }
100 }
101