diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-09-14 16:26:51 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-09-14 22:43:51 -0700 |
commit | 38305fb1777147cbcb86774c466e88434daff141 (patch) | |
tree | f48b0b3989a132a1f3ad2ed1a3e71a624b5b0ee7 /src/com/android/settings/applications | |
parent | b2f4efb7a8bacabecaa886cb6b561019630871d9 (diff) | |
download | packages_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.java | 14 |
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() { |