RESTRICT AUTOMERGE Force screen freezing timeout to unfreeze
To avoid problematical app keeps relaunching that may block
removing the screenshot.
Also sync event log from [1] to clarify app behavior.
[1]: I7dd937f7e56cd6229801b385456fccb9a73791b8
Bug: 271674690
Test: Enter split screen with a sample app. It will call
setRequestedOrientation with different orientations in a loop.
Rotate device. The animation should still play after 2s.
Change-Id: I8c79bcc753d1d5c62b867259f670abfba1c6fb46
This commit is contained in:
@@ -696,6 +696,8 @@ class ActivityClientController extends IActivityClientController.Stub {
|
||||
synchronized (mGlobalLock) {
|
||||
final ActivityRecord r = ActivityRecord.isInRootTaskLocked(token);
|
||||
if (r != null) {
|
||||
EventLogTags.writeWmSetRequestedOrientation(requestedOrientation,
|
||||
r.shortComponentName);
|
||||
r.setRequestedOrientation(requestedOrientation);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# See system/core/logcat/event.logtags for a description of the format of this file.
|
||||
# See system/logging/logcat/event.logtags for a description of the format of this file.
|
||||
|
||||
option java_package com.android.server.wm
|
||||
|
||||
@@ -62,6 +62,10 @@ option java_package com.android.server.wm
|
||||
31002 wm_task_moved (TaskId|1|5),(ToTop|1),(Index|1)
|
||||
# Task removed with source explanation.
|
||||
31003 wm_task_removed (TaskId|1|5),(Reason|3)
|
||||
|
||||
# Set the requested orientation of an activity.
|
||||
31006 wm_set_requested_orientation (Orientation|1|5),(Component Name|3)
|
||||
|
||||
# bootanim finished:
|
||||
31007 wm_boot_animation_done (time|2|3)
|
||||
|
||||
|
||||
@@ -6198,9 +6198,10 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
waitingForConfig = waitingForRemoteDisplayChange = false;
|
||||
numOpeningApps = 0;
|
||||
}
|
||||
if (waitingForConfig || waitingForRemoteDisplayChange || mAppsFreezingScreen > 0
|
||||
|| mWindowsFreezingScreen == WINDOWS_FREEZING_SCREENS_ACTIVE
|
||||
|| mClientFreezingScreen || numOpeningApps > 0) {
|
||||
final boolean waitingForApps = mWindowsFreezingScreen != WINDOWS_FREEZING_SCREENS_TIMEOUT
|
||||
&& (mAppsFreezingScreen > 0 || numOpeningApps > 0);
|
||||
if (waitingForConfig || waitingForRemoteDisplayChange || waitingForApps
|
||||
|| mClientFreezingScreen) {
|
||||
ProtoLog.d(WM_DEBUG_ORIENTATION, "stopFreezingDisplayLocked: Returning "
|
||||
+ "waitingForConfig=%b, waitingForRemoteDisplayChange=%b, "
|
||||
+ "mAppsFreezingScreen=%d, mWindowsFreezingScreen=%d, "
|
||||
|
||||
Reference in New Issue
Block a user