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

Commit 7f5692bd authored by Fan Zhang's avatar Fan Zhang
Browse files

Misc search clean up

- Make color mode page searchable and suppress its parent page.
- Suppress entire DataUsageSummaryLegacy page in search. This page will
  be deleted soon

Change-Id: I0f98c9073358934b98e986d034c89a9bf87e58ad
Fixes: 70720645
Test: robotests
parent 7bc2f981
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@
        android:key="color_mode"
        android:title="@string/color_mode_title"
        android:fragment="com.android.settings.display.ColorModePreferenceFragment"
        settings:controller="com.android.settings.display.ColorModePreferenceController"
        settings:keywords="@string/keywords_color_mode" />

    <Preference
+0 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.display.BrightnessLevelPreferenceController;
import com.android.settings.display.CameraGesturePreferenceController;
import com.android.settings.display.ColorModePreferenceController;
import com.android.settings.display.LiftToWakePreferenceController;
import com.android.settings.display.NightDisplayPreferenceController;
import com.android.settings.display.NightModePreferenceController;
@@ -94,7 +93,6 @@ public class DisplaySettings extends DashboardFragment {
        controllers.add(new WallpaperPreferenceController(context));
        controllers.add(new ThemePreferenceController(context));
        controllers.add(new BrightnessLevelPreferenceController(context, lifecycle));
        controllers.add(new ColorModePreferenceController(context));
        return controllers;
    }

+8 −59
Original line number Diff line number Diff line
@@ -22,10 +22,6 @@ import android.net.NetworkPolicyManager;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.text.BidiFormatter;
@@ -43,20 +39,20 @@ import com.android.settings.R;
import com.android.settings.SummaryPreference;
import com.android.settings.Utils;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.net.DataUsageController;
import com.android.settingslib.search.SearchIndexable;

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

import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

/**
 * Legacy {@link DataUsageSummary} fragment.
 */
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class DataUsageSummaryLegacy extends DataUsageBaseFragment implements Indexable,
        DataUsageEditController {

@@ -360,51 +356,4 @@ public class DataUsageSummaryLegacy extends DataUsageBaseFragment implements Ind

    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
            = SummaryProvider::new;

    /**
     * For search
     */
    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
        new BaseSearchIndexProvider() {

            @Override
            public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
                    boolean enabled) {
                List<SearchIndexableResource> resources = new ArrayList<>();
                SearchIndexableResource resource = new SearchIndexableResource(context);
                resource.xmlResId = R.xml.data_usage_legacy;
                resources.add(resource);

                resource = new SearchIndexableResource(context);
                resource.xmlResId = R.xml.data_usage_cellular;
                resources.add(resource);

                resource = new SearchIndexableResource(context);
                resource.xmlResId = R.xml.data_usage_wifi;
                resources.add(resource);

                return resources;
            }

            @Override
            public List<String> getNonIndexableKeys(Context context) {
                List<String> keys = super.getNonIndexableKeys(context);

                if (!DataUsageUtils.hasMobileData(context)) {
                    keys.add(KEY_MOBILE_USAGE_TITLE);
                    keys.add(KEY_MOBILE_DATA_USAGE_TOGGLE);
                    keys.add(KEY_MOBILE_DATA_USAGE);
                    keys.add(KEY_MOBILE_BILLING_CYCLE);
                }

                if (!DataUsageUtils.hasWifiRadio(context)) {
                    keys.add(KEY_WIFI_DATA_USAGE);
                }

                // This title is named Wifi, and will confuse users.
                keys.add(KEY_WIFI_USAGE_TITLE);

                return keys;
            }
        };
}
+3 −4
Original line number Diff line number Diff line
@@ -27,15 +27,14 @@ import com.android.settings.core.BasePreferenceController;

public class ColorModePreferenceController extends BasePreferenceController {
    private static final String TAG = "ColorModePreference";
    private static final String KEY_COLOR_MODE = "color_mode";

    private static final int SURFACE_FLINGER_TRANSACTION_QUERY_WIDE_COLOR = 1024;

    private final ConfigurationWrapper mConfigWrapper;
    private ColorDisplayController mColorDisplayController;

    public ColorModePreferenceController(Context context) {
        super(context, KEY_COLOR_MODE);
    public ColorModePreferenceController(Context context, String key) {
        super(context, key);
        mConfigWrapper = new ConfigurationWrapper();
    }

@@ -43,7 +42,7 @@ public class ColorModePreferenceController extends BasePreferenceController {
    public int getAvailabilityStatus() {
        return mConfigWrapper.isScreenWideColorGamut()
                && !getColorDisplayController().getAccessibilityTransformActivated() ?
                AVAILABLE : DISABLED_FOR_USER;
                AVAILABLE_UNSEARCHABLE : DISABLED_FOR_USER;
    }

    @Override
+18 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ package com.android.settings.display;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.provider.SearchIndexableResource;

import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceScreen;

@@ -23,13 +25,18 @@ import com.android.internal.logging.nano.MetricsProto;

import com.android.settings.applications.LayoutPreference;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.widget.RadioButtonPickerFragment;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.CandidateInfo;

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

@SuppressWarnings("WeakerAccess")
@SearchIndexable
public class ColorModePreferenceFragment extends RadioButtonPickerFragment
        implements ColorDisplayController.Callback {

@@ -181,4 +188,15 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment
            getActivity().onBackPressed();
        }
    }

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
                @Override
                public List<SearchIndexableResource> getXmlResourcesToIndex(
                        Context context, boolean enabled) {
                    final SearchIndexableResource sir = new SearchIndexableResource(context);
                    sir.xmlResId = R.xml.color_mode_settings;
                    return Arrays.asList(sir);
                }
            };
}
Loading