diff --git a/res/values/config.xml b/res/values/config.xml index c4b7bb931a8..8ae73539574 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -626,4 +626,8 @@ @string/config_settingsintelligence_package_name android.uid.system:1000 + + + true + diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java index 0bba86fafed..ccfcfb0a752 100644 --- a/src/com/android/settings/network/SubscriptionUtil.java +++ b/src/com/android/settings/network/SubscriptionUtil.java @@ -86,6 +86,14 @@ public class SubscriptionUtil { return subscriptions; } + /** + * Check if SIM hardware is visible to the end user. + */ + public static boolean isSimHardwareVisible(Context context) { + return context.getResources() + .getBoolean(R.bool.config_show_sim_info); + } + @VisibleForTesting static boolean isInactiveInsertedPSim(UiccSlotInfo slotInfo) { if (slotInfo == null) { diff --git a/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java b/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java index 43a32b51fbc..08727762764 100644 --- a/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java +++ b/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java @@ -25,11 +25,14 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; +import android.content.res.Resources; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; +import com.android.settings.R; + import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -58,12 +61,15 @@ public class SubscriptionUtilTest { private SubscriptionManager mSubMgr; @Mock private TelephonyManager mTelMgr; + @Mock + private Resources mResources; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(ApplicationProvider.getApplicationContext()); + when(mContext.getResources()).thenReturn(mResources); when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubMgr); when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelMgr); when(mTelMgr.getUiccSlotsInfo()).thenReturn(null); @@ -443,4 +449,18 @@ public class SubscriptionUtilTest { public void isInactiveInsertedPSim_nullSubInfo_doesNotCrash() { assertThat(SubscriptionUtil.isInactiveInsertedPSim(null)).isFalse(); } + + @Test + public void isSimHardwareVisible_configAsInvisible_returnFalse() { + when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(false); + + assertThat(SubscriptionUtil.isSimHardwareVisible(mContext)).isFalse(); + } + + @Test + public void isSimHardwareVisible_configAsVisible_returnTrue() { + when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true); + + assertTrue(SubscriptionUtil.isSimHardwareVisible(mContext)); + } }