summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/applications
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-09-14 16:26:51 -0700
committerJeff Sharkey <jsharkey@android.com>2012-09-14 22:43:51 -0700
commit38305fb1777147cbcb86774c466e88434daff141 (patch)
treef48b0b3989a132a1f3ad2ed1a3e71a624b5b0ee7 /src/com/android/settings/applications
parentb2f4efb7a8bacabecaa886cb6b561019630871d9 (diff)
downloadpackages_apps_settings-38305fb1777147cbcb86774c466e88434daff141.zip
packages_apps_settings-38305fb1777147cbcb86774c466e88434daff141.tar.gz
packages_apps_settings-38305fb1777147cbcb86774c466e88434daff141.tar.bz2
Data usage multi-user support.
Switch to storing policy per-user instead of per-app, meaning each user has control over their own set of apps. Summarize the usage of non-current users. Only allow owner to make changes to overall network policy. Hide auto-sync menu when viewing app details. Search for MANAGE_NETWORK_USAGE intent across all package names sharing a UID. Bug: 7121279, 5419594, 6978663 Change-Id: Ia70f04df70d27da27faccb947cd27021c628a41a
Diffstat (limited to 'src/com/android/settings/applications')
-rw-r--r--src/com/android/settings/applications/ManageApplications.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 1240d43..0a73b02 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -20,6 +20,7 @@ import static android.net.NetworkPolicyManager.POLICY_NONE;
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
import android.app.Activity;
+import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.INotificationManager;
@@ -41,6 +42,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.os.UserHandle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFrameLayout;
import android.provider.Settings;
@@ -1119,11 +1121,15 @@ public class ManageApplications extends Fragment implements
+ prefActivities.get(i).getPackageName());
pm.clearPackagePreferredActivities(prefActivities.get(i).getPackageName());
}
- final int[] restrictedAppIds = npm.getAppsWithPolicy(
+ final int[] restrictedUids = npm.getUidsWithPolicy(
POLICY_REJECT_METERED_BACKGROUND);
- for (int i : restrictedAppIds) {
- if (DEBUG) Log.v(TAG, "Clearing data policy: " + i);
- npm.setAppPolicy(i, POLICY_NONE);
+ final int currentUserId = ActivityManager.getCurrentUser();
+ for (int uid : restrictedUids) {
+ // Only reset for current user
+ if (UserHandle.getUserId(uid) == currentUserId) {
+ if (DEBUG) Log.v(TAG, "Clearing data policy: " + uid);
+ npm.setUidPolicy(uid, POLICY_NONE);
+ }
}
handler.post(new Runnable() {
@Override public void run() {