diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-04-13 16:04:07 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-04-13 19:45:02 -0700 |
commit | e557c3349ee781162434ec4746fb71d45606f97c (patch) | |
tree | f74bbc7d891aaf1d690716cbe417d119a39e7a66 /src/com/android/settings/DataUsageSummary.java | |
parent | e8a930427dba2ed30f0c4629634aa84543121165 (diff) | |
download | packages_apps_Settings-e557c3349ee781162434ec4746fb71d45606f97c.tar.gz packages_apps_Settings-e557c3349ee781162434ec4746fb71d45606f97c.tar.bz2 packages_apps_Settings-e557c3349ee781162434ec4746fb71d45606f97c.zip |
Show data restricted apps, unify strings.
Always show apps with background data restricted, even when not
used in selected time period. Combine measurement disclaimer into
single string, and only show for mobile networks. Unify limit
dialog string.
Bug: 6007276, 5505010, 5495020, 5456087
Change-Id: I0ec307b330838dc9528d7e63e0ac1edd14ba122c
Diffstat (limited to 'src/com/android/settings/DataUsageSummary.java')
-rw-r--r-- | src/com/android/settings/DataUsageSummary.java | 51 |
1 files changed, 35 insertions, 16 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index 70c0d9bac..ae9c1cba5 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -1147,8 +1147,15 @@ public class DataUsageSummary extends Fragment { final String totalPhrase = Formatter.formatFileSize(context, totalBytes); final String rangePhrase = formatDateRange(context, start, end); - mUsageSummary.setText( - getString(R.string.data_usage_total_during_range, totalPhrase, rangePhrase)); + final int summaryRes; + if (TAB_MOBILE.equals(mCurrentTab) || TAB_3G.equals(mCurrentApp) + || TAB_4G.equals(mCurrentApp)) { + summaryRes = R.string.data_usage_total_during_range_mobile; + } else { + summaryRes = R.string.data_usage_total_during_range; + } + + mUsageSummary.setText(getString(summaryRes, totalPhrase, rangePhrase)); } private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks< @@ -1191,13 +1198,15 @@ public class DataUsageSummary extends Fragment { @Override public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) { - mAdapter.bindStats(data); + final int[] restrictedAppIds = mPolicyManager.getAppsWithPolicy( + POLICY_REJECT_METERED_BACKGROUND); + mAdapter.bindStats(data, restrictedAppIds); updateEmptyVisible(); } @Override public void onLoaderReset(Loader<NetworkStats> loader) { - mAdapter.bindStats(null); + mAdapter.bindStats(null, new int[0]); updateEmptyVisible(); } @@ -1374,6 +1383,7 @@ public class DataUsageSummary extends Fragment { public static class AppItem implements Comparable<AppItem>, Parcelable { public final int appId; + public boolean restricted; public SparseBooleanArray uids = new SparseBooleanArray(); public long total; @@ -1439,7 +1449,7 @@ public class DataUsageSummary extends Fragment { /** * Bind the given {@link NetworkStats}, or {@code null} to clear list. */ - public void bindStats(NetworkStats stats) { + public void bindStats(NetworkStats stats, int[] restrictedAppIds) { mItems.clear(); final AppItem systemItem = new AppItem(android.os.Process.SYSTEM_UID); @@ -1468,6 +1478,16 @@ public class DataUsageSummary extends Fragment { } } + for (int appId : restrictedAppIds) { + AppItem item = knownUids.get(appId); + if (item == null) { + item = new AppItem(appId); + item.total = -1; + mItems.add(item); + } + item.restricted = true; + } + if (systemItem.total > 0) { mItems.add(systemItem); } @@ -1513,7 +1533,13 @@ public class DataUsageSummary extends Fragment { final AppItem item = mItems.get(position); UidDetailTask.bindView(mProvider, item, convertView); - text1.setText(Formatter.formatFileSize(context, item.total)); + if (item.restricted && item.total <= 0) { + text1.setText(R.string.data_usage_app_restricted); + progress.setVisibility(View.GONE); + } else { + text1.setText(Formatter.formatFileSize(context, item.total)); + progress.setVisibility(View.VISIBLE); + } final int percentTotal = mLargest != 0 ? (int) (item.total * 100 / mLargest) : 0; progress.setProgress(percentTotal); @@ -1580,16 +1606,13 @@ public class DataUsageSummary extends Fragment { // TODO: customize default limits based on network template final String currentTab = parent.mCurrentTab; if (TAB_3G.equals(currentTab)) { - message = buildDialogMessage(res, R.string.data_usage_tab_3g); + message = res.getString(R.string.data_usage_limit_dialog_mobile); limitBytes = 5 * GB_IN_BYTES; } else if (TAB_4G.equals(currentTab)) { - message = buildDialogMessage(res, R.string.data_usage_tab_4g); + message = res.getString(R.string.data_usage_limit_dialog_mobile); limitBytes = 5 * GB_IN_BYTES; } else if (TAB_MOBILE.equals(currentTab)) { - message = buildDialogMessage(res, R.string.data_usage_list_mobile); - limitBytes = 5 * GB_IN_BYTES; - } else if (TAB_WIFI.equals(currentTab)) { - message = buildDialogMessage(res, R.string.data_usage_tab_wifi); + message = res.getString(R.string.data_usage_limit_dialog_mobile); limitBytes = 5 * GB_IN_BYTES; } else { throw new IllegalArgumentException("unknown current tab: " + currentTab); @@ -1605,10 +1628,6 @@ public class DataUsageSummary extends Fragment { dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT); } - private static CharSequence buildDialogMessage(Resources res, int networkResId) { - return res.getString(R.string.data_usage_limit_dialog, res.getString(networkResId)); - } - @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Context context = getActivity(); |