diff options
author | Ben Lin <linben@google.com> | 2018-12-14 16:00:21 -0800 |
---|---|---|
committer | Ben Lin <linben@google.com> | 2018-12-14 16:00:21 -0800 |
commit | 11f698ba220daa11e5b432c9562d437d24c6a0c6 (patch) | |
tree | 58ad978033ba1200cfd7baa152c8354cce9f879b | |
parent | 0f95d9c45db904d5139107ac40d2a7bd0074a369 (diff) | |
download | packages_apps_Settings-11f698ba220daa11e5b432c9562d437d24c6a0c6.tar.gz packages_apps_Settings-11f698ba220daa11e5b432c9562d437d24c6a0c6.tar.bz2 packages_apps_Settings-11f698ba220daa11e5b432c9562d437d24c6a0c6.zip |
Add boolean flags to show/hide top-most settings.
Bug: None
Test: RunSettingsRoboTests
Change-Id: Ib576f5979feda0fa7f573915acffc5065d40095c
8 files changed, 65 insertions, 6 deletions
diff --git a/res/values/bools.xml b/res/values/bools.xml index 8bd11c78d5..a5043a2949 100644 --- a/res/values/bools.xml +++ b/res/values/bools.xml @@ -168,6 +168,15 @@ <!-- Whether device_model should be shown or not. --> <bool name="config_show_device_model">true</bool> + <!-- Whether top_level_battery should be shown or not. --> + <bool name="config_show_top_level_battery">true</bool> + + <!-- Whether top_level_connected_devices should be shown or not. --> + <bool name="config_show_top_level_connected_devices">true</bool> + + <!-- Whether top_level_display should be shown or not. --> + <bool name="config_show_top_level_display">true</bool> + <!-- Whether wifi_ip_address should be shown or not. --> <bool name="config_show_wifi_ip_address">true</bool> diff --git a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java index 6f16db6e36..4b2bdc05d8 100644 --- a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java +++ b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java @@ -19,6 +19,7 @@ package com.android.settings.connecteddevice; import android.content.Context; import com.android.settings.core.BasePreferenceController; +import com.android.settings.R; public class TopLevelConnectedDevicesPreferenceController extends BasePreferenceController { @@ -29,7 +30,9 @@ public class TopLevelConnectedDevicesPreferenceController extends BasePreference @Override public int getAvailabilityStatus() { - return AVAILABLE_UNSEARCHABLE; + return mContext.getResources().getBoolean(R.bool.config_show_top_level_connected_devices) + ? AVAILABLE_UNSEARCHABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/display/TopLevelDisplayPreferenceController.java b/src/com/android/settings/display/TopLevelDisplayPreferenceController.java index 88b87e0ba0..ed85a4ab10 100644 --- a/src/com/android/settings/display/TopLevelDisplayPreferenceController.java +++ b/src/com/android/settings/display/TopLevelDisplayPreferenceController.java @@ -29,7 +29,9 @@ public class TopLevelDisplayPreferenceController extends BasePreferenceControlle @Override public int getAvailabilityStatus() { - return AVAILABLE; + return mContext.getResources().getBoolean(R.bool.config_show_top_level_display) + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java index 82058183e5..ce85be8daf 100644 --- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java +++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java @@ -48,7 +48,9 @@ public class TopLevelBatteryPreferenceController extends BasePreferenceControlle @Override public int getAvailabilityStatus() { - return AVAILABLE_UNSEARCHABLE; + return mContext.getResources().getBoolean(R.bool.config_show_top_level_battery) + ? AVAILABLE_UNSEARCHABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml index c5c552e54e..101a6b813f 100644 --- a/tests/robotests/res/values-mcc999/config.xml +++ b/tests/robotests/res/values-mcc999/config.xml @@ -58,6 +58,9 @@ <bool name="config_show_system_update_settings">false</bool> <bool name="config_wifi_support_connected_mac_randomization">false</bool> <bool name="config_show_device_model">false</bool> + <bool name="config_show_top_level_battery">false</bool> + <bool name="config_show_top_level_connected_devices">false</bool> + <bool name="config_show_top_level_display">false</bool> <bool name="config_show_wifi_ip_address">false</bool> <bool name="config_show_wifi_mac_address">false</bool> <bool name="config_disable_uninstall_update">true</bool> diff --git a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java index f6b18a3181..ab733701cd 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java @@ -16,6 +16,9 @@ package com.android.settings.connecteddevice; +import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE; +import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; + import static com.google.common.truth.Truth.assertThat; import android.content.Context; @@ -44,6 +47,17 @@ public class TopLevelConnectedDevicesPreferenceControllerTest { } @Test + public void getAvailibilityStatus_availableByDefault() { + assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE); + } + + @Test + @Config(qualifiers = "mcc999") + public void getAvailabilityStatus_unsupportedWhenSet() { + assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); + } + + @Test @Config(shadows = ShadowAdvancedConnectedDeviceController.class) public void getSummary_shouldCallAdvancedConnectedDeviceController() { assertThat(mController.getSummary()) diff --git a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java index 9ad05ce56e..23d794c93c 100644 --- a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java @@ -17,12 +17,14 @@ package com.android.settings.display; import static com.android.settings.core.BasePreferenceController.AVAILABLE; +import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; @@ -40,11 +42,13 @@ import org.mockito.MockitoAnnotations; import java.util.ArrayList; import java.util.List; + +import org.robolectric.annotation.Config; import org.robolectric.RobolectricTestRunner; +import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class TopLevelDisplayPreferenceControllerTest { - @Mock private Context mContext; @Mock private PackageManager mPackageManager; @@ -54,6 +58,7 @@ public class TopLevelDisplayPreferenceControllerTest { @Before public void setUp() { MockitoAnnotations.initMocks(this); + mContext = spy(RuntimeEnvironment.application); when(mContext.getPackageManager()).thenReturn(mPackageManager); when(mContext.getString(R.string.config_wallpaper_picker_package)).thenReturn("pkg"); when(mContext.getString(R.string.config_wallpaper_picker_class)).thenReturn("cls"); @@ -62,11 +67,17 @@ public class TopLevelDisplayPreferenceControllerTest { } @Test - public void getAvailability_alwaysAvailable() { + public void getAvailibilityStatus_availableByDefault() { assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } @Test + @Config(qualifiers = "mcc999") + public void getAvailabilityStatus_unsupportedWhenSet() { + assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); + } + + @Test public void getSummary_hasWallpaper_shouldReturnWallpaperSummary() { final List<ResolveInfo> resolveInfos = new ArrayList<>(); resolveInfos.add(mock(ResolveInfo.class)); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java index e6efef7cc1..7568987da3 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java @@ -16,6 +16,8 @@ package com.android.settings.fuelgauge; +import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE; +import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; import static com.android.settings.fuelgauge.TopLevelBatteryPreferenceController.getDashboardLabel; import static com.google.common.truth.Truth.assertThat; @@ -25,17 +27,30 @@ import android.content.Context; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.robolectric.annotation.Config; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class TopLevelBatteryPreferenceControllerTest { - private Context mContext; + private TopLevelBatteryPreferenceController mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; + mController = new TopLevelBatteryPreferenceController(mContext, "test_key"); + } + + @Test + public void getAvailibilityStatus_availableByDefault() { + assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE); + } + + @Test + @Config(qualifiers = "mcc999") + public void getAvailabilityStatus_unsupportedWhenSet() { + assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } @Test |