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;
private final AppOpsManager mAppOps;
- private final MyPackageMonitor mPackageMonitor;
private final IPackageManager mIPm;
mAppOps = context.getSystemService(AppOpsManager.class);
- mPackageMonitor = new MyPackageMonitor();
-
// Expose private service for system components to use.
LocalServices.addService(NetworkPolicyManagerInternal.class,
new NetworkPolicyManagerInternalImpl());
mUsageStats = LocalServices.getService(UsageStatsManagerInternal.class);
- mPackageMonitor.register(mContext, mHandler.getLooper(), UserHandle.ALL, true);
-
synchronized (mUidRulesFirstLock) {
synchronized (mNetworkPoliciesSecondLock) {
updatePowerSaveWhitelistUL();
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();
}
}
- 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