[Settings] Code refactor for device without SIM

Code refactor to hide some UI entries, since there's a BluetoothWiFiPreferenceController
covers some of the work for device without SIM.

Bug: 259611847
Test: local & auto
Change-Id: Ia221663e180c8dabed2a25a927643c992ef8ac89
This commit is contained in:
Bonian Chen
2022-12-08 05:16:34 +00:00
parent ccf119a283
commit f19e92cc2c
3 changed files with 11 additions and 3 deletions

View File

@@ -26,6 +26,7 @@
android:title="@string/reset_network_title"
settings:userRestriction="no_network_reset"
settings:useAdminDisabledSummary="true"
settings:isPreferenceVisible="@bool/config_show_sim_info"
android:fragment="com.android.settings.ResetNetwork" />
<!-- Bluetooth and WiFi reset -->

View File

@@ -19,6 +19,7 @@ package com.android.settings.network;
import android.content.Context;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.core.AbstractPreferenceController;
public class NetworkResetPreferenceController extends AbstractPreferenceController
@@ -33,7 +34,8 @@ public class NetworkResetPreferenceController extends AbstractPreferenceControll
@Override
public boolean isAvailable() {
return !mRestrictionChecker.hasUserRestriction();
return (SubscriptionUtil.isSimHardwareVisible(mContext) &&
(!mRestrictionChecker.hasUserRestriction()));
}
@Override

View File

@@ -24,6 +24,7 @@ import com.android.settings.applications.manageapplications.ResetAppPrefPreferen
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.network.EraseEuiccDataController;
import com.android.settings.network.NetworkResetPreferenceController;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -61,8 +62,10 @@ public class ResetDashboardFragment extends DashboardFragment {
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (SubscriptionUtil.isSimHardwareVisible(context)) {
use(EraseEuiccDataController.class).setFragment(this);
}
}
@Override
protected boolean shouldSkipForInitialSUW() {
@@ -72,7 +75,9 @@ public class ResetDashboardFragment extends DashboardFragment {
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
if (SubscriptionUtil.isSimHardwareVisible(context)) {
controllers.add(new NetworkResetPreferenceController(context));
}
controllers.add(new FactoryResetPreferenceController(context));
controllers.add(new ResetAppPrefPreferenceController(context, lifecycle));
return controllers;