Merge "[Settings] Add permission for #getCdmaRoamingMode and use value from TelephonyManager Bug: 145788881 Test: make Change-Id: Idf237f008af2ab6cab07689f1f2a602f6a98c4f1 Merged-In: Idf237f008af2ab6cab07689f1f2a602f6a98c4f1"

This commit is contained in:
Zoey Chen
2020-02-14 06:49:45 +00:00
committed by Gerrit Code Review
2 changed files with 13 additions and 10 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.network.telephony.cdma;
import android.content.Context;
import android.os.SystemProperties;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import androidx.annotation.VisibleForTesting;
@@ -57,7 +58,7 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont
listPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
final int mode = Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.PREFERRED_CDMA_SUBSCRIPTION);
if (mode != Phone.CDMA_SUBSCRIPTION_UNKNOWN) {
if (mode != TelephonyManager.CDMA_SUBSCRIPTION_UNKNOWN) {
listPreference.setValue(Integer.toString(mode));
}
}

View File

@@ -34,8 +34,6 @@ import android.telephony.TelephonyManager;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceManager;
import com.android.internal.telephony.Phone;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -90,33 +88,37 @@ public class CdmaSubscriptionPreferenceControllerTest {
public void onPreferenceChange_selectNV_returnNVMode() {
doReturn(true).when(mTelephonyManager).setCdmaSubscriptionMode(anyInt());
mController.onPreferenceChange(mPreference, Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
mController.onPreferenceChange(mPreference, Integer.toString(
TelephonyManager.CDMA_SUBSCRIPTION_NV));
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.CDMA_SUBSCRIPTION_MODE,
Phone.CDMA_SUBSCRIPTION_RUIM_SIM)).isEqualTo(Phone.CDMA_SUBSCRIPTION_NV);
TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM)).isEqualTo(
TelephonyManager.CDMA_SUBSCRIPTION_NV);
}
@Test
public void updateState_stateRUIM_displayRUIM() {
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.CDMA_SUBSCRIPTION_NV);
Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_NV);
mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
TelephonyManager.CDMA_SUBSCRIPTION_NV));
}
@Test
public void updateState_stateUnknown_doNothing() {
mPreference.setValue(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
mPreference.setValue(Integer.toString(TelephonyManager.CDMA_SUBSCRIPTION_NV));
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.CDMA_SUBSCRIPTION_UNKNOWN);
Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_UNKNOWN);
mController.updateState(mPreference);
// Still NV mode
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
TelephonyManager.CDMA_SUBSCRIPTION_NV));
}
@Test