Merge "Fix start application proc state when screen off" into udc-qpr-dev am: bbb61252cb
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24005703 Change-Id: I40f02891acb8d7375c37b98eb9b3b9fd43fc0d3e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1713,6 +1713,11 @@ public class OomAdjuster {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isScreenOnOrAnimatingLocked(ProcessStateRecord state) {
|
||||||
|
return mService.mWakefulness.get() == PowerManagerInternal.WAKEFULNESS_AWAKE
|
||||||
|
|| state.isRunningRemoteAnimation();
|
||||||
|
}
|
||||||
|
|
||||||
@GuardedBy({"mService", "mProcLock"})
|
@GuardedBy({"mService", "mProcLock"})
|
||||||
private boolean computeOomAdjLSP(ProcessRecord app, int cachedAdj,
|
private boolean computeOomAdjLSP(ProcessRecord app, int cachedAdj,
|
||||||
ProcessRecord topApp, boolean doingAll, long now, boolean cycleReEval,
|
ProcessRecord topApp, boolean doingAll, long now, boolean cycleReEval,
|
||||||
@@ -1794,8 +1799,7 @@ public class OomAdjuster {
|
|||||||
state.setSystemNoUi(false);
|
state.setSystemNoUi(false);
|
||||||
}
|
}
|
||||||
if (!state.isSystemNoUi()) {
|
if (!state.isSystemNoUi()) {
|
||||||
if (mService.mWakefulness.get() == PowerManagerInternal.WAKEFULNESS_AWAKE
|
if (isScreenOnOrAnimatingLocked(state)) {
|
||||||
|| state.isRunningRemoteAnimation()) {
|
|
||||||
// screen on or animating, promote UI
|
// screen on or animating, promote UI
|
||||||
state.setCurProcState(ActivityManager.PROCESS_STATE_PERSISTENT_UI);
|
state.setCurProcState(ActivityManager.PROCESS_STATE_PERSISTENT_UI);
|
||||||
state.setCurrentSchedulingGroup(SCHED_GROUP_TOP_APP);
|
state.setCurrentSchedulingGroup(SCHED_GROUP_TOP_APP);
|
||||||
@@ -3281,8 +3285,10 @@ public class OomAdjuster {
|
|||||||
} else {
|
} else {
|
||||||
setThreadPriority(app.getPid(), THREAD_PRIORITY_TOP_APP_BOOST);
|
setThreadPriority(app.getPid(), THREAD_PRIORITY_TOP_APP_BOOST);
|
||||||
}
|
}
|
||||||
initialSchedGroup = SCHED_GROUP_TOP_APP;
|
if (isScreenOnOrAnimatingLocked(state)) {
|
||||||
initialProcState = PROCESS_STATE_TOP;
|
initialSchedGroup = SCHED_GROUP_TOP_APP;
|
||||||
|
initialProcState = PROCESS_STATE_TOP;
|
||||||
|
}
|
||||||
initialCapability = PROCESS_CAPABILITY_ALL;
|
initialCapability = PROCESS_CAPABILITY_ALL;
|
||||||
initialCached = false;
|
initialCached = false;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user