Merge "fix(ReduceBrightColorsPreferenceController) Different feature configs" into main

This commit is contained in:
Menghan Li
2024-12-16 18:06:20 -08:00
committed by Android (Google) Code Review

View File

@@ -24,20 +24,29 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings; import android.provider.Settings;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.internal.R; import com.android.internal.R;
import com.android.server.display.feature.flags.Flags;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
/** Tests for {@link ReduceBrightColorsIntensityPreferenceController} */
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public class ReduceBrightColorsIntensityPreferenceControllerTest { public class ReduceBrightColorsIntensityPreferenceControllerTest {
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext; private Context mContext;
private Resources mResources; private Resources mResources;
private ReduceBrightColorsIntensityPreferenceController mPreferenceController; private ReduceBrightColorsIntensityPreferenceController mPreferenceController;
@@ -52,27 +61,119 @@ public class ReduceBrightColorsIntensityPreferenceControllerTest {
} }
@Test @Test
public void isAvailable_configuredRbcAvailable_enabledRbc_shouldReturnTrue() { @DisableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOnAndAvailable_returnTrue() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(true).when(mResources).getBoolean( doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable); R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isTrue(); assertThat(mPreferenceController.isAvailable()).isTrue();
} }
@Test @Test
public void isAvailable_configuredRbcAvailable_disabledRbc_shouldReturnTrue() { @DisableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOffAndAvailable_returnTrue() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0); Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0);
doReturn(true).when(mResources).getBoolean( doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable); R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isTrue(); assertThat(mPreferenceController.isAvailable()).isTrue();
} }
@Test @Test
public void isAvailable_configuredRbcUnavailable_enabledRbc_shouldReturnFalse() { @DisableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOffAndDisabled_RbcOnAndUnavailable_returnFalse() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1); Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(false).when(mResources).getBoolean( doReturn(false).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable); R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isFalse();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOnAndAvailable_returnTrue() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isTrue();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOffAndAvailable_returnTrue() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0);
doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isTrue();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndDisabled_RbcOnAndUnavailable_returnFalse() {
doReturn(false).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(false).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isFalse();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOnAndAvailable_returnFalse() {
doReturn(true).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isFalse();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOffAndAvailable_returnFalse() {
doReturn(true).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 0);
doReturn(true).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isFalse();
}
@Test
@EnableFlags(Flags.FLAG_EVEN_DIMMER)
public void isAvailable_whenEvenDimmerOnAndEnabled_RbcOnAndUnavailable_returnFalse() {
doReturn(true).when(mResources).getBoolean(
com.android.internal.R.bool.config_evenDimmerEnabled);
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED, 1);
doReturn(false).when(mResources).getBoolean(
R.bool.config_reduceBrightColorsAvailable);
assertThat(mPreferenceController.isAvailable()).isFalse(); assertThat(mPreferenceController.isAvailable()).isFalse();
} }