summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/datausage
diff options
context:
space:
mode:
authorBonian Chen <bonianchen@google.com>2020-04-23 19:48:36 +0800
committerBonian Chen <bonianchen@google.com>2020-04-23 19:53:46 +0800
commitbc10c0014961adf32cb0d3519e649b51de3755b8 (patch)
tree4ad9a6f8771e9a1057071012710294f51ae117a2 /src/com/android/settings/datausage
parentcb0a251c38300c5ee48fc62af2d24591388dfa42 (diff)
downloadpackages_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.java23
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);