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

Commit 079f6bd6 authored by Doris Ling's avatar Doris Ling
Browse files

Set correct network type when launching wifi usage data.

- when launching wifi data usage, need to explicitly set the network
type to wifi. Otherwise, the data usage list will try to show data for
the default mobile data usage.

Change-Id: I819538d2c53664635bc1c2a721d6d7f6799c6123
Fixes: 123205630
Test: make RunSettingsRoboTests
parent 1fe41d44
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.net.ConnectivityManager;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.text.Spannable;
@@ -206,10 +207,12 @@ public class DataUsageSummaryPreference extends Preference {
        }
    }

    private static void launchWifiDataUsage(Context context) {
    @VisibleForTesting
    static void launchWifiDataUsage(Context context) {
        final Bundle args = new Bundle(1);
        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
                NetworkTemplate.buildTemplateWifiWildcard());
        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
        final SubSettingLauncher launcher = new SubSettingLauncher(context)
                .setArguments(args)
                .setDestination(DataUsageList.class.getName())
+13 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.graphics.Typeface;
import android.net.ConnectivityManager;
import android.net.NetworkTemplate;
import android.os.Bundle;
import android.telephony.SubscriptionManager;
@@ -531,6 +532,18 @@ public class DataUsageSummaryPreferenceTest {
        assertThat(mLaunchButton.isEnabled()).isFalse();
    }

    @Test
    public void launchWifiDataUsage_shouldSetWifiNetworkTypeInIntentExtra() {
        mSummaryPreference.launchWifiDataUsage(mActivity);

        final Intent launchIntent = Shadows.shadowOf(mActivity).getNextStartedActivity();
        final Bundle args =
            launchIntent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);

        assertThat(args.getInt(DataUsageList.EXTRA_NETWORK_TYPE))
            .isEqualTo(ConnectivityManager.TYPE_WIFI);
    }

    private void bindViewHolder() {
        mSummaryPreference.onBindViewHolder(mHolder);
        mUsageTitle = (TextView) mHolder.findViewById(R.id.usage_title);