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

Commit a6b23d14 authored by randypfohl's avatar randypfohl
Browse files

Adding minimal logs to investigate overview floating bug

Test: reproed bugs locally and verified minimal logs will be useful.

Bug: 279059025
Bug: 291682082

Change-Id: I496adba0c7a797a26f5cc7beb42d5e38d895e122
parent 80fddb6e
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -55,12 +55,14 @@ import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_T
import static com.android.quickstep.views.RecentsView.RECENTS_SCALE_PROPERTY;
import static com.android.quickstep.views.RecentsView.RECENTS_SCALE_PROPERTY;


import android.animation.ValueAnimator;
import android.animation.ValueAnimator;
import android.util.Log;


import com.android.launcher3.CellLayout;
import com.android.launcher3.CellLayout;
import com.android.launcher3.Hotseat;
import com.android.launcher3.Hotseat;
import com.android.launcher3.LauncherState;
import com.android.launcher3.LauncherState;
import com.android.launcher3.Workspace;
import com.android.launcher3.Workspace;
import com.android.launcher3.states.StateAnimationConfig;
import com.android.launcher3.states.StateAnimationConfig;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.touch.AllAppsSwipeController;
import com.android.launcher3.touch.AllAppsSwipeController;
import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.DisplayController;
@@ -94,7 +96,8 @@ public class QuickstepAtomicAnimationFactory extends
    @Override
    @Override
    public void prepareForAtomicAnimation(LauncherState fromState, LauncherState toState,
    public void prepareForAtomicAnimation(LauncherState fromState, LauncherState toState,
            StateAnimationConfig config) {
            StateAnimationConfig config) {

        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "creating animation fromState: "
                + fromState + " toState: " + toState);
        RecentsView overview = mActivity.getOverviewPanel();
        RecentsView overview = mActivity.getOverviewPanel();
        if ((fromState == OVERVIEW || fromState == OVERVIEW_SPLIT_SELECT) && toState == NORMAL) {
        if ((fromState == OVERVIEW || fromState == OVERVIEW_SPLIT_SELECT) && toState == NORMAL) {
            overview.switchToScreenshot(() ->
            overview.switchToScreenshot(() ->
+4 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.content.Context;
import android.os.Build;
import android.os.Build;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.Surface;


@@ -43,6 +44,7 @@ import com.android.launcher3.statehandlers.DepthController;
import com.android.launcher3.statehandlers.DesktopVisibilityController;
import com.android.launcher3.statehandlers.DesktopVisibilityController;
import com.android.launcher3.statemanager.StateManager;
import com.android.launcher3.statemanager.StateManager;
import com.android.launcher3.statemanager.StateManager.StateListener;
import com.android.launcher3.statemanager.StateManager.StateListener;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.launcher3.util.PendingSplitSelectInfo;
import com.android.launcher3.util.PendingSplitSelectInfo;
import com.android.launcher3.util.SplitConfigurationOptions;
import com.android.launcher3.util.SplitConfigurationOptions;
@@ -165,6 +167,8 @@ public class LauncherRecentsView extends RecentsView<QuickstepLauncher, Launcher
    @Override
    @Override
    public void setOverviewStateEnabled(boolean enabled) {
    public void setOverviewStateEnabled(boolean enabled) {
        super.setOverviewStateEnabled(enabled);
        super.setOverviewStateEnabled(enabled);
        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "overview state enabled state has changed: "
                + enabled);
        if (enabled) {
        if (enabled) {
            LauncherState state = mActivity.getStateManager().getState();
            LauncherState state = mActivity.getStateManager().getState();
            boolean hasClearAllButton = (state.getVisibleElements(mActivity)
            boolean hasClearAllButton = (state.getVisibleElements(mActivity)
+10 −0
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.AnimatorSet;
import android.os.Handler;
import android.os.Handler;
import android.os.Looper;
import android.os.Looper;
import android.util.Log;


import androidx.annotation.FloatRange;
import androidx.annotation.FloatRange;


@@ -35,6 +36,7 @@ import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.states.StateAnimationConfig;
import com.android.launcher3.states.StateAnimationConfig;
import com.android.launcher3.states.StateAnimationConfig.AnimationFlags;
import com.android.launcher3.states.StateAnimationConfig.AnimationFlags;
import com.android.launcher3.testing.shared.TestProtocol;


import java.io.PrintWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.ArrayList;
@@ -225,6 +227,8 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {


    private void goToState(
    private void goToState(
            STATE_TYPE state, boolean animated, long delay, AnimatorListener listener) {
            STATE_TYPE state, boolean animated, long delay, AnimatorListener listener) {
        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "go to state " + state);

        animated &= areAnimatorsEnabled();
        animated &= areAnimatorsEnabled();
        if (mActivity.isInState(state)) {
        if (mActivity.isInState(state)) {
            if (mConfig.currentAnimation == null) {
            if (mConfig.currentAnimation == null) {
@@ -379,6 +383,8 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
        mState = state;
        mState = state;
        mActivity.onStateSetStart(mState);
        mActivity.onStateSetStart(mState);


        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "Notifying listeners for state transition start"
                + " to state: " + state.toString());
        for (int i = mListeners.size() - 1; i >= 0; i--) {
        for (int i = mListeners.size() - 1; i >= 0; i--) {
            mListeners.get(i).onStateTransitionStart(state);
            mListeners.get(i).onStateTransitionStart(state);
        }
        }
@@ -396,6 +402,8 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
            setRestState(null);
            setRestState(null);
        }
        }


        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "Notifying " + mListeners.size() + " listeners "
                + "for end transition for state: " + state.toString());
        for (int i = mListeners.size() - 1; i >= 0; i--) {
        for (int i = mListeners.size() - 1; i >= 0; i--) {
            mListeners.get(i).onStateTransitionComplete(state);
            mListeners.get(i).onStateTransitionComplete(state);
        }
        }
@@ -433,6 +441,7 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
     * Cancels the current animation.
     * Cancels the current animation.
     */
     */
    public void cancelAnimation() {
    public void cancelAnimation() {
        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "current animation cancelled");
        mConfig.reset();
        mConfig.reset();
        // It could happen that a new animation is set as a result of an endListener on the
        // It could happen that a new animation is set as a result of an endListener on the
        // existing animation.
        // existing animation.
@@ -456,6 +465,7 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
     * @param toState The state we are animating towards.
     * @param toState The state we are animating towards.
     */
     */
    public void setCurrentAnimation(AnimatorSet anim, STATE_TYPE toState) {
    public void setCurrentAnimation(AnimatorSet anim, STATE_TYPE toState) {
        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "setting animation to " + toState.toString());
        cancelAnimation();
        cancelAnimation();
        setCurrentAnimation(anim);
        setCurrentAnimation(anim);
        anim.addListener(createStateAnimationListener(toState));
        anim.addListener(createStateAnimationListener(toState));
+2 −0
Original line number Original line Diff line number Diff line
@@ -158,6 +158,8 @@ public final class TestProtocol {
    public static final String FLAKY_ACTIVITY_COUNT = "b/260260325";
    public static final String FLAKY_ACTIVITY_COUNT = "b/260260325";
    public static final String ICON_MISSING = "b/282963545";
    public static final String ICON_MISSING = "b/282963545";


    public static final String OVERVIEW_OVER_HOME = "b/279059025";

    public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
    public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
    public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
    public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
    public static final String REQUEST_IS_EMULATE_DISPLAY_RUNNING = "is-emulate-display-running";
    public static final String REQUEST_IS_EMULATE_DISPLAY_RUNNING = "is-emulate-display-running";