Merge "Don't process broadcasts until really ready." into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-13 23:03:17 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 1 deletions

View File

@@ -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();

View File

@@ -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;