Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e90436aa authored by Bonian Chen's avatar Bonian Chen Committed by Android (Google) Code Review
Browse files

Merge "[Settings] Add permission for #getCdmaRoamingMode and use value from...

Merge "[Settings] Add permission for #getCdmaRoamingMode and use value from TelephonyManager Bug: 145788881 Test: make Change-Id: Idf237f008af2ab6cab07689f1f2a602f6a98c4f1"
parents ba29424f 4a7ad4d7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@
    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
    <uses-permission android:name="android.permission.READ_PRIVILEGED_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.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
+2 −1
Original line number Diff line number Diff line
@@ -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));
        }
    }
+11 −9
Original line number Diff line number Diff line
@@ -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