[Settings] configuration for hidding SIM related UI

Add overriable configuration for hidding SIM related UI.

Bug: 240515161
Test: test cases and local testing
Merged-In: I03d17beac0fb85a3d17acd7d0d581feb35e9582b
Merged-In: I8d7ddd18861a696830da39f040dfb14b9ed46726
Merged-In: I45b7898da440c36045aec64a0a86fb804116cd9d
Merged-In: Ie00bdce2fad429f2ed343e1d7aea4967bcaddf5a
Change-Id: Id5ea14ca888f0cfc6ed5a7df3f77a8176232ef4f
This commit is contained in:
Bonian Chen
2022-11-14 09:54:47 +00:00
parent ccfa7fa918
commit 7dc161dcc8
9 changed files with 74 additions and 2 deletions

View File

@@ -29,6 +29,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.DeviceInfoUtils;
import java.util.ArrayList;
@@ -51,7 +52,8 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mTelephonyManager.isVoiceCapable() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
return SubscriptionUtil.isSimHardwareVisible(mContext) ?
AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override
@@ -79,6 +81,9 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
return;
}
final Preference preference = screen.findPreference(getPreferenceKey());
final PreferenceCategory category = screen.findPreference(KEY_PREFERENCE_CATEGORY);
mPreferenceList.add(preference);