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:
Riley Jones
2024-11-21 19:55:28 +00:00
parent e39b2c18d8
commit 6f8e823e0e
24 changed files with 106 additions and 288 deletions

View File

@@ -18,6 +18,8 @@ package com.android.settings.accessibility;
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
import android.content.ContentResolver;
import android.content.Context;
@@ -211,4 +213,14 @@ public class CaptionHelper {
public Locale getLocale() {
return mCaptioningManager.getLocale();
}
/** Returns availability for custom caption preferences, depending on current user style. */
public int getCustomCaptionAvailability() {
if (com.android.settings.accessibility.Flags.fixA11ySettingsSearch()) {
return (getRawUserStyle() == CaptionStyle.PRESET_CUSTOM)
? AVAILABLE : AVAILABLE_UNSEARCHABLE;
} else {
return AVAILABLE;
}
}
}