[Settings] Add permission for #getCdmaRoamingMode and use value from TelephonyManager
Bug: 145788881 Test: make Change-Id: Idf237f008af2ab6cab07689f1f2a602f6a98c4f1
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
|
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
|
||||||
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||||
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
|
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.network.telephony.cdma;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -57,7 +58,7 @@ public class CdmaSubscriptionPreferenceController extends CdmaBasePreferenceCont
|
|||||||
listPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
|
listPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
|
||||||
final int mode = Settings.Global.getInt(mContext.getContentResolver(),
|
final int mode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.PREFERRED_CDMA_SUBSCRIPTION);
|
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));
|
listPreference.setValue(Integer.toString(mode));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -34,8 +34,6 @@ import android.telephony.TelephonyManager;
|
|||||||
import androidx.preference.ListPreference;
|
import androidx.preference.ListPreference;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import com.android.internal.telephony.Phone;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -90,33 +88,37 @@ public class CdmaSubscriptionPreferenceControllerTest {
|
|||||||
public void onPreferenceChange_selectNV_returnNVMode() {
|
public void onPreferenceChange_selectNV_returnNVMode() {
|
||||||
doReturn(true).when(mTelephonyManager).setCdmaSubscriptionMode(anyInt());
|
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(),
|
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
Settings.Global.CDMA_SUBSCRIPTION_MODE,
|
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
|
@Test
|
||||||
public void updateState_stateRUIM_displayRUIM() {
|
public void updateState_stateRUIM_displayRUIM() {
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
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);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
|
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
|
||||||
|
TelephonyManager.CDMA_SUBSCRIPTION_NV));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_stateUnknown_doNothing() {
|
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.putInt(mContext.getContentResolver(),
|
||||||
Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.CDMA_SUBSCRIPTION_UNKNOWN);
|
Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_UNKNOWN);
|
||||||
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
// Still NV mode
|
// Still NV mode
|
||||||
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
|
assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
|
||||||
|
TelephonyManager.CDMA_SUBSCRIPTION_NV));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user