Merge "Disable even dimmer setting conditionally" into main

This commit is contained in:
Treehugger Robot
2024-03-25 12:59:59 +00:00
committed by Android (Google) Code Review
2 changed files with 25 additions and 1 deletions

View File

@@ -47,7 +47,16 @@ public class EvenDimmerPreferenceController extends TogglePreferenceController {
// enable based on flag and config.xml
final boolean enabledInConfig = mResources.getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
return (Flags.evenDimmer() && enabledInConfig) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
if (Flags.evenDimmer() && enabledInConfig) {
return Settings.System.getInt(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL)
== Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC ? AVAILABLE
: DISABLED_DEPENDENT_SETTING;
} else {
return UNSUPPORTED_ON_DEVICE;
}
}
@Override

View File

@@ -18,6 +18,7 @@ package com.android.settings.display;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
import static com.google.common.truth.Truth.assertThat;
@@ -111,4 +112,18 @@ public class EvenDimmerPreferenceControllerTest {
assertThat(Settings.Secure.getFloat(mContext.getContentResolver(),
Settings.Secure.EVEN_DIMMER_ACTIVATED)).isEqualTo(0.0f); // false
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_EVEN_DIMMER)
public void testDisabledIfAutobrightnessIsOff() {
// Autobrightness off
Settings.System.putInt(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
// Try turn controller on
mController.setChecked(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
DISABLED_DEPENDENT_SETTING);
}
}