diff options
author | Bonian Chen <bonianchen@google.com> | 2020-04-24 11:33:15 +0800 |
---|---|---|
committer | Bonian Chen <bonianchen@google.com> | 2020-04-24 11:35:44 +0800 |
commit | 87a457747273909463efaa7ea67cc94fa6b120c9 (patch) | |
tree | 746a326eb170a736da7021ab7127f342507b59ad | |
parent | a26a7afe8e54995ad35e49cad4f17a1bbe53082a (diff) | |
download | packages_apps_Settings-87a457747273909463efaa7ea67cc94fa6b120c9.tar.gz packages_apps_Settings-87a457747273909463efaa7ea67cc94fa6b120c9.tar.bz2 packages_apps_Settings-87a457747273909463efaa7ea67cc94fa6b120c9.zip |
[Settings] Support re-init DataUsageSummaryPreferenceController
Support re-init DataUsageSummaryPreferenceController without
re-constructing it.
Bug: 151751844
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Change-Id: If72a521c5fbaec8b8902fb80b13d9d0f07c716af
-rw-r--r-- | src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java | 23 | ||||
-rw-r--r-- | src/com/android/settings/network/telephony/MobileNetworkSettings.java | 1 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java index 648b38c7e8..239ad2178e 100644 --- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java +++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java @@ -114,25 +114,30 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc */ public void init(int subscriptionId) { mSubId = subscriptionId; + mDataUsageController = null; + } - mDefaultTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId); + private void updateConfiguration(Context context, + int subscriptionId, SubscriptionInfo subInfo) { final NetworkPolicyManager policyManager = - mContext.getSystemService(NetworkPolicyManager.class); + context.getSystemService(NetworkPolicyManager.class); mPolicyEditor = new NetworkPolicyEditor(policyManager); - mHasMobileData = DataUsageUtils.hasMobileData(mContext); + mHasMobileData = DataUsageUtils.hasMobileData(context); - mDataUsageController = new DataUsageController(mContext); - mDataUsageController.setSubscriptionId(mSubId); + mDataUsageController = new DataUsageController(context); + mDataUsageController.setSubscriptionId(subscriptionId); mDataInfoController = new DataUsageInfoController(); - final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId); if (subInfo != null) { mDataUsageTemplate = R.string.cell_data_template; - } else if (DataUsageUtils.hasWifiRadio(mContext)) { + mDefaultTemplate = DataUsageUtils.getMobileTemplate(context, subscriptionId); + } else if (DataUsageUtils.hasWifiRadio(context)) { mDataUsageTemplate = R.string.wifi_data_template; + mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard(); } else { mDataUsageTemplate = R.string.ethernet_data_template; + mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId); } } @@ -198,8 +203,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference; final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId); - if (subInfo == null) { - mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard(); + if (mDataUsageController == null) { + updateConfiguration(mContext, mSubId, subInfo); } final DataUsageController.DataUsageInfo info = diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java index 4103447f64..d9b31af85c 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java +++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java @@ -129,6 +129,7 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment { public void onAttach(Context context) { super.onAttach(context); + use(DataUsageSummaryPreferenceController.class).init(mSubId); use(CallsDefaultSubscriptionController.class).init(getLifecycle()); use(SmsDefaultSubscriptionController.class).init(getLifecycle()); use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId); |