diff --git a/res/values/bools.xml b/res/values/bools.xml index b4066059aa8..08bb08cafd7 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 0d4df995058..558e7cbff00 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 2d95b657905..6d82451bad9 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 0e6bf8d3229..68b48a8203a 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; @@ -79,6 +82,17 @@ public class DeviceNamePreferenceControllerTest { mController.setLocalBluetoothManager(mBluetoothManager); } + @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);