Merge "[Captioning preferences] Fix wrong color if default color selected"

This commit is contained in:
Menghan Li
2022-08-17 08:20:48 +00:00
committed by Android (Google) Code Review
6 changed files with 132 additions and 6 deletions

View File

@@ -27,6 +27,7 @@ import android.content.Context;
import android.provider.Settings;
import android.util.AttributeSet;
import android.view.accessibility.CaptioningManager;
import android.view.accessibility.CaptioningManager.CaptionStyle;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -101,6 +102,29 @@ public class CaptioningBackgroundColorControllerTest {
assertThat(mPreference.getSummary().toString()).isEqualTo("Red");
}
@Test
public void setNoneColorValue_shouldNotHaveColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setBackgroundColor(0xFFFF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
assertThat(CaptionStyle.hasColor(captionHelper.getBackgroundColor())).isFalse();
}
@Test
public void setRedValueFromNoneValue_halfOpacityRedColor_shouldReturnExpectedColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setBackgroundColor(0x80FF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
mPreference.setValue(0xFFFF0000);
assertThat(captionHelper.getBackgroundColor()).isEqualTo(0x80FF0000);
}
@Test
public void onValueChanged_shouldSetCaptionEnabled() {
mShadowCaptioningManager.setEnabled(false);

View File

@@ -27,6 +27,7 @@ import android.content.Context;
import android.provider.Settings;
import android.util.AttributeSet;
import android.view.accessibility.CaptioningManager;
import android.view.accessibility.CaptioningManager.CaptionStyle;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -101,6 +102,29 @@ public class CaptioningForegroundColorControllerTest {
assertThat(mPreference.getSummary().toString()).isEqualTo("Red");
}
@Test
public void setNoneColorValue_shouldNotHaveColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setForegroundColor(0xFFFF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
assertThat(CaptionStyle.hasColor(captionHelper.getForegroundColor())).isFalse();
}
@Test
public void setRedValueFromNoneValue_halfOpacityRedColor_shouldReturnExpectedColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setForegroundColor(0x80FF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
mPreference.setValue(0xFFFF0000);
assertThat(captionHelper.getForegroundColor()).isEqualTo(0x80FF0000);
}
@Test
public void onValueChanged_shouldSetCaptionEnabled() {
mShadowCaptioningManager.setEnabled(false);

View File

@@ -27,6 +27,7 @@ import android.content.Context;
import android.provider.Settings;
import android.util.AttributeSet;
import android.view.accessibility.CaptioningManager;
import android.view.accessibility.CaptioningManager.CaptionStyle;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -102,6 +103,29 @@ public class CaptioningWindowColorControllerTest {
assertThat(mPreference.getSummary().toString()).isEqualTo("Red");
}
@Test
public void setNoneColorValue_shouldNotHaveColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setWindowColor(0xFFFF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
assertThat(CaptionStyle.hasColor(captionHelper.getWindowColor())).isFalse();
}
@Test
public void setRedValueFromNoneValue_halfOpacityRedColor_shouldReturnExpectedColor() {
final CaptionHelper captionHelper = new CaptionHelper(mContext);
captionHelper.setWindowColor(0x80FF0000);
mController.displayPreference(mScreen);
mPreference.setValue(0x00FFFFFF);
mPreference.setValue(0xFFFF0000);
assertThat(captionHelper.getWindowColor()).isEqualTo(0x80FF0000);
}
@Test
public void onValueChanged_shouldSetCaptionEnabled() {
mShadowCaptioningManager.setEnabled(false);