From ce9fda5a604b6cedeebcc04cd0850b98d30f7e42 Mon Sep 17 00:00:00 2001 From: Sarah Chin Date: Fri, 30 Oct 2020 15:47:59 -0700 Subject: [PATCH] Update setCdmaRoaming/SubscriptionMode APIs Test: atest TelephonyManagerTest Test: make RunSettingsRoboTests Bug: 171884158 Bug: 171883908 Change-Id: Ib78149c41612d56a46974621eb71b5e0cfe97c5a Merged-In: Ib78149c41612d56a46974621eb71b5e0cfe97c5a --- .../cdma/CdmaSubscriptionPreferenceController.java | 7 ++++--- .../cdma/CdmaSystemSelectPreferenceController.java | 7 ++++--- .../cdma/CdmaSubscriptionPreferenceControllerTest.java | 3 --- .../cdma/CdmaSystemSelectPreferenceControllerTest.java | 2 -- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java index e714fbe164b..4790bfa548b 100644 --- a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java +++ b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java @@ -67,13 +67,14 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont public boolean onPreferenceChange(Preference preference, Object object) { final int newMode = Integer.parseInt((String) object); //TODO(b/117611981): only set it in one place - if (mTelephonyManager.setCdmaSubscriptionMode(newMode)) { + try { + mTelephonyManager.setCdmaSubscriptionMode(newMode); Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.CDMA_SUBSCRIPTION_MODE, newMode); return true; + } catch (IllegalStateException e) { + return false; } - - return false; } @VisibleForTesting diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java index 13324fcfeeb..2b0c2217ec0 100644 --- a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java +++ b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java @@ -63,13 +63,14 @@ public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceCont public boolean onPreferenceChange(Preference preference, Object object) { int newMode = Integer.parseInt((String) object); //TODO(b/117611981): only set it in one place - if (mTelephonyManager.setCdmaRoamingMode(newMode)) { + try { + mTelephonyManager.setCdmaRoamingMode(newMode); Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.CDMA_ROAMING_MODE, newMode); return true; + } catch (IllegalStateException e) { + return false; } - - return false; } private void resetCdmaRoamingModeToDefault() { diff --git a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java index bcc82ba9985..c6d38688674 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java @@ -18,7 +18,6 @@ package com.android.settings.network.telephony.cdma; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -86,8 +85,6 @@ public class CdmaSubscriptionPreferenceControllerTest { @Test public void onPreferenceChange_selectNV_returnNVMode() { - doReturn(true).when(mTelephonyManager).setCdmaSubscriptionMode(anyInt()); - mController.onPreferenceChange(mPreference, Integer.toString( TelephonyManager.CDMA_SUBSCRIPTION_NV)); diff --git a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java index 1a7fd861c36..2352b0f026a 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java @@ -18,7 +18,6 @@ package com.android.settings.network.telephony.cdma; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -92,7 +91,6 @@ public class CdmaSystemSelectPreferenceControllerTest { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.CDMA_ROAMING_MODE, TelephonyManager.CDMA_ROAMING_MODE_ANY); - doReturn(true).when(mTelephonyManager).setCdmaRoamingMode(anyInt()); mController.onPreferenceChange(mPreference, Integer.toString(TelephonyManager.CDMA_ROAMING_MODE_HOME));