summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Lin <linben@google.com>2018-12-14 16:00:21 -0800
committerBen Lin <linben@google.com>2018-12-14 16:00:21 -0800
commit11f698ba220daa11e5b432c9562d437d24c6a0c6 (patch)
tree58ad978033ba1200cfd7baa152c8354cce9f879b
parent0f95d9c45db904d5139107ac40d2a7bd0074a369 (diff)
downloadpackages_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
-rw-r--r--res/values/bools.xml9
-rw-r--r--src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java5
-rw-r--r--src/com/android/settings/display/TopLevelDisplayPreferenceController.java4
-rw-r--r--src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java4
-rw-r--r--tests/robotests/res/values-mcc999/config.xml3
-rw-r--r--tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java14
-rw-r--r--tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java15
-rw-r--r--tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java17
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