Introduce boolean flags to show/hide items in Security & location.
This adds 6 new boolean flags: config_show_manage_device_admin config_show_unlock_set_or_change config_show_screen_pinning_settings config_show_manage_trust_agents config_show_show_password config_show_trust_agent_click_intent Which when individually set to false, will hide the item from "Security & location". It will also hide them from surfacing in search results. Bug:62379222 Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.security Change-Id: I58d82cbc7f366a9666cdb0f7cd1b90ebbaf418f4
This commit is contained in:
@@ -17,9 +17,12 @@
|
||||
package com.android.settings.enterprise;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -33,6 +36,7 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.Answers;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
/**
|
||||
@@ -42,15 +46,17 @@ import org.robolectric.annotation.Config;
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public final class ManageDeviceAdminPreferenceControllerTest {
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
@Mock
|
||||
private Resources mResources;
|
||||
|
||||
private Context mContext;
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
|
||||
private ManageDeviceAdminPreferenceController mController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||
mController = new ManageDeviceAdminPreferenceController(mContext);
|
||||
}
|
||||
@@ -61,24 +67,31 @@ public final class ManageDeviceAdminPreferenceControllerTest {
|
||||
|
||||
when(mFeatureFactory.enterprisePrivacyFeatureProvider
|
||||
.getNumberOfActiveDeviceAdminsForCurrentUserAndManagedProfile()).thenReturn(0);
|
||||
when(mContext.getResources().getString(R.string.number_of_device_admins_none))
|
||||
when (mContext.getResources()).thenReturn(mResources);
|
||||
when(mResources.getString(R.string.number_of_device_admins_none))
|
||||
.thenReturn("no apps");
|
||||
mController.updateState(preference);
|
||||
assertThat(preference.getSummary()).isEqualTo("no apps");
|
||||
|
||||
when(mFeatureFactory.enterprisePrivacyFeatureProvider
|
||||
.getNumberOfActiveDeviceAdminsForCurrentUserAndManagedProfile()).thenReturn(5);
|
||||
when(mContext.getResources().getQuantityString(R.plurals.number_of_device_admins, 5, 5))
|
||||
when(mResources.getQuantityString(R.plurals.number_of_device_admins, 5, 5))
|
||||
.thenReturn("5 active apps");
|
||||
mController.updateState(preference);
|
||||
assertThat(preference.getSummary()).isEqualTo("5 active apps");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAvailable() {
|
||||
public void isAvailable_byDefault_isTrue() {
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Config(qualifiers = "mcc999")
|
||||
public void isAvailable_whenNotVisible_isFalse() {
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandlePreferenceTreeClick() {
|
||||
assertThat(mController.handlePreferenceTreeClick(new Preference(mContext, null, 0, 0)))
|
||||
|
||||
Reference in New Issue
Block a user