Move logic for FR in demo mode out of Settings
Bug: 62712426 Test: make \ ROBOTEST_FILTER="(MasterClearTest|FactoryResetPreferenceControllerTest |UtilsTest)" \ RunSettingsRoboTests -j100 Change-Id: I5e287c3d4a6a7050bda78187c52aec19e90b50bc
This commit is contained in:
@@ -27,6 +27,7 @@ import static org.robolectric.Shadows.shadowOf;
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -36,6 +37,8 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.ShadowUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -43,11 +46,10 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
|
||||
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class MasterClearTest {
|
||||
@@ -167,6 +169,22 @@ public class MasterClearTest {
|
||||
assertThat(mMasterClear.hasReachedBottom(mScrollView)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Config(shadows = { ShadowUtils.class, SettingsShadowResources.class })
|
||||
public void testInitiateMasterClear_inDemoMode_sendsIntent() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.string.config_demoModePackage, "package");
|
||||
|
||||
ShadowUtils.setIsDemoUser(true);
|
||||
|
||||
mMasterClear.mInitiateListener.onClick(
|
||||
mContentView.findViewById(R.id.initiate_master_clear));
|
||||
final Intent intent = mShadowActivity.getNextStartedActivity();
|
||||
assertThat(Intent.ACTION_FACTORY_RESET).isEqualTo(intent.getAction());
|
||||
final String packageName = Utils.getDemoModePackageName(RuntimeEnvironment.application);
|
||||
assertThat(packageName).isEqualTo(intent.getPackage());
|
||||
}
|
||||
|
||||
private void initScrollView(int height, int scrollY, int childBottom) {
|
||||
when(mScrollView.getHeight()).thenReturn(height);
|
||||
when(mScrollView.getScrollY()).thenReturn(scrollY);
|
||||
|
@@ -16,15 +16,18 @@ import android.net.LinkProperties;
|
||||
import android.net.Network;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.os.storage.DiskInfo;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.os.storage.VolumeInfo;
|
||||
import android.provider.Settings;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.format.DateUtils;
|
||||
import android.text.style.TtsSpan;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import com.android.settings.testutils.shadow.ShadowSecureSettings;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
@@ -22,7 +22,6 @@ import static org.mockito.Mockito.when;
|
||||
import android.accounts.AccountManager;
|
||||
import android.content.Context;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
@@ -76,21 +75,16 @@ public class FactoryResetPreferenceControllerTest {
|
||||
@Config(shadows = { ShadowSecureSettings.class, ShadowUtils.class })
|
||||
public void isAvailable_nonSystemUser() {
|
||||
when(mUserManager.isAdminUser()).thenReturn(false);
|
||||
ShadowUtils.setIsCarrierDemoUser(false);
|
||||
ShadowUtils.setIsDemoUser(false);
|
||||
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Config(shadows = { ShadowSecureSettings.class, ShadowUtils.class })
|
||||
public void isAvailable_carrierDemoUser() {
|
||||
public void isAvailable_demoUser() {
|
||||
when(mUserManager.isAdminUser()).thenReturn(false);
|
||||
ShadowUtils.setIsCarrierDemoUser(true);
|
||||
|
||||
final String carrierDemoModeSetting = "carrier_demo_mode";
|
||||
when(mContext.getString(com.android.internal.R.string.config_carrierDemoModeSetting))
|
||||
.thenReturn(carrierDemoModeSetting);
|
||||
Settings.Secure.putInt(null, carrierDemoModeSetting, 1);
|
||||
ShadowUtils.setIsDemoUser(true);
|
||||
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.testutils.shadow;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.Utils;
|
||||
@@ -28,8 +29,8 @@ import org.robolectric.annotation.Implements;
|
||||
public class ShadowUtils {
|
||||
|
||||
private static IFingerprintManager sFingerprintManager = null;
|
||||
private static boolean sIsCarrierDemoUser;
|
||||
private static boolean sIsUserAMonkey;
|
||||
private static boolean sIsDemoUser;
|
||||
|
||||
@Implementation
|
||||
public static int enforceSameOwner(Context context, int userId) {
|
||||
@@ -47,8 +48,8 @@ public class ShadowUtils {
|
||||
|
||||
public static void reset() {
|
||||
sFingerprintManager = null;
|
||||
sIsCarrierDemoUser = false;
|
||||
sIsUserAMonkey = false;
|
||||
sIsDemoUser = false;
|
||||
}
|
||||
|
||||
@Implementation
|
||||
@@ -56,8 +57,8 @@ public class ShadowUtils {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void setIsCarrierDemoUser(boolean isCarrierDemoUser) {
|
||||
sIsCarrierDemoUser = isCarrierDemoUser;
|
||||
public static void setIsDemoUser(boolean isDemoUser) {
|
||||
sIsDemoUser = isDemoUser;
|
||||
}
|
||||
|
||||
public static void setIsUserAMonkey(boolean isUserAMonkey) {
|
||||
@@ -66,8 +67,8 @@ public class ShadowUtils {
|
||||
|
||||
|
||||
@Implementation
|
||||
public static boolean isCarrierDemoUser(Context context) {
|
||||
return sIsCarrierDemoUser;
|
||||
public static boolean isDemoUser(Context context) {
|
||||
return sIsDemoUser;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user