Provide a quick workaround for WM flaky tests

Some ActivityRecord would leak after cts because of isAnimating.
Which might caused from the starting window was transferred to the
other activity after apply reveal animation on server side.

Test: atest AmStartOptionsTests#testDashW_FinishingTop, then check
there is no WindowState leak after test finish.
Bug: 184830058

Change-Id: Id7a09ab141367f0e0788155c13d658f251b8fa1b
This commit is contained in:
wilsonshih
2021-05-12 09:40:29 +08:00
parent 018510f032
commit 02165bf50c

View File

@@ -38,6 +38,7 @@ import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.util.Slog;
import android.util.proto.ProtoOutputStream;
import android.view.SurfaceControl;
@@ -75,6 +76,9 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
private static final int REPORT_CONFIGS = CONTROLLABLE_CONFIGS;
private static final int REPORT_WINDOW_CONFIGS = CONTROLLABLE_WINDOW_CONFIGS;
private static final boolean DEBUG_ENABLE_REVEAL_ANIMATION =
SystemProperties.getBoolean("persist.debug.enable_reveal_animation", false);
// The set of modes that are currently supports
// TODO: Remove once the task organizer can support all modes
@VisibleForTesting
@@ -183,7 +187,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
SurfaceControl windowAnimationLeash = null;
Rect mainFrame = null;
final boolean playShiftUpAnimation = !task.inMultiWindowMode();
if (prepareAnimation && playShiftUpAnimation) {
if (prepareAnimation && playShiftUpAnimation && DEBUG_ENABLE_REVEAL_ANIMATION) {
final ActivityRecord topActivity = task.topActivityWithStartingWindow();
if (topActivity != null) {
final WindowState mainWindow =