Merge "[Telephony Setting] Enable the Settings test case" into rvc-dev

This commit is contained in:
Betty Chang
2020-03-06 03:01:32 +00:00
committed by Android (Google) Code Review
3 changed files with 19 additions and 33 deletions

View File

@@ -25,6 +25,7 @@ import android.net.Uri;
import android.provider.SettingsSlicesContract; import android.provider.SettingsSlicesContract;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -70,6 +71,11 @@ public class AirplaneModePreferenceController extends TogglePreferenceController
mFragment = hostFragment; mFragment = hostFragment;
} }
@VisibleForTesting
void setAirplaneModeEnabler(AirplaneModeEnabler airplaneModeEnabler) {
mAirplaneModeEnabler = airplaneModeEnabler;
}
@Override @Override
public boolean handlePreferenceTreeClick(Preference preference) { public boolean handlePreferenceTreeClick(Preference preference) {
if (KEY_AIRPLANE_MODE.equals(preference.getKey()) if (KEY_AIRPLANE_MODE.equals(preference.getKey())

View File

@@ -32,13 +32,13 @@ import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.AirplaneModeEnabler;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -55,7 +55,8 @@ public class AirplaneModePreferenceControllerTest {
@Mock @Mock
private PackageManager mPackageManager; private PackageManager mPackageManager;
@Mock
private AirplaneModeEnabler mAirplaneModeEnabler;
private Context mContext; private Context mContext;
private ContentResolver mResolver; private ContentResolver mResolver;
private PreferenceManager mPreferenceManager; private PreferenceManager mPreferenceManager;
@@ -126,38 +127,18 @@ public class AirplaneModePreferenceControllerTest {
} }
@Test @Test
@Ignore
public void airplaneModePreference_testSetValue_updatesCorrectly() { public void airplaneModePreference_testSetValue_updatesCorrectly() {
// Airplane mode default off
Settings.Global.putInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
mController.displayPreference(mScreen);
mController.onResume();
assertThat(mPreference.isChecked()).isFalse();
assertThat(mController.isChecked()).isFalse();
// Set airplane mode ON by setChecked // Set airplane mode ON by setChecked
boolean updated = mController.setChecked(true); mController.setAirplaneModeEnabler(mAirplaneModeEnabler);
assertThat(updated).isTrue(); assertThat(mController.setChecked(true)).isTrue();
// Check return value if set same status. // Check return value if set same status.
updated = mController.setChecked(true); when(mAirplaneModeEnabler.isAirplaneModeOn()).thenReturn(true);
assertThat(updated).isFalse(); assertThat(mController.setChecked(true)).isFalse();
// UI is updated
assertThat(mPreference.isChecked()).isTrue();
// Settings status changed.
int updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
assertThat(updatedValue).isEqualTo(ON);
// Set to OFF // Set to OFF
assertThat(mController.setChecked(false)).isTrue(); assertThat(mController.setChecked(false)).isTrue();
assertThat(mPreference.isChecked()).isFalse();
updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
assertThat(updatedValue).isEqualTo(OFF);
} }
@Test @Test

View File

@@ -33,6 +33,7 @@ import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.Global; import android.provider.Settings.Global;
import android.telephony.PhoneStateListener; import android.telephony.PhoneStateListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
@@ -46,7 +47,6 @@ import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
@@ -63,6 +63,8 @@ public class MobileNetworkPreferenceControllerTest {
@Mock @Mock
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
@Mock @Mock
private SubscriptionManager mSubscriptionManager;
@Mock
private PreferenceScreen mScreen; private PreferenceScreen mScreen;
private Lifecycle mLifecycle; private Lifecycle mLifecycle;
@@ -77,6 +79,7 @@ public class MobileNetworkPreferenceControllerTest {
mLifecycleOwner = () -> mLifecycle; mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner); mLifecycle = new Lifecycle(mLifecycleOwner);
when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
mPreference = new Preference(mContext); mPreference = new Preference(mContext);
mPreference.setKey(MobileNetworkPreferenceController.KEY_MOBILE_NETWORK_SETTINGS); mPreference.setKey(MobileNetworkPreferenceController.KEY_MOBILE_NETWORK_SETTINGS);
} }
@@ -121,7 +124,6 @@ public class MobileNetworkPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void serviceStateChange_shouldUpdatePrefSummary() { public void serviceStateChange_shouldUpdatePrefSummary() {
final String testCarrierName = "test"; final String testCarrierName = "test";
final Preference mPreference = mock(Preference.class); final Preference mPreference = mock(Preference.class);
@@ -138,8 +140,8 @@ public class MobileNetworkPreferenceControllerTest {
verify(mTelephonyManager).listen(mController.mPhoneStateListener, verify(mTelephonyManager).listen(mController.mPhoneStateListener,
PhoneStateListener.LISTEN_SERVICE_STATE); PhoneStateListener.LISTEN_SERVICE_STATE);
// Trigger listener update doReturn(testCarrierName).when(mController).getSummary();
when(mTelephonyManager.getNetworkOperatorName()).thenReturn(testCarrierName);
mController.mPhoneStateListener.onServiceStateChanged(null); mController.mPhoneStateListener.onServiceStateChanged(null);
// Carrier name should be set. // Carrier name should be set.
@@ -147,7 +149,6 @@ public class MobileNetworkPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void airplaneModeTurnedOn_shouldDisablePreference() { public void airplaneModeTurnedOn_shouldDisablePreference() {
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(),
Global.AIRPLANE_MODE_ON, 1); Global.AIRPLANE_MODE_ON, 1);
@@ -158,7 +159,6 @@ public class MobileNetworkPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void airplaneModeTurnedOffAndNoUserRestriction_shouldEnablePreference() { public void airplaneModeTurnedOffAndNoUserRestriction_shouldEnablePreference() {
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(),
Global.AIRPLANE_MODE_ON, 0); Global.AIRPLANE_MODE_ON, 0);
@@ -170,7 +170,6 @@ public class MobileNetworkPreferenceControllerTest {
} }
@Test @Test
@Ignore
public void airplaneModeTurnedOffAndHasUserRestriction_shouldDisablePreference() { public void airplaneModeTurnedOffAndHasUserRestriction_shouldDisablePreference() {
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(),
Global.AIRPLANE_MODE_ON, 0); Global.AIRPLANE_MODE_ON, 0);