From 51e1576c34daa7a20ccb229624f88b34fb97e7b2 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 9 Oct 2023 16:51:18 +0800 Subject: [PATCH] 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 --- .../settings/datausage/DataUsageSummary.java | 41 ++----------------- .../settings/datausage/AppDataUsageTest.java | 1 - .../datausage/DataUsageSummaryTest.java | 34 +-------------- .../shadow/ShadowDataUsageUtils.java | 6 --- 4 files changed, 5 insertions(+), 77 deletions(-) diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index 4f876abab8d..5681c922c51 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -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,9 +137,8 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage MobileNetworkUtils.isMobileNetworkUserRestricted(context)) { return controllers; } - mSummaryController = - new DataUsageSummaryPreferenceController(activity, - DataUsageUtils.getDefaultSubscriptionId(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); diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java index e4b91c6a795..73774e6a523 100644 --- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java +++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java @@ -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()); diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index 4ac73877c21..2a9cca9c669 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -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); diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java index 9973a2d19fe..dd09b3cc6af 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java @@ -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; } }