Handle invalid subIds in Enable2gPreferenceController.

Implements improved handling of invalid subIds in the
"Allow 2G" controller + unit tests.

Bug: 185264531
Test: m & atest -c Enable2gPreferenceControllerTest
Change-Id: I7587f1a2a8150bbc6cc0864c9a13d0d910a26682
This commit is contained in:
Yomna Nasser
2021-04-17 01:16:29 +00:00
parent 976c6ac56d
commit e43f26294d
2 changed files with 20 additions and 1 deletions

View File

@@ -48,6 +48,8 @@ public final class Enable2gPreferenceControllerTest {
@Mock
private TelephonyManager mTelephonyManager;
@Mock
private TelephonyManager mInvalidTelephonyManager;
@Mock
private CarrierConfigManager mCarrierConfigManager;
private PersistableBundle mPersistableBundle;
@@ -65,6 +67,8 @@ public final class Enable2gPreferenceControllerTest {
.thenReturn(mCarrierConfigManager);
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mPersistableBundle = new PersistableBundle();
doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -120,6 +124,18 @@ public final class Enable2gPreferenceControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@Test
public void setChecked_invalidSubIdAndIsCheckedTrue_returnFalse() {
mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
assertThat(mController.setChecked(true)).isFalse();
}
@Test
public void setChecked_invalidSubIdAndIsCheckedFalse_returnFalse() {
mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
assertThat(mController.setChecked(false)).isFalse();
}
@Test
public void onPreferenceChange_update() {
// Set "Enable 2G" flag to "on"