diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java index 9c344df7689..c02240950eb 100644 --- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java +++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java @@ -37,7 +37,10 @@ import com.android.internal.widget.SubtitleView; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.accessibility.ListDialogPreference.OnValueChangedListener; +import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.accessibility.AccessibilityUtils; +import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.search.SearchIndexableRaw; import com.android.settingslib.widget.LayoutPreference; import java.util.ArrayList; @@ -47,6 +50,7 @@ import java.util.Locale; /** * Settings fragment containing captioning properties. */ +@SearchIndexable public class CaptionPropertiesFragment extends SettingsPreferenceFragment implements OnPreferenceChangeListener, OnValueChangedListener { private static final String PREF_CAPTION_PREVIEW = "caption_preview"; @@ -420,4 +424,90 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment return true; } + + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider() { + @Override + public List getRawDataToIndex(Context context, + boolean enabled) { + final Resources res = context.getResources(); + final List indexRaws = new ArrayList<>(); + + SearchIndexableRaw raw = new SearchIndexableRaw(context); + raw.key = PREF_SWITCH; + raw.title = res.getString(R.string.accessibility_caption_master_switch_title); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_FONT_SIZE; + raw.title = res.getString(R.string.captioning_text_size); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_PRESET; + raw.title = res.getString(R.string.captioning_preset); + indexRaws.add(raw); + + return indexRaws; + } + + @Override + public List getDynamicRawDataToIndex(Context context, + boolean enabled) { + final ContentResolver cr = context.getContentResolver(); + final int preserValue = Settings.Secure.getInt(cr, + Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET, 0); + if (preserValue != CaptionStyle.PRESET_CUSTOM) { + return null; + } + final Resources res = context.getResources(); + final List indexRaws = new ArrayList<>(); + SearchIndexableRaw raw = new SearchIndexableRaw(context); + raw.key = PREF_TYPEFACE; + raw.title = res.getString(R.string.captioning_typeface); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_FOREGROUND_COLOR; + raw.title = res.getString(R.string.captioning_foreground_color); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_FOREGROUND_OPACITY; + raw.title = res.getString(R.string.captioning_foreground_opacity); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_EDGE_TYPE; + raw.title = res.getString(R.string.captioning_edge_type); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_EDGE_COLOR; + raw.title = res.getString(R.string.captioning_edge_color); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_BACKGROUND_COLOR; + raw.title = res.getString(R.string.captioning_background_color); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_BACKGROUND_OPACITY; + raw.title = res.getString(R.string.captioning_background_opacity); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_WINDOW_COLOR; + raw.title = res.getString(R.string.captioning_window_color); + indexRaws.add(raw); + + raw = new SearchIndexableRaw(context); + raw.key = PREF_WINDOW_OPACITY; + raw.title = res.getString(R.string.captioning_window_opacity); + indexRaws.add(raw); + + return indexRaws; + } + }; } diff --git a/tests/robotests/assets/grandfather_not_implementing_index_provider b/tests/robotests/assets/grandfather_not_implementing_index_provider index 013e596f247..f836e6405ee 100644 --- a/tests/robotests/assets/grandfather_not_implementing_index_provider +++ b/tests/robotests/assets/grandfather_not_implementing_index_provider @@ -1,5 +1,4 @@ com.android.settings.accessibility.AccessibilitySettingsForSetupWizard -com.android.settings.accessibility.CaptionPropertiesFragment com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard