diff --git a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java index b77d5eb6ddf..ecb2a48fe89 100644 --- a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java +++ b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java @@ -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 denylistTargetUids) { - if (denylistTargetUids == null) { + if (denylistTargetUids == null || mNetworkPolicyManager == null) { return; } final Set 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);