Makes all custom caption settings unsearchable when custom captions are not active.
Unifies all custom caption controllers under a base controller, whose searchability is directly determined by CaptionHelper#getCustomCaptionAvailability(). Test: atest CaptionHelperTest Bug: 353757664 Flag: com.android.settings.accessibility.fix_a11y_settings_search Change-Id: If44e6eca4c72aa4413cd0a6e8735dbb22c7abe62
This commit is contained in:
@@ -26,6 +26,9 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
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.view.View;
|
||||
import android.view.accessibility.CaptioningManager;
|
||||
@@ -35,6 +38,7 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.internal.widget.SubtitleView;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -54,6 +58,8 @@ public class CaptionHelperTest {
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
@Mock
|
||||
private CaptioningManager mCaptioningManager;
|
||||
@Mock
|
||||
@@ -182,4 +188,40 @@ public class CaptionHelperTest {
|
||||
Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET, 0);
|
||||
assertThat(style).isEqualTo(CaptionStyle.PRESET_CUSTOM);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_flagOff_customCaption_shouldReturnAvailable() {
|
||||
when(mCaptioningManager.getRawUserStyle()).thenReturn(CaptionStyle.PRESET_CUSTOM);
|
||||
|
||||
assertThat(mCaptionHelper.getCustomCaptionAvailability())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_flagOff_notCustom_shouldReturnAvailable() {
|
||||
when(mCaptioningManager.getRawUserStyle()).thenReturn(0);
|
||||
|
||||
assertThat(mCaptionHelper.getCustomCaptionAvailability())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_customCaption_shouldReturnAvailable() {
|
||||
when(mCaptioningManager.getRawUserStyle()).thenReturn(CaptionStyle.PRESET_CUSTOM);
|
||||
|
||||
assertThat(mCaptionHelper.getCustomCaptionAvailability())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_notCustom_shouldReturnUnsearchable() {
|
||||
when(mCaptioningManager.getRawUserStyle()).thenReturn(0);
|
||||
|
||||
assertThat(mCaptionHelper.getCustomCaptionAvailability())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
|
||||
}
|
||||
}
|
||||
|
@@ -32,8 +32,6 @@ import android.view.accessibility.CaptioningManager.CaptionStyle;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -70,12 +68,6 @@ public class CaptioningBackgroundColorControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnBlack() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -31,8 +31,6 @@ import android.view.accessibility.CaptioningManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -69,12 +67,6 @@ public class CaptioningBackgroundOpacityControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnNonTransparent() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -23,9 +23,6 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
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.view.accessibility.CaptioningManager.CaptionStyle;
|
||||
|
||||
@@ -33,8 +30,6 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -52,8 +47,6 @@ public class CaptioningCustomControllerTest {
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
@Mock
|
||||
private PreferenceScreen mScreen;
|
||||
@Mock
|
||||
@@ -62,44 +55,16 @@ public class CaptioningCustomControllerTest {
|
||||
private ContentResolver mContentResolver;
|
||||
private CaptioningCustomController mController;
|
||||
private Preference mPreference;
|
||||
private CaptionHelper mCaptionHelper;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
mCaptionHelper = new CaptionHelper(mContext);
|
||||
mController = new CaptioningCustomController(mContext, PREF_KEY, mCaptionHelper,
|
||||
mController = new CaptioningCustomController(mContext, PREF_KEY,
|
||||
mAccessibilitySettingsContentObserver);
|
||||
mPreference = new Preference(mContext);
|
||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_customCaption_shouldReturnAvailable() {
|
||||
mCaptionHelper.setRawUserStyle(CaptionStyle.PRESET_CUSTOM);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_notCustom_shouldReturnUnsearchable() {
|
||||
mCaptionHelper.setRawUserStyle(0);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void displayPreference_byDefault_shouldIsInvisible() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -31,8 +31,6 @@ import android.view.accessibility.CaptioningManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -67,12 +65,6 @@ public class CaptioningEdgeColorControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnBlack() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -32,8 +32,6 @@ import android.view.accessibility.CaptioningManager.CaptionStyle;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -69,12 +67,6 @@ public class CaptioningEdgeTypeControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnNone() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -22,7 +22,6 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.content.Context;
|
||||
|
@@ -32,8 +32,6 @@ import android.view.accessibility.CaptioningManager.CaptionStyle;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -70,12 +68,6 @@ public class CaptioningForegroundColorControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnWhite() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -31,8 +31,6 @@ import android.view.accessibility.CaptioningManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -69,12 +67,6 @@ public class CaptioningForegroundOpacityControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnNonTransparent() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -32,7 +32,6 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -70,12 +69,6 @@ public class CaptioningTypefaceControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_byDefault_shouldReturnDefault() {
|
||||
mController.updateState(mPreference);
|
||||
|
@@ -24,8 +24,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
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.util.AttributeSet;
|
||||
@@ -36,7 +34,6 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -64,13 +61,11 @@ public class CaptioningWindowColorControllerTest {
|
||||
private CaptioningWindowColorController mController;
|
||||
private ColorPreference mPreference;
|
||||
private ShadowCaptioningManager mShadowCaptioningManager;
|
||||
private CaptionHelper mCaptionHelper;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mCaptionHelper = new CaptionHelper(mContext);
|
||||
mController = new CaptioningWindowColorController(
|
||||
mContext, "captioning_window_color", mCaptionHelper);
|
||||
mContext, "captioning_window_color");
|
||||
final AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
|
||||
mPreference = new ColorPreference(mContext, attributeSet);
|
||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
|
||||
@@ -78,31 +73,6 @@ public class CaptioningWindowColorControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_customCaption_shouldReturnAvailable() {
|
||||
mCaptionHelper.setRawUserStyle(CaptionStyle.PRESET_CUSTOM);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_noCustom_shouldReturnUnsearchable() {
|
||||
mCaptionHelper.setRawUserStyle(0);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnNone() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
@@ -24,8 +24,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
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.util.AttributeSet;
|
||||
@@ -34,8 +32,6 @@ import android.view.accessibility.CaptioningManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -62,13 +58,11 @@ public class CaptioningWindowOpacityControllerTest {
|
||||
private CaptioningWindowOpacityController mController;
|
||||
private ColorPreference mPreference;
|
||||
private ShadowCaptioningManager mShadowCaptioningManager;
|
||||
private CaptionHelper mCaptionHelper;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mCaptionHelper = new CaptionHelper(mContext);
|
||||
mController = new CaptioningWindowOpacityController(
|
||||
mContext, "captioning_window_opacity", mCaptionHelper);
|
||||
mContext, "captioning_window_opacity");
|
||||
final AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
|
||||
mPreference = new ColorPreference(mContext, attributeSet);
|
||||
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
|
||||
@@ -76,31 +70,6 @@ public class CaptioningWindowOpacityControllerTest {
|
||||
mShadowCaptioningManager = Shadow.extract(captioningManager);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_shouldReturnAvailable() {
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_customCaption_shouldReturnAvailable() {
|
||||
mCaptionHelper.setRawUserStyle(CaptioningManager.CaptionStyle.PRESET_CUSTOM);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(
|
||||
BasePreferenceController.AVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_FIX_A11Y_SETTINGS_SEARCH)
|
||||
public void getAvailabilityStatus_notCustom_shouldReturnUnsearchable() {
|
||||
mCaptionHelper.setRawUserStyle(0);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(
|
||||
BasePreferenceController.AVAILABLE_UNSEARCHABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_defaultValue_shouldReturnNonTransparent() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
Reference in New Issue
Block a user