summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/net/NetworkPolicyManagerService.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index ab482bb2da98..ebb32090f493 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -430,6 +430,8 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
private final CountDownLatch mAdminDataAvailableLatch = new CountDownLatch(1);
+ private volatile boolean mNetworkManagerReady;
+
/** Defined network policies. */
@GuardedBy("mNetworkPoliciesSecondLock")
final ArrayMap<NetworkTemplate, NetworkPolicy> mNetworkPolicy = new ArrayMap<>();
@@ -872,6 +874,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
}
public CountDownLatch networkScoreAndNetworkManagementServiceReady() {
+ mNetworkManagerReady = true;
final CountDownLatch initCompleteSignal = new CountDownLatch(1);
mHandler.post(() -> initService(initCompleteSignal));
return initCompleteSignal;
@@ -5024,6 +5027,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
private void handleRestrictedPackagesChangeUL(Set<Integer> oldRestrictedUids,
Set<Integer> newRestrictedUids) {
+ if (!mNetworkManagerReady) {
+ return;
+ }
if (oldRestrictedUids == null) {
for (int uid : newRestrictedUids) {
updateRulesForDataUsageRestrictionsUL(uid);