Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb863750 authored by vadimt's avatar vadimt
Browse files

Adding more events for reproducing race conditions during Launcher start

Bug: 120628042
Change-Id: Ifcb6a170e3b227c690eff0255ca3e25cd5d491a5
Tests: StartLauncherViaGestureTests
parent ff9571b3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC

    private static final long LAUNCHER_DRAW_TIMEOUT_MS = 150;
    public static final String DOWN_EVT = "OtherActivityTouchConsumer.DOWN";
    private static final String UP_EVT = "OtherActivityTouchConsumer.UP";

    private final SparseArray<RecentsAnimationState> mAnimationStates = new SparseArray<>();
    private final RunningTaskInfo mRunningTask;
@@ -197,9 +198,11 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC
            case ACTION_CANCEL:
                // TODO: Should be different than ACTION_UP
            case ACTION_UP: {
                RaceConditionTracker.onEvent(UP_EVT, ENTER);
                TraceHelper.endSection("TouchInt");

                finishTouchTracking(ev);
                RaceConditionTracker.onEvent(UP_EVT, EXIT);
                break;
            }
        }
@@ -428,6 +431,7 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC

    private class RecentsAnimationState implements RecentsAnimationListener {

        private static final String ANIMATION_START_EVT = "RecentsAnimationState.onAnimationStart";
        private final int id;

        private RecentsAnimationControllerCompat mController;
@@ -446,11 +450,13 @@ public class OtherActivityTouchConsumer extends ContextWrapper implements TouchC
                RecentsAnimationControllerCompat controller,
                RemoteAnimationTargetCompat[] apps, Rect homeContentInsets,
                Rect minimizedHomeBounds) {
            RaceConditionTracker.onEvent(ANIMATION_START_EVT, ENTER);
            mController = controller;
            mTargets = new RemoteAnimationTargetSet(apps, MODE_CLOSING);
            mHomeContentInsets = homeContentInsets;
            mMinimizedHomeBounds = minimizedHomeBounds;
            mEventQueue.onCommand(id);
            RaceConditionTracker.onEvent(ANIMATION_START_EVT, EXIT);
        }

        @Override
+6 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import static com.android.launcher3.anim.Interpolators.LINEAR;
import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_2;
import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE;
import static com.android.launcher3.config.FeatureFlags.QUICKSTEP_SPRINGS;
import static com.android.launcher3.util.RaceConditionTracker.ENTER;
import static com.android.launcher3.util.RaceConditionTracker.EXIT;
import static com.android.quickstep.QuickScrubController.QUICK_SCRUB_FROM_APP_START_DURATION;
import static com.android.quickstep.QuickScrubController.QUICK_SWITCH_FROM_APP_START_DURATION;
import static com.android.quickstep.TouchConsumer.INTERACTION_NORMAL;
@@ -74,6 +76,7 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
import com.android.launcher3.util.MultiValueAlpha;
import com.android.launcher3.util.MultiValueAlpha.AlphaProperty;
import com.android.launcher3.util.RaceConditionTracker;
import com.android.launcher3.util.TraceHelper;
import com.android.quickstep.ActivityControlHelper.ActivityInitListener;
import com.android.quickstep.ActivityControlHelper.AnimationFactory;
@@ -182,6 +185,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
    public static final float MIN_PROGRESS_FOR_OVERVIEW = 0.7f;
    private static final float SWIPE_DURATION_MULTIPLIER =
            Math.min(1 / MIN_PROGRESS_FOR_OVERVIEW, 1 / (1 - MIN_PROGRESS_FOR_OVERVIEW));
    private static final String SCREENSHOT_CAPTURED_EVT = "ScreenshotCaptured";

    private final ClipAnimationHelper mClipAnimationHelper;
    private final ClipAnimationHelper.TransformParams mTransformParams;
@@ -1078,7 +1082,9 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
            }
            if (!finishTransitionPosted) {
                // If we haven't posted a draw callback, set the state immediately.
                RaceConditionTracker.onEvent(SCREENSHOT_CAPTURED_EVT, ENTER);
                setStateOnUiThread(STATE_SCREENSHOT_CAPTURED);
                RaceConditionTracker.onEvent(SCREENSHOT_CAPTURED_EVT, EXIT);
            }
        }
    }
+6 −0
Original line number Diff line number Diff line
@@ -189,6 +189,8 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
    // Type: SparseArray<Parcelable>
    private static final String RUNTIME_STATE_WIDGET_PANEL = "launcher.widget_panel";
    public static final String ON_CREATE_EVT = "Launcher.onCreate";
    private static final String ON_START_EVT = "Launcher.onStart";
    private static final String ON_RESUME_EVT = "Launcher.onResume";

    private LauncherStateManager mStateManager;

@@ -762,12 +764,14 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,

    @Override
    protected void onStart() {
        RaceConditionTracker.onEvent(ON_START_EVT, ENTER);
        super.onStart();
        if (mLauncherCallbacks != null) {
            mLauncherCallbacks.onStart();
        }
        mAppWidgetHost.setListenIfResumed(true);
        NotificationListener.setNotificationsChangedListener(mPopupDataProvider);
        RaceConditionTracker.onEvent(ON_START_EVT, EXIT);
    }

    private void logOnDelayedResume() {
@@ -780,6 +784,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,

    @Override
    protected void onResume() {
        RaceConditionTracker.onEvent(ON_RESUME_EVT, ENTER);
        TraceHelper.beginSection("ON_RESUME");
        super.onResume();
        TraceHelper.partitionSection("ON_RESUME", "superCall");
@@ -802,6 +807,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
        UiFactory.onLauncherStateOrResumeChanged(this);

        TraceHelper.endSection("ON_RESUME");
        RaceConditionTracker.onEvent(ON_RESUME_EVT, EXIT);
    }

    @Override