Block settings when DISALLOW_CONFIG_DATE_TIME.

Test: m -j RunSettingsRoboTests
runtest -x packages/apps/Settings/tests/unit/src/com/android/settings/core/UserRestrictionTest.java

Fix: 67497909

After turn on the user restriction in TestDPC:
https://hsv.googleplex.com/5414119658225664
The date time settings page become:
https://hsv.googleplex.com/5199302573948928


Change-Id: I42590c4a505ec1b6ffa86eb460b90fa6ec8ba783
This commit is contained in:
yuemingw
2017-10-23 18:36:00 +01:00
parent bd642f9db8
commit 7b1da61346
9 changed files with 222 additions and 21 deletions

View File

@@ -21,6 +21,7 @@ import android.support.v7.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settingslib.RestrictedPreference;
import org.junit.Before;
import org.junit.Test;
@@ -41,15 +42,16 @@ public class TimeZonePreferenceControllerTest {
@Mock
private AutoTimeZonePreferenceController mAutoTimeZonePreferenceController;
private Context mContext;
private TimeZonePreferenceController mController;
private Preference mPreference;
private RestrictedPreference mPreference;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = ShadowApplication.getInstance().getApplicationContext();
mPreference = new Preference(mContext);
mPreference = new RestrictedPreference(mContext);
mController = spy(new TimeZonePreferenceController(mContext,
mAutoTimeZonePreferenceController));
}
@@ -61,6 +63,9 @@ public class TimeZonePreferenceControllerTest {
@Test
public void updateState_autoTimeZoneEnabled_shouldDisablePref() {
// Make sure not disabled by admin.
mPreference.setDisabledByAdmin(null);
doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
when(mAutoTimeZonePreferenceController.isEnabled()).thenReturn(true);
mController.updateState(mPreference);
@@ -70,6 +75,9 @@ public class TimeZonePreferenceControllerTest {
@Test
public void updateState_autoTimeZoneDisabled_shouldEnablePref() {
// Make sure not disabled by admin.
mPreference.setDisabledByAdmin(null);
doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
when(mAutoTimeZonePreferenceController.isEnabled()).thenReturn(false);
mController.updateState(mPreference);