[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" android:title="@string/reset_network_title"
settings:userRestriction="no_network_reset" settings:userRestriction="no_network_reset"
settings:useAdminDisabledSummary="true" settings:useAdminDisabledSummary="true"
settings:isPreferenceVisible="@bool/config_show_sim_info"
android:fragment="com.android.settings.ResetNetwork" /> android:fragment="com.android.settings.ResetNetwork" />
<!-- Bluetooth and WiFi reset --> <!-- Bluetooth and WiFi reset -->

View File

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

View File

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