From 7758fcc6dd07a6ecd77a77364092d185fe96d14b Mon Sep 17 00:00:00 2001 From: Prabir Pradhan Date: Wed, 25 Jul 2018 13:55:56 -0700 Subject: [PATCH] Add a boolean flag to show or hide the device name in About device. The following boolean flag is added: config_show_device_name When set to false, the device name will not be shown in System > About Device. Bug: 111653180 Test: Updated robotests Change-Id: Id9610e2009604c9d9693428adff01adc7d606565 --- res/values/bools.xml | 3 +++ .../deviceinfo/DeviceNamePreferenceController.java | 5 ++++- tests/robotests/res/values-mcc999/config.xml | 1 + .../deviceinfo/DeviceNamePreferenceControllerTest.java | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/res/values/bools.xml b/res/values/bools.xml index b4066059aa..08bb08cafd 100644 --- a/res/values/bools.xml +++ b/res/values/bools.xml @@ -32,6 +32,9 @@ Can be overridden for specific product builds. --> false + + true + false diff --git a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java index 0d4df99505..558e7cbff0 100644 --- a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java +++ b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java @@ -27,6 +27,7 @@ import android.text.SpannedString; import com.android.settings.bluetooth.BluetoothLengthDeviceNameFilter; import com.android.settings.core.BasePreferenceController; +import com.android.settings.R; import com.android.settings.widget.ValidatedEditTextPreference; import com.android.settings.wifi.tether.WifiDeviceNameTextValidator; import com.android.settingslib.bluetooth.LocalBluetoothAdapter; @@ -90,7 +91,9 @@ public class DeviceNamePreferenceController extends BasePreferenceController @Override public int getAvailabilityStatus() { - return AVAILABLE; + return mContext.getResources().getBoolean(R.bool.config_show_device_name) + ? AVAILABLE + : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml index 2d95b65790..6d82451bad 100644 --- a/tests/robotests/res/values-mcc999/config.xml +++ b/tests/robotests/res/values-mcc999/config.xml @@ -61,6 +61,7 @@ false false true + false diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java index 0e6bf8d322..68b48a8203 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java @@ -16,6 +16,8 @@ package com.android.settings.deviceinfo; +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.anyString; import static org.mockito.ArgumentMatchers.eq; @@ -41,6 +43,7 @@ import org.mockito.Answers; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import androidx.preference.PreferenceScreen; @@ -80,6 +83,17 @@ public class DeviceNamePreferenceControllerTest { } @Test + 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 constructor_defaultDeviceNameIsModelName() { assertThat(mController.getSummary()).isEqualTo(Build.MODEL); } -- 2.11.0