From c55ca0bf560868d3a40921c6d9847df081a9c994 Mon Sep 17 00:00:00 2001 From: Yoshinori Hirano Date: Mon, 27 Feb 2017 11:51:10 +0800 Subject: [PATCH] Tell SIMs apart in Data usage settings in multi-SIM case In multi-SIM case, multiple "Mobile" categories are shown in Data usage settings. To fix this issue, SubscriptionInfo#getDisplayName() should be used instead of "Mobile". Fixes: 62779261 Test: manual - go to Settings > Network & Internet > Data usage Author: Wu Qiang Change-Id: I4d95eceb24efd78ea3f3782d3a613edd2cf37d65 --- .../settings/datausage/DataUsageSummary.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index 5a84d13fa3e..829b25a11ea 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -76,6 +76,7 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs private static final String KEY_STATUS_HEADER = "status_header"; private static final String KEY_LIMIT_SUMMARY = "limit_summary"; + private static final String KEY_MOBILE_USAGE_TITLE = "mobile_category"; private static final String KEY_WIFI_USAGE_TITLE = "wifi_category"; private DataUsageController mDataUsageController; @@ -126,7 +127,12 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs addMobileSection(defaultSubId); } for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) { - addMobileSection(subscriptions.get(i).getSubscriptionId()); + SubscriptionInfo subInfo = subscriptions.get(i); + if (subscriptions.size() > 1) { + addMobileSection(subInfo.getSubscriptionId(), subInfo); + } else { + addMobileSection(subInfo.getSubscriptionId()); + } } mSummaryPreference.setSelectable(true); } else { @@ -179,10 +185,18 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs } private void addMobileSection(int subId) { + addMobileSection(subId, null); + } + + private void addMobileSection(int subId, SubscriptionInfo subInfo) { TemplatePreferenceCategory category = (TemplatePreferenceCategory) inflatePreferences(R.xml.data_usage_cellular); category.setTemplate(getNetworkTemplate(subId), subId, services); category.pushTemplates(services); + if (subInfo != null && !TextUtils.isEmpty(subInfo.getDisplayName())) { + Preference title = category.findPreference(KEY_MOBILE_USAGE_TITLE); + title.setTitle(subInfo.getDisplayName()); + } } private void addWifiSection() {