diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java index e714fbe164b..76b9ad0df62 100644 --- a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java +++ b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java @@ -79,7 +79,7 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont @VisibleForTesting boolean deviceSupportsNvAndRuim() { // retrieve the list of subscription types supported by device. - final String subscriptionsSupported = SystemProperties.get("ril.subscription.types"); + final String subscriptionsSupported = getRilSubscriptionTypes(); boolean nvSupported = false; boolean ruimSupported = false; @@ -98,4 +98,9 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont return (nvSupported && ruimSupported); } + + @VisibleForTesting + protected String getRilSubscriptionTypes() { + return SystemProperties.get("ril.subscription.types"); + } } diff --git a/tests/unit/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java index 86488c655aa..f0f34d16deb 100644 --- a/tests/unit/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; -import android.os.SystemProperties; import android.provider.Settings; import android.telephony.TelephonyManager; @@ -64,7 +63,7 @@ public class CdmaSubscriptionPreferenceControllerTest { doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID); mPreference = new ListPreference(mContext); - mController = new CdmaSubscriptionPreferenceController(mContext, "mobile_data"); + mController = spy(new CdmaSubscriptionPreferenceController(mContext, "mobile_data")); mController.init(mPreferenceManager, SUB_ID); mController.mPreference = mPreference; mPreference.setKey(mController.getPreferenceKey()); @@ -72,16 +71,12 @@ public class CdmaSubscriptionPreferenceControllerTest { mCdmaMode = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM); - - mSubscriptionsSupported = SystemProperties.get("ril.subscription.types"); } @After public void tearDown() { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.CDMA_SUBSCRIPTION_MODE, mCdmaMode); - - SystemProperties.set("ril.subscription.types", mSubscriptionsSupported); } @Test @@ -123,11 +118,9 @@ public class CdmaSubscriptionPreferenceControllerTest { @Test public void deviceSupportsNvAndRuim() { - SystemProperties.set("ril.subscription.types", "NV,RUIM"); + doReturn("NV,RUIM").when(mController).getRilSubscriptionTypes(); assertThat(mController.deviceSupportsNvAndRuim()).isTrue(); - - SystemProperties.set("ril.subscription.types", ""); - + doReturn("").when(mController).getRilSubscriptionTypes(); assertThat(mController.deviceSupportsNvAndRuim()).isFalse(); } }