summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-01-31 18:18:05 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-01-31 18:18:05 +0000
commit68f93a1fb07186ea94420cde64fb80959321ecff (patch)
tree4f155844d0abdeba4053e5c0ac2f7ce5d76883a9
parentc9a6395ba2c5fbb230ae85498afc320036a252d8 (diff)
parent0193e955fef43ef07796280da27c88b7cd0fdd3a (diff)
Merge "Enable offload queue based on flag value"
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 66e9eb3a33ba..d94fc03751f3 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -549,6 +549,11 @@ public class ActivityManagerService extends IActivityManager.Stub
// Whether we should use SCHED_FIFO for UI and RenderThreads.
boolean mUseFifoUiScheduling = false;
+ // Use an offload queue for long broadcasts, e.g. BOOT_COMPLETED.
+ // For simplicity, since we statically declare the size of the array of BroadcastQueues,
+ // we still create this new offload queue, but never ever put anything on it.
+ boolean mEnableOffloadQueue;
+
BroadcastQueue mFgBroadcastQueue;
BroadcastQueue mBgBroadcastQueue;
BroadcastQueue mOffloadBroadcastQueue;
@@ -2283,6 +2288,9 @@ public class ActivityManagerService extends IActivityManager.Stub
// by default, no "slow" policy in this queue
offloadConstants.SLOW_TIME = Integer.MAX_VALUE;
+ mEnableOffloadQueue = SystemProperties.getBoolean(
+ "persist.device_config.activity_manager_native_boot.offload_queue_enabled", false);
+
mFgBroadcastQueue = new BroadcastQueue(this, mHandler,
"foreground", foreConstants, false);
mBgBroadcastQueue = new BroadcastQueue(this, mHandler,
@@ -18389,6 +18397,6 @@ public class ActivityManagerService extends IActivityManager.Stub
}
private boolean isOnOffloadQueue(int flags) {
- return ((flags & Intent.FLAG_RECEIVER_OFFLOAD) != 0);
+ return (mEnableOffloadQueue && ((flags & Intent.FLAG_RECEIVER_OFFLOAD) != 0));
}
}