Merge "Fix NPE in DynamicDenylistManager" into main

This commit is contained in:
YK Hung
2024-08-09 16:56:03 +00:00
committed by Android (Google) Code Review

View File

@@ -78,6 +78,11 @@ public class DynamicDenylistManager {
return;
}
if (mNetworkPolicyManager == null) {
Log.w(TAG, "syncPolicyIfNeeded: invalid mNetworkPolicyManager");
return;
}
final SharedPreferences.Editor editor = getManualDenylistPref().edit();
final int[] existedUids = mNetworkPolicyManager
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
@@ -91,6 +96,11 @@ public class DynamicDenylistManager {
/** Set policy flags for specific UID. */
public void setUidPolicyLocked(int uid, int policy) {
if (mNetworkPolicyManager == null) {
Log.w(TAG, "setUidPolicyLocked: invalid mNetworkPolicyManager");
return;
}
Log.i(TAG, "setUidPolicyLocked: uid=" + uid + " policy=" + policy);
synchronized (mLock) {
mNetworkPolicyManager.setUidPolicy(uid, policy);
@@ -100,7 +110,7 @@ public class DynamicDenylistManager {
/** Suggest a list of package to set as POLICY_REJECT. */
public void setDenylist(Set<Integer> denylistTargetUids) {
if (denylistTargetUids == null) {
if (denylistTargetUids == null || mNetworkPolicyManager == null) {
return;
}
final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
@@ -164,6 +174,12 @@ public class DynamicDenylistManager {
Log.w(TAG, "resetDenylistIfNeeded: invalid conditions");
return;
}
if (mNetworkPolicyManager == null) {
Log.w(TAG, "setUidPolicyLocked: invalid mNetworkPolicyManager");
return;
}
synchronized (mLock) {
final int[] uids = mNetworkPolicyManager
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);