Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fa4b503 authored by Mill Chen's avatar Mill Chen
Browse files

Make Color inversion shortcut searchable

The color inversion shortcut is not searchable because this preference
is dynamically created. In order to make it searchable, we should add
index raw data for this preference.

Fixes: 223514734
Test: manual test
1) Open Settings search
2) Search for shortcut
3) check that the search results have Color inversion shortcut

Change-Id: I354d0c0e63cc12bd5012d7f26a165278a40bcf2d
parent 510b5836
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
@@ -37,17 +38,22 @@ import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltip
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SettingsMainSwitchPreference;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;

import java.util.ArrayList;
import java.util.List;

/** Settings page for color inversion. */
/**
 * Settings page for color inversion.
 */
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {

    private static final String TAG = "ToggleColorInversionPreferenceFragment";
    private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;

    private static final String KEY_SHORTCUT_PREFERENCE = "color_inversion_shortcut_key";

    @Override
    protected void registerKeysToObserverCallback(
            AccessibilitySettingsContentObserver contentObserver) {
@@ -184,5 +190,17 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere
    }

    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings);
            new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings) {
                @Override
                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
                        boolean enabled) {
                    final List<SearchIndexableRaw> rawData = new ArrayList<>();
                    SearchIndexableRaw raw = new SearchIndexableRaw(context);
                    raw.key = KEY_SHORTCUT_PREFERENCE;
                    raw.title = context.getString(
                        R.string.accessibility_display_inversion_shortcut_title);
                    rawData.add(raw);
                    return rawData;
                }
            };
}