From f1da90fe04ec375ed28e57358f52e4fd75526fa2 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 8 Sep 2016 17:26:00 -0700 Subject: [PATCH] Listen to ACTION_UID_REMOVED only. DO NOT MERGE. 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. Fixes: 31375684 Change-Id: Iec006dbbec0e6298f1e568cbf81ed3672f61b7d2 (cherry picked from commit fdebbea401dc9d38b0cbea0fdfbd758e16805358) --- .../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 3e1c529a5fc60..a57345e7fa4f4 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -166,7 +166,6 @@ import android.util.Xml; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; 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; @@ -407,7 +406,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private final AppOpsManager mAppOps; - private final MyPackageMonitor mPackageMonitor; private final IPackageManager mIPm; @@ -449,8 +447,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()); @@ -582,8 +578,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { mUsageStats = LocalServices.getService(UsageStatsManagerInternal.class); - mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true); - synchronized (mUidRulesFirstLock) { synchronized (mNetworkPoliciesSecondLock) { updatePowerSaveWhitelistUL(); @@ -765,6 +759,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "ACTION_UID_REMOVED for uid=" + uid); synchronized (mUidRulesFirstLock) { mUidPolicy.delete(uid); + removeRestrictBackgroundWhitelistedUidUL(uid, true, true); updateRestrictionRulesForUidUL(uid); synchronized (mNetworkPoliciesSecondLock) { writePolicyAL(); @@ -3622,18 +3617,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 (mUidRulesFirstLock) { - removeRestrictBackgroundWhitelistedUidUL(uid, true, true); - updateRestrictionRulesForUidUL(uid); - } - } - } - private class NetworkPolicyManagerInternalImpl extends NetworkPolicyManagerInternal { @Override