From ecbdb8834d82f0647a7c711bb95b065c8effa6c0 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 8 Sep 2016 17:09:08 -0700 Subject: [PATCH] DO NOT MERGE. Listen to ACTION_UID_REMOVED only. NMPS was listening to both ACTION_UID_REMOVED and ACTION_PACKAGE_REMOVED, which not only was redundant but would also cause problems when a package with shared UIDs was removed. BUG: 31375684 Change-Id: I78da95ef168321a837ed85ce2787a66a16830a78 --- .../net/NetworkPolicyManagerService.java | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 330f46a3c95ae..5ae408bd01eba 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -163,7 +163,6 @@ import android.util.Xml; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.content.PackageMonitor; import com.android.internal.util.ArrayUtils; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.IndentingPrintWriter; @@ -366,7 +365,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private final AppOpsManager mAppOps; - private final MyPackageMonitor mPackageMonitor; private final IPackageManager mIPm; @@ -411,8 +409,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { mAppOps = context.getSystemService(AppOpsManager.class); - mPackageMonitor = new MyPackageMonitor(); - // Expose private service for system components to use. LocalServices.addService(NetworkPolicyManagerInternal.class, new NetworkPolicyManagerInternalImpl()); @@ -540,8 +536,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { mUsageStats = LocalServices.getService(UsageStatsManagerInternal.class); - mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true); - synchronized (mRulesLock) { updatePowerSaveWhitelistLocked(); mPowerManagerInternal = LocalServices.getService(PowerManagerInternal.class); @@ -731,6 +725,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "ACTION_UID_REMOVED for uid=" + uid); synchronized (mRulesLock) { mUidPolicy.delete(uid); + removeRestrictBackgroundWhitelistedUidLocked(uid, true, true); updateRestrictionRulesForUidLocked(uid); writePolicyLocked(); } @@ -3479,18 +3474,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } } - private class MyPackageMonitor extends PackageMonitor { - - @Override - public void onPackageRemoved(String packageName, int uid) { - if (LOGV) Slog.v(TAG, "onPackageRemoved: " + packageName + " ->" + uid); - synchronized (mRulesLock) { - removeRestrictBackgroundWhitelistedUidLocked(uid, true, true); - updateRestrictionRulesForUidLocked(uid); - } - } - } - private class NetworkPolicyManagerInternalImpl extends NetworkPolicyManagerInternal { @Override