diff options
author | Bonian Chen <bonianchen@google.com> | 2020-04-23 19:48:36 +0800 |
---|---|---|
committer | Bonian Chen <bonianchen@google.com> | 2020-04-23 19:53:46 +0800 |
commit | bc10c0014961adf32cb0d3519e649b51de3755b8 (patch) | |
tree | 4ad9a6f8771e9a1057071012710294f51ae117a2 /src/com/android/settings/datausage | |
parent | cb0a251c38300c5ee48fc62af2d24591388dfa42 (diff) | |
download | packages_apps_Settings-bc10c0014961adf32cb0d3519e649b51de3755b8.tar.gz packages_apps_Settings-bc10c0014961adf32cb0d3519e649b51de3755b8.tar.bz2 packages_apps_Settings-bc10c0014961adf32cb0d3519e649b51de3755b8.zip |
[Settings] Support the display of data usage when SIM inactive
SIM can be inactive but remain existed within slot.
Therefore, change the design here.
Bug: 143996139
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Change-Id: I24ec529b120b2801f7b9089b07d32bdd1038883f
Diffstat (limited to 'src/com/android/settings/datausage')
-rw-r--r-- | src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java index 135abfa930..648b38c7e8 100644 --- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java +++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java @@ -120,14 +120,14 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc mContext.getSystemService(NetworkPolicyManager.class); mPolicyEditor = new NetworkPolicyEditor(policyManager); - mHasMobileData = SubscriptionManager.isValidSubscriptionId(mSubId) - && DataUsageUtils.hasMobileData(mContext); + mHasMobileData = DataUsageUtils.hasMobileData(mContext); mDataUsageController = new DataUsageController(mContext); mDataUsageController.setSubscriptionId(mSubId); mDataInfoController = new DataUsageInfoController(); - if (mHasMobileData) { + final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId); + if (subInfo != null) { mDataUsageTemplate = R.string.cell_data_template; } else if (DataUsageUtils.hasWifiRadio(mContext)) { mDataUsageTemplate = R.string.wifi_data_template; @@ -180,18 +180,16 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc @VisibleForTesting SubscriptionInfo getSubscriptionInfo(int subscriptionId) { + if (!mHasMobileData) { + return null; + } return ProxySubscriptionManager.getInstance(mContext) .getAccessibleSubscriptionInfo(subscriptionId); } - @VisibleForTesting - boolean hasSim() { - return DataUsageUtils.hasSim(mContext); - } - @Override public int getAvailabilityStatus(int subId) { - return hasSim() + return (getSubscriptionInfo(subId) != null) || DataUsageUtils.hasWifiRadio(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; } @@ -199,16 +197,15 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc public void updateState(Preference preference) { DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference; - final boolean isSimCardAdded = hasSim(); - if (!isSimCardAdded) { + final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId); + if (subInfo == null) { mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard(); } final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(mDefaultTemplate); - final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId); - if (isSimCardAdded) { + if (subInfo != null) { mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate)); summaryPreference.setWifiMode(/* isWifiMode */ false, /* usagePeriod */ null, /* isSingleWifi */ false); |