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

Commit d96ae335 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Merge cherrypicks of [3116469, 3116470, 3116074, 3116075, 3116498, 3116499,...

Merge cherrypicks of [3116469, 3116470, 3116074, 3116075, 3116498, 3116499, 3117095, 3115988, 3116845, 3116471, 3116500, 3116573, 3115989, 3116501, 3116076, 3116472] into oc-mr1-release

Change-Id: I174cd31296e511ffd4498e7e6184821cee8099b8
parents 7e98aa12 df948f6f
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);