[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
diff --git a/res/xml/reset_dashboard_fragment.xml b/res/xml/reset_dashboard_fragment.xml
index d2c8ca0..5502558 100644
--- a/res/xml/reset_dashboard_fragment.xml
+++ b/res/xml/reset_dashboard_fragment.xml
@@ -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 -->
diff --git a/src/com/android/settings/network/NetworkResetPreferenceController.java b/src/com/android/settings/network/NetworkResetPreferenceController.java
index 58a5383..8842c61 100644
--- a/src/com/android/settings/network/NetworkResetPreferenceController.java
+++ b/src/com/android/settings/network/NetworkResetPreferenceController.java
@@ -19,6 +19,7 @@
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 @@
@Override
public boolean isAvailable() {
- return !mRestrictionChecker.hasUserRestriction();
+ return (SubscriptionUtil.isSimHardwareVisible(mContext) &&
+ (!mRestrictionChecker.hasUserRestriction()));
}
@Override
diff --git a/src/com/android/settings/system/ResetDashboardFragment.java b/src/com/android/settings/system/ResetDashboardFragment.java
index c352b92..aea92aa 100644
--- a/src/com/android/settings/system/ResetDashboardFragment.java
+++ b/src/com/android/settings/system/ResetDashboardFragment.java
@@ -24,6 +24,7 @@
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,7 +62,9 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- use(EraseEuiccDataController.class).setFragment(this);
+ if (SubscriptionUtil.isSimHardwareVisible(context)) {
+ use(EraseEuiccDataController.class).setFragment(this);
+ }
}
@Override
@@ -72,7 +75,9 @@
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle) {
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 ResetAppPrefPreferenceController(context, lifecycle));
return controllers;