From b644c54256898f7fbe63c29ddfde4291198fa02b Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Fri, 25 Nov 2022 09:31:15 +0000 Subject: [PATCH] [Settings][port] configuration for hidding SIM related UI Add overriable configuration for hidding SIM related UI. Bug: 240515161 Test: test cases and local testing Merged-In: Ie00bdce2fad429f2ed343e1d7aea4967bcaddf5a Merged-In: Ie61557590cdc15e2d03b1e71bbc78def2c60046a Change-Id: I67166b0db08635ee2bc01a8208f96126b64fd0a7 --- res/values/config.xml | 4 ++++ .../settings/network/SubscriptionUtil.java | 8 ++++++++ .../network/SubscriptionUtilTest.java | 20 +++++++++++++++++++ 3 files changed, 32 insertions(+) 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)); + } }