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

Commit bc794733 authored by vadimt's avatar vadimt
Browse files

Logging for Nexus home activity appearing after to-home gesture in L3.

Utilities.IS_RUNNING_IN_TEST_HARNESS is used as a condition
for logging in the background NexusLauncher where sDebugTracing is
not set.

Bug: 192018189
Test: presubmit
Change-Id: Ib08656a12c778b7bf968532e3ba899a03031fd7b
parent 89d3f7d1
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -45,6 +45,7 @@ import android.os.Message;
import android.os.Messenger;
import android.os.Messenger;
import android.os.ParcelUuid;
import android.os.ParcelUuid;
import android.os.UserHandle;
import android.os.UserHandle;
import android.util.Log;
import android.view.Surface;
import android.view.Surface;
import android.view.SurfaceControl;
import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
import android.view.SurfaceControl.Transaction;
@@ -57,6 +58,7 @@ import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.anim.SpringAnimationBuilder;
import com.android.launcher3.anim.SpringAnimationBuilder;
import com.android.launcher3.testing.TestProtocol;
import com.android.quickstep.fallback.FallbackRecentsView;
import com.android.quickstep.fallback.FallbackRecentsView;
import com.android.quickstep.fallback.RecentsState;
import com.android.quickstep.fallback.RecentsState;
import com.android.quickstep.util.AppCloseConfig;
import com.android.quickstep.util.AppCloseConfig;
@@ -138,6 +140,10 @@ public class FallbackSwipeHandler extends
        mActiveAnimationFactory = new FallbackHomeAnimationFactory(duration);
        mActiveAnimationFactory = new FallbackHomeAnimationFactory(duration);
        ActivityOptions options = ActivityOptions.makeCustomAnimation(mContext, 0, 0);
        ActivityOptions options = ActivityOptions.makeCustomAnimation(mContext, 0, 0);
        Intent intent = new Intent(mGestureState.getHomeIntent());
        Intent intent = new Intent(mGestureState.getHomeIntent());
        if (Utilities.IS_RUNNING_IN_TEST_HARNESS) {
            Log.d(TestProtocol.L3_SWIPE_TO_HOME,
                    "createHomeAnimationFactory: " + intent.toShortString(true, true, true, false));
        }
        mActiveAnimationFactory.addGestureContract(intent);
        mActiveAnimationFactory.addGestureContract(intent);
        try {
        try {
            mContext.startActivity(intent, options.toBundle());
            mContext.startActivity(intent, options.toBundle());
+9 −0
Original line number Original line Diff line number Diff line
@@ -20,12 +20,14 @@ import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACT


import android.graphics.Rect;
import android.graphics.Rect;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Log;
import android.view.RemoteAnimationTarget;
import android.view.RemoteAnimationTarget;


import androidx.annotation.BinderThread;
import androidx.annotation.BinderThread;
import androidx.annotation.UiThread;
import androidx.annotation.UiThread;


import com.android.launcher3.Utilities;
import com.android.launcher3.Utilities;
import com.android.launcher3.testing.TestProtocol;
import com.android.launcher3.util.Preconditions;
import com.android.launcher3.util.Preconditions;
import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.RecentsAnimationControllerCompat;
import com.android.systemui.shared.system.RecentsAnimationControllerCompat;
@@ -95,6 +97,9 @@ public class RecentsAnimationCallbacks implements
            RemoteAnimationTargetCompat[] appTargets,
            RemoteAnimationTargetCompat[] appTargets,
            RemoteAnimationTargetCompat[] wallpaperTargets,
            RemoteAnimationTargetCompat[] wallpaperTargets,
            Rect homeContentInsets, Rect minimizedHomeBounds) {
            Rect homeContentInsets, Rect minimizedHomeBounds) {
        if (Utilities.IS_RUNNING_IN_TEST_HARNESS) {
            Log.d(TestProtocol.L3_SWIPE_TO_HOME, "RecentsAnimationCallbacks.onAnimationStart");
        }
        // Convert appTargets to type RemoteAnimationTarget for all apps except Home app
        // Convert appTargets to type RemoteAnimationTarget for all apps except Home app
        RemoteAnimationTarget[] nonHomeApps = Arrays.stream(appTargets)
        RemoteAnimationTarget[] nonHomeApps = Arrays.stream(appTargets)
                .filter(remoteAnimationTarget ->
                .filter(remoteAnimationTarget ->
@@ -116,6 +121,10 @@ public class RecentsAnimationCallbacks implements
                    mController::finishAnimationToApp);
                    mController::finishAnimationToApp);
        } else {
        } else {
            Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
            Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
                if (Utilities.IS_RUNNING_IN_TEST_HARNESS) {
                    Log.d(TestProtocol.L3_SWIPE_TO_HOME,
                            "RecentsAnimationCallbacks.onAnimationStart callback");
                }
                for (RecentsAnimationListener listener : getListeners()) {
                for (RecentsAnimationListener listener : getListeners()) {
                    listener.onRecentsAnimationStart(mController, targets);
                    listener.onRecentsAnimationStart(mController, targets);
                }
                }
+12 −0
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.launcher3.statemanager;


import static android.animation.ValueAnimator.areAnimatorsEnabled;
import static android.animation.ValueAnimator.areAnimatorsEnabled;


import static com.android.launcher3.LauncherState.NORMAL;
import static com.android.launcher3.anim.AnimatorPlaybackController.callListenerCommandRecursively;
import static com.android.launcher3.anim.AnimatorPlaybackController.callListenerCommandRecursively;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_ALL_ANIMATIONS;
import static com.android.launcher3.states.StateAnimationConfig.SKIP_ALL_ANIMATIONS;


@@ -27,12 +28,14 @@ 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 com.android.launcher3.anim.AnimationSuccessListener;
import com.android.launcher3.anim.AnimationSuccessListener;
import com.android.launcher3.anim.AnimatorPlaybackController;
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.TestProtocol;


import java.io.PrintWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.ArrayList;
@@ -253,6 +256,9 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
        if (listener != null) {
        if (listener != null) {
            animation.addListener(listener);
            animation.addListener(listener);
        }
        }
        if (TestProtocol.sDebugTracing && state == NORMAL) {
            Log.d(TestProtocol.L3_SWIPE_TO_HOME, "goToStateAnimated: " + state);
        }
        mUiHandler.post(new StartAnimRunnable(animation));
        mUiHandler.post(new StartAnimRunnable(animation));
    }
    }


@@ -328,11 +334,17 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
            @Override
            @Override
            public void onAnimationStart(Animator animation) {
            public void onAnimationStart(Animator animation) {
                // Change the internal state only when the transition actually starts
                // Change the internal state only when the transition actually starts
                if (TestProtocol.sDebugTracing && state == NORMAL) {
                    Log.d(TestProtocol.L3_SWIPE_TO_HOME, "onAnimationStart: " + state);
                }
                onStateTransitionStart(state);
                onStateTransitionStart(state);
            }
            }


            @Override
            @Override
            public void onAnimationSuccess(Animator animator) {
            public void onAnimationSuccess(Animator animator) {
                if (TestProtocol.sDebugTracing && state == NORMAL) {
                    Log.d(TestProtocol.L3_SWIPE_TO_HOME, "onAnimationEnd: " + state);
                }
                onStateTransitionEnd(state);
                onStateTransitionEnd(state);
            }
            }
        };
        };
+1 −0
Original line number Original line Diff line number Diff line
@@ -119,4 +119,5 @@ public final class TestProtocol {
    public static final String FALLBACK_ACTIVITY_NO_SET = "b/181019015";
    public static final String FALLBACK_ACTIVITY_NO_SET = "b/181019015";
    public static final String THIRD_PARTY_LAUNCHER_NOT_SET = "b/187080582";
    public static final String THIRD_PARTY_LAUNCHER_NOT_SET = "b/187080582";
    public static final String TASK_VIEW_ID_CRASH = "b/195430732";
    public static final String TASK_VIEW_ID_CRASH = "b/195430732";
    public static final String L3_SWIPE_TO_HOME = "b/192018189";
}
}