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

Commit dd8e66fa authored by Rajeev Kumar's avatar Rajeev Kumar
Browse files

Remove SearchIndexProvider from DataPlanUsageSummary fragment.

This change will prevent showing Data plan usage in the settings search.
Data plan usage feature has been punted to next release and we do not
want to show this to user in current release.

Bug: 68022715
Test: make RunSettingsRoboTests -j40
Change-Id: I56b71796e3c426122434ca9e86c1a2db691849cf
DO NOT MERGE
parent e1543a38
Loading
Loading
Loading
Loading
+1 −49
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
@@ -44,14 +43,12 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
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.net.DataUsageController;
import java.util.ArrayList;
import java.util.List;

public class DataPlanUsageSummary extends DataUsageBase implements Indexable {
public class DataPlanUsageSummary extends DataUsageBase {

    public static final String KEY_DATA_PLAN_USAGE = "data_plan_usage";

@@ -353,50 +350,5 @@ public class DataPlanUsageSummary extends DataUsageBase implements Indexable {

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

    /**
     * For search
     */
    public static final 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;
                    resources.add(resource);

                    resource = new SearchIndexableResource(context);
                    resource.xmlResId = R.xml.data_plan_usage_cell_data_preference_screen;
                    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);
                    }

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

                    keys.add(KEY_WIFI_USAGE_TITLE);

                    return keys;
                }
            };
}
+0 −2
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ import com.android.settings.backup.BackupSettingsActivity;
import com.android.settings.backup.BackupSettingsFragment;
import com.android.settings.bluetooth.BluetoothSettings;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.datausage.DataPlanUsageSummary;
import com.android.settings.datausage.DataUsageMeteredSettings;
import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
@@ -135,7 +134,6 @@ public final class SearchIndexableResources {
                R.drawable.ic_settings_wireless);
        addIndex(BluetoothSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_bluetooth);
        addIndex(SimSettings.class, NO_DATA_RES_ID, R.drawable.ic_sim_sd);
        addIndex(DataPlanUsageSummary.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage);
        addIndex(DataUsageSummary.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage);
        addIndex(DataUsageMeteredSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage);
        addIndex(ScreenZoomSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_display);
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ com.android.settings.inputmethod.UserDictionaryList
com.android.settings.datausage.DataSaverSummary
com.android.settings.notification.ChannelNotificationSettings
com.android.settings.datausage.AppDataUsage
com.android.settings.datausage.DataPlanUsageSummary
com.android.settings.accessibility.FontSizePreferenceFragmentForSetupWizard
com.android.settings.applications.ManageDomainUrls
com.android.settings.applications.WriteSettingsDetails
+0 −52
Original line number Diff line number Diff line
@@ -33,18 +33,13 @@ import android.net.wifi.WifiManager;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.XmlTestUtils;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
import com.android.settingslib.NetworkPolicyEditor;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers;
@@ -129,53 +124,6 @@ public class DataPlanUsageSummaryTest {
        assertThat(mDataUsageSummary.isMetered(mWifiConfiguration)).isFalse();
    }

    @Test
    @Config(shadows = ShadowDataUsageUtils.class)
    public void testNonIndexableKeys_existInXmlLayout() {
        final Context context = RuntimeEnvironment.application;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        final List<String> niks = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER
                .getNonIndexableKeys(context);
        final List<String> keys = new ArrayList<>();

        keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.data_usage_wifi));
        keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.data_usage));
        keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context,
                R.xml.data_plan_usage_cell_data_preference_screen));

        assertThat(keys).containsAllIn(niks);
    }

    @Test
    @Config(shadows = ShadowDataUsageUtils.class)
    public void testNonIndexableKeys_hasMobileData_hasWifi_allNonIndexableKeysAdded() {
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = false;
        List<String> keys = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER
                .getNonIndexableKeys(mContext);

        // Mobile data keys
        assertThat(keys).contains(DataPlanUsageSummary.KEY_MOBILE_USAGE_TITLE);
        assertThat(keys).contains(DataPlanUsageSummary.KEY_MOBILE_DATA_USAGE_TOGGLE);

        // Wifi keys
        assertThat(keys).contains(DataPlanUsageSummary.KEY_WIFI_DATA_USAGE);
        assertThat(keys).contains(DataPlanUsageSummary.KEY_NETWORK_RESTRICTIONS);
        assertThat(keys).contains(DataPlanUsageSummary.KEY_WIFI_USAGE_TITLE);
    }

    @Test
    @Config(shadows = ShadowDataUsageUtils.class)
    public void testNonIndexableKeys_noMobile_noWifi_limitedNonIndexableKeys() {
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        List<String> keys = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER
                .getNonIndexableKeys(mContext);

        assertThat(keys).containsExactly(DataPlanUsageSummary.KEY_WIFI_USAGE_TITLE);
    }

    private void initTest() {
        mDataUsageSummary = new DataPlanUsageSummary();
        mPolicyEditor = mock(NetworkPolicyEditor.class);