[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;