Merge "Handle invalid subIds in Enable2gPreferenceController." into sc-dev
This commit is contained in:
@@ -72,7 +72,7 @@ public class Enable2gPreferenceController extends TelephonyTogglePreferenceContr
|
||||
public int getAvailabilityStatus(int subId) {
|
||||
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
|
||||
boolean visible =
|
||||
subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
|
||||
SubscriptionManager.isUsableSubscriptionId(subId)
|
||||
&& carrierConfig != null
|
||||
&& !carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G)
|
||||
&& mTelephonyManager.isRadioInterfaceCapabilitySupported(
|
||||
@@ -89,6 +89,9 @@ public class Enable2gPreferenceController extends TelephonyTogglePreferenceContr
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
if (!SubscriptionManager.isUsableSubscriptionId(mSubId)) {
|
||||
return false;
|
||||
}
|
||||
long currentlyAllowedNetworkTypes = mTelephonyManager.getAllowedNetworkTypesForReason(
|
||||
mTelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G);
|
||||
boolean enabled = (currentlyAllowedNetworkTypes & BITMASK_2G) != 0;
|
||||
|
@@ -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"
|
||||
|
Reference in New Issue
Block a user