Update Reset options summary

- Update summary when user does not have permission to reset network or factory reset

Fixes: 126295214
Test: rototest & manual
Change-Id: I710f0abcd3df1560eb3e7bc53a7427d7a6a5aad7
This commit is contained in:
Edgar Wang
2019-12-20 13:35:59 +08:00
parent 778653fe71
commit fee49421c7
3 changed files with 59 additions and 0 deletions

View File

@@ -18,6 +18,12 @@ package com.android.settings.system;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.content.pm.UserInfo;
import android.os.UserHandle;
import android.provider.Settings;
import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowUserManager;
import org.junit.Before;
import org.junit.Test;
@@ -31,6 +37,7 @@ import org.robolectric.annotation.Config;
public class ResetPreferenceControllerTest {
private static final String KEY_RESET_DASHBOARD = "reset_dashboard";
private ShadowUserManager mShadowUserManager;
private Context mContext;
private ResetPreferenceController mController;
@@ -40,6 +47,7 @@ public class ResetPreferenceControllerTest {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mController = new ResetPreferenceController(mContext, KEY_RESET_DASHBOARD);
mShadowUserManager = ShadowUserManager.getShadow();
}
@Test
@@ -52,4 +60,35 @@ public class ResetPreferenceControllerTest {
public void isAvailable_ifNotVisible_false() {
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void getSummary_systemUser_shouldReturnFullSummary() {
mShadowUserManager.setIsAdminUser(true);
assertThat(mController.getSummary()).isEqualTo(
mContext.getString(R.string.reset_dashboard_summary));
}
@Test
public void getSummary_nonSystemUser_shouldReturnAppsSummary() {
mShadowUserManager.setIsAdminUser(false);
mShadowUserManager.setIsDemoUser(false);
assertThat(mController.getSummary()).isEqualTo(
mContext.getString(R.string.reset_dashboard_summary_onlyApps));
}
@Test
public void getSummary_demoUser_shouldReturnFullSummary() {
mShadowUserManager.setIsAdminUser(false);
// Place the device in demo mode.
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 1);
// Indicate the user is a demo user.
mShadowUserManager.addUser(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO);
assertThat(mController.getSummary()).isEqualTo(
mContext.getString(R.string.reset_dashboard_summary));
}
}