1 /*
2  * Copyright (C) 2017 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 package com.android.settings.deviceinfo;
17 
18 import android.content.Context;
19 import android.os.SystemProperties;
20 import android.text.TextUtils;
21 
22 import androidx.preference.Preference;
23 import androidx.preference.PreferenceScreen;
24 
25 import com.android.settings.R;
26 import com.android.settings.core.PreferenceControllerMixin;
27 import com.android.settingslib.core.AbstractPreferenceController;
28 
29 public class FccEquipmentIdPreferenceController extends AbstractPreferenceController implements
30         PreferenceControllerMixin {
31 
32 
33     private static final String PROPERTY_EQUIPMENT_ID = "ro.ril.fccid";
34     private static final String KEY_EQUIPMENT_ID = "fcc_equipment_id";
35 
FccEquipmentIdPreferenceController(Context context)36     public FccEquipmentIdPreferenceController(Context context) {
37         super(context);
38     }
39 
40     @Override
isAvailable()41     public boolean isAvailable() {
42         return !TextUtils.isEmpty(SystemProperties.get(PROPERTY_EQUIPMENT_ID));
43     }
44 
45     @Override
displayPreference(PreferenceScreen screen)46     public void displayPreference(PreferenceScreen screen) {
47         super.displayPreference(screen);
48         final Preference pref = screen.findPreference(KEY_EQUIPMENT_ID);
49         if (pref != null) {
50             final String summary = SystemProperties.get(PROPERTY_EQUIPMENT_ID,
51                     mContext.getResources().getString(R.string.device_info_default));
52             pref.setSummary(summary);
53         }
54     }
55 
56     @Override
getPreferenceKey()57     public String getPreferenceKey() {
58         return KEY_EQUIPMENT_ID;
59     }
60 }
61