summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/net/NetworkPolicyManagerService.java3
-rw-r--r--services/core/java/com/android/server/net/NetworkStatsService.java2
2 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index a85960a186b7..6c0a7a70d563 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -414,6 +414,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
final Object mNetworkPoliciesSecondLock = new Object();
@GuardedBy("allLocks") volatile boolean mSystemReady;
+ volatile boolean mSystemReallyReady;
@GuardedBy("mUidRulesFirstLock") volatile boolean mRestrictBackground;
@GuardedBy("mUidRulesFirstLock") volatile boolean mRestrictPower;
@@ -866,6 +867,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
Thread.currentThread().interrupt();
throw new IllegalStateException("Service " + TAG + " init interrupted", e);
}
+ mSystemReallyReady = true;
}
final private IUidObserver mUidObserver = new IUidObserver.Stub() {
@@ -1402,6 +1404,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
// on background handler thread, and verified CONNECTIVITY_INTERNAL
// permission above.
+ if (!mSystemReallyReady) return;
synchronized (mUidRulesFirstLock) {
synchronized (mNetworkPoliciesSecondLock) {
ensureActiveMobilePolicyAL();
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index e3ff72b9a9d7..e7f92dca6097 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -282,7 +282,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
private Handler mHandler;
private Handler.Callback mHandlerCallback;
- private boolean mSystemReady;
+ private volatile boolean mSystemReady;
private long mPersistThreshold = 2 * MB_IN_BYTES;
private long mGlobalAlertBytes;