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

Commit 51e1576c authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Status header not clickable in DataUsageSummary

Status header (DataUsageSummaryPreference) is not clickable in the
DataUsageSummary.

So remove the legacy logics, to unblock unified default template.

Bug: 234104784
Test: m RunSettingsRoboTests
Change-Id: I3dddf4ec3f84d53fd07afbb62d171942a6acce5d
parent 0bcf5b79
Loading
Loading
Loading
Loading
+4 −37
Original line number Diff line number Diff line
@@ -36,11 +36,11 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.datausage.lib.DataUsageLib;
import com.android.settings.network.ProxySubscriptionManager;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.telephony.MobileNetworkUtils;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.core.AbstractPreferenceController;

import java.util.ArrayList;
@@ -49,7 +49,7 @@ import java.util.List;
/**
 * Settings preference fragment that displays data usage summary.
 */
public class DataUsageSummary extends DataUsageBaseFragment implements DataUsageEditController {
public class DataUsageSummary extends DashboardFragment {

    private static final String TAG = "DataUsageSummary";

@@ -57,14 +57,9 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage

    public static final String KEY_RESTRICT_BACKGROUND = "restrict_background";

    private static final String KEY_STATUS_HEADER = "status_header";

    // Mobile data keys
    public static final String KEY_MOBILE_USAGE_TITLE = "mobile_category";

    private DataUsageSummaryPreference mSummaryPreference;
    private DataUsageSummaryPreferenceController mSummaryController;
    private NetworkTemplate mDefaultTemplate;
    private ProxySubscriptionManager mProxySubscriptionMgr;

    @Override
@@ -100,8 +95,6 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
        if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
            hasMobileData = false;
        }
        mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId);
        mSummaryPreference = findPreference(KEY_STATUS_HEADER);

        if (!hasMobileData || !UserManager.get(context).isAdminUser()) {
            removePreference(KEY_RESTRICT_BACKGROUND);
@@ -126,15 +119,6 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
        setHasOptionsMenu(true);
    }

    @Override
    public boolean onPreferenceTreeClick(Preference preference) {
        if (preference == findPreference(KEY_STATUS_HEADER)) {
            BillingCycleSettings.BytesEditorFragment.show(this, false);
            return false;
        }
        return super.onPreferenceTreeClick(preference);
    }

    @Override
    protected int getPreferenceScreenResId() {
        return R.xml.data_usage;
@@ -153,8 +137,7 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
            MobileNetworkUtils.isMobileNetworkUserRestricted(context)) {
            return controllers;
        }
        mSummaryController =
                new DataUsageSummaryPreferenceController(activity,
        final var mSummaryController = new DataUsageSummaryPreferenceController(activity,
                DataUsageUtils.getDefaultSubscriptionId(activity));
        controllers.add(mSummaryController);
        return controllers;
@@ -269,22 +252,6 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
        return SettingsEnums.DATA_USAGE_SUMMARY;
    }

    @Override
    public NetworkPolicyEditor getNetworkPolicyEditor() {
        return services.mPolicyEditor;
    }

    @Override
    public NetworkTemplate getNetworkTemplate() {
        return mDefaultTemplate;
    }

    @Override
    public void updateDataUsage() {
        updateState();
        mSummaryController.updateState(mSummaryPreference);
    }

    private static boolean isGuestUser(Context context) {
        if (context == null) return false;
        final UserManager userManager = context.getSystemService(UserManager.class);
+0 −1
Original line number Diff line number Diff line
@@ -417,7 +417,6 @@ public class AppDataUsageTest {
    public void onCreate_noNetworkTemplateAndInvalidDataSubscription_shouldUseWifiTemplate() {
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.HAS_SIM = false;
        ShadowSubscriptionManager.setDefaultDataSubscriptionId(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
        mFragment = spy(new TestFragment());
+1 −33
Original line number Diff line number Diff line
@@ -27,15 +27,11 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;

import android.app.usage.NetworkStatsManager;
import android.content.Context;
import android.content.res.Resources;
import android.net.NetworkPolicyManager;
import android.os.UserManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;

import androidx.fragment.app.FragmentActivity;
import androidx.test.core.app.ApplicationProvider;

import com.android.settings.R;
@@ -45,7 +41,6 @@ import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.testutils.shadow.ShadowUtils;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -53,13 +48,9 @@ import org.mockito.Mock;
import org.mockito.Spy;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowSubscriptionManager;
import org.robolectric.shadows.ShadowTelephonyManager;

@Config(shadows = {
        ShadowUtils.class,
@@ -75,13 +66,6 @@ public class DataUsageSummaryTest {
    Context mContext = ApplicationProvider.getApplicationContext();
    @Mock
    private UserManager mUserManager;
    @Mock
    private NetworkPolicyManager mNetworkPolicyManager;
    @Mock
    private NetworkStatsManager mNetworkStatsManager;
    private TelephonyManager mTelephonyManager;
    private Resources mResources;
    private FragmentActivity mActivity;

    private DataUsageSummary mDataUsageSummary;

@@ -95,23 +79,12 @@ public class DataUsageSummaryTest {
        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
        doReturn(false).when(mUserManager).isGuestUser();

        ShadowApplication shadowContext = ShadowApplication.getInstance();
        ShadowUserManager.getShadow().setIsAdminUser(true);
        shadowContext.setSystemService(Context.NETWORK_POLICY_SERVICE, mNetworkPolicyManager);

        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
        final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(mTelephonyManager);
        shadowTelephonyManager.setTelephonyManagerForSubscriptionId(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID, mTelephonyManager);
        shadowTelephonyManager.setTelephonyManagerForSubscriptionId(1, mTelephonyManager);
        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());

        mResources = spy(mContext.getResources());
        Resources mResources = spy(mContext.getResources());
        doReturn(mResources).when(mContext).getResources();
        doReturn(true).when(mResources).getBoolean(R.bool.config_show_sim_info);

        doReturn(mNetworkStatsManager).when(mActivity).getSystemService(NetworkStatsManager.class);

        mDataUsageSummary = spy(new DataUsageSummary());
        doReturn(mContext).when(mDataUsageSummary).getContext();
        doNothing().when(mDataUsageSummary).enableProxySubscriptionManager(any());
@@ -130,12 +103,10 @@ public class DataUsageSummaryTest {

    @Test
    @Config(shadows = ShadowSubscriptionManager.class)
    @Ignore
    public void configuration_withSim_shouldShowMobileAndWifi() {
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
        ShadowDataUsageUtils.HAS_SIM = true;

        final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
        doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -156,7 +127,6 @@ public class DataUsageSummaryTest {
    public void configuration_withoutSim_shouldShowWifiSectionOnly() {
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.HAS_SIM = false;

        final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
        doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -177,7 +147,6 @@ public class DataUsageSummaryTest {
    public void configuration_withoutMobile_shouldShowWifiSectionOnly() {
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = false;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.HAS_SIM = false;

        final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
        doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -199,7 +168,6 @@ public class DataUsageSummaryTest {
    public void configuration_invalidDataSusbscription_shouldShowWifiSectionOnly() {
        ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
        ShadowDataUsageUtils.HAS_SIM = false;
        ShadowSubscriptionManager.setDefaultDataSubscriptionId(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);

+0 −6
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@ public class ShadowDataUsageUtils {

    public static boolean IS_MOBILE_DATA_SUPPORTED = true;
    public static boolean IS_WIFI_SUPPORTED = true;
    public static boolean HAS_SIM = true;
    public static int DEFAULT_SUBSCRIPTION_ID = SubscriptionManager.INVALID_SUBSCRIPTION_ID;

    @Implementation
@@ -31,11 +30,6 @@ public class ShadowDataUsageUtils {
        return DEFAULT_SUBSCRIPTION_ID;
    }

    @Implementation
    protected static boolean hasSim(Context context) {
        return HAS_SIM;
    }

    @Implementation
    protected static boolean hasEthernet(Context context) { return false; }
}