Fix NPE in DynamicDenylistManager
Bug: 357280604 Change-Id: Ifcfe5cfea67f3ef692a865ef43db8e22de3cd68d Test: atest DynamicDenylistManagerTest Flag: EXEMPT for bug fix
This commit is contained in:
@@ -78,6 +78,11 @@ public class DynamicDenylistManager {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mNetworkPolicyManager == null) {
|
||||||
|
Log.w(TAG, "syncPolicyIfNeeded: invalid mNetworkPolicyManager");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final SharedPreferences.Editor editor = getManualDenylistPref().edit();
|
final SharedPreferences.Editor editor = getManualDenylistPref().edit();
|
||||||
final int[] existedUids = mNetworkPolicyManager
|
final int[] existedUids = mNetworkPolicyManager
|
||||||
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
|
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
|
||||||
@@ -91,6 +96,11 @@ public class DynamicDenylistManager {
|
|||||||
|
|
||||||
/** Set policy flags for specific UID. */
|
/** Set policy flags for specific UID. */
|
||||||
public void setUidPolicyLocked(int uid, int policy) {
|
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);
|
Log.i(TAG, "setUidPolicyLocked: uid=" + uid + " policy=" + policy);
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
mNetworkPolicyManager.setUidPolicy(uid, policy);
|
mNetworkPolicyManager.setUidPolicy(uid, policy);
|
||||||
@@ -100,7 +110,7 @@ public class DynamicDenylistManager {
|
|||||||
|
|
||||||
/** Suggest a list of package to set as POLICY_REJECT. */
|
/** Suggest a list of package to set as POLICY_REJECT. */
|
||||||
public void setDenylist(Set<Integer> denylistTargetUids) {
|
public void setDenylist(Set<Integer> denylistTargetUids) {
|
||||||
if (denylistTargetUids == null) {
|
if (denylistTargetUids == null || mNetworkPolicyManager == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
|
final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
|
||||||
@@ -164,6 +174,12 @@ public class DynamicDenylistManager {
|
|||||||
Log.w(TAG, "resetDenylistIfNeeded: invalid conditions");
|
Log.w(TAG, "resetDenylistIfNeeded: invalid conditions");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mNetworkPolicyManager == null) {
|
||||||
|
Log.w(TAG, "setUidPolicyLocked: invalid mNetworkPolicyManager");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
final int[] uids = mNetworkPolicyManager
|
final int[] uids = mNetworkPolicyManager
|
||||||
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
|
.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
|
||||||
|
Reference in New Issue
Block a user