[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
This commit is contained in:
Bonian Chen
2022-11-25 09:31:15 +00:00
parent d1e0b46a44
commit b644c54256
3 changed files with 32 additions and 0 deletions

View File

@@ -626,4 +626,8 @@
<item>@string/config_settingsintelligence_package_name</item>
<item>android.uid.system:1000</item>
</string-array>
<!-- Whether sim related information is visible to the end user. -->
<bool name="config_show_sim_info">true</bool>
</resources>

View File

@@ -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) {

View File

@@ -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));
}
}