• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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.inputmethod;
18 
19 import static com.android.tv.settings.library.ManagerUtil.STATE_KEYBOARD;
20 
21 import android.os.Bundle;
22 
23 import androidx.annotation.Keep;
24 
25 import com.android.tv.settings.R;
26 import com.android.tv.settings.compat.HasKeys;
27 import com.android.tv.settings.compat.PreferenceControllerFragmentCompat;
28 import com.android.tv.settings.compat.RenderUtil;
29 import com.android.tv.settings.library.ManagerUtil;
30 import com.android.tv.settings.library.PreferenceCompat;
31 
32 /**
33  * Fragment compat for managing IMES and Autofills.
34  */
35 @Keep
36 public class KeyboardFragmentCompat extends PreferenceControllerFragmentCompat {
37     // Order of input methods, make sure they are inserted between 1 (currentKeyboard) and
38     // 3 (manageKeyboards).
39     private static final int INPUT_METHOD_PREFERENCE_ORDER = 2;
40 
41     @Override
onCreatePreferences(Bundle savedInstanceState, String rootKey)42     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
43         setPreferencesFromResource(R.xml.keyboard_compat, null);
44     }
45 
46     @Override
updatePref(PreferenceCompat prefCompat)47     public HasKeys updatePref(PreferenceCompat prefCompat) {
48         if (prefCompat.getKey() != null && prefCompat.getKey().length > 0
49                 && ManagerUtil.KEY_KEYBOARD_SETTINGS.equals(prefCompat.getKey()[0])) {
50             RenderUtil.updatePreferenceGroup(
51                     getPreferenceScreen(), prefCompat.getChildPrefCompats(),
52                     INPUT_METHOD_PREFERENCE_ORDER);
53             return null;
54         }
55         return super.updatePref(prefCompat);
56     }
57 
58     @Override
getStateIdentifier()59     public int getStateIdentifier() {
60         return STATE_KEYBOARD;
61     }
62 }
63