summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DataUsageSummary.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-13 16:04:07 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-13 19:45:02 -0700
commite557c3349ee781162434ec4746fb71d45606f97c (patch)
treef74bbc7d891aaf1d690716cbe417d119a39e7a66 /src/com/android/settings/DataUsageSummary.java
parente8a930427dba2ed30f0c4629634aa84543121165 (diff)
downloadpackages_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.java51
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();