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

Commit a9aa211c authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Defer showing taskbar when playing back-to-home animation." into main

parents 6e4a7202 5549898e
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.os.IBinder;
import android.view.SurfaceControl;
import android.window.TransitionInfo;

import com.android.window.flags.Flags;
import com.android.wm.shell.common.RemoteCallable;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.SingleInstanceRemoteListener;
@@ -71,9 +72,17 @@ public class HomeTransitionObserver implements TransitionObserver,

            final int mode = change.getMode();
            final boolean isBackGesture = change.hasFlags(FLAG_BACK_GESTURE_ANIMATED);
            if (taskInfo.getActivityType() == ACTIVITY_TYPE_HOME
                    && (TransitionUtil.isOpenOrCloseMode(mode) || isBackGesture)) {
                notifyHomeVisibilityChanged(TransitionUtil.isOpeningType(mode) || isBackGesture);
            if (taskInfo.getActivityType() == ACTIVITY_TYPE_HOME) {
                if (Flags.migratePredictiveBackTransition()) {
                    if (!isBackGesture && TransitionUtil.isOpenOrCloseMode(mode)) {
                        notifyHomeVisibilityChanged(TransitionUtil.isOpeningType(mode));
                    }
                } else {
                    if (TransitionUtil.isOpenOrCloseMode(mode) || isBackGesture) {
                        notifyHomeVisibilityChanged(TransitionUtil.isOpeningType(mode)
                                || isBackGesture);
                    }
                }
            }
        }
    }
+8 −0
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.RemoteException;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.view.SurfaceControl;
import android.window.TransitionInfo;
import android.window.TransitionInfo.TransitionMode;
@@ -46,6 +49,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;

import com.android.window.flags.Flags;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.ShellTestCase;
import com.android.wm.shell.TestShellExecutor;
@@ -57,6 +61,7 @@ import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;

@@ -70,6 +75,8 @@ import java.util.List;
@RunWith(AndroidJUnit4.class)
public class HomeTransitionObserverTest extends ShellTestCase {

    @Rule
    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
    private final ShellTaskOrganizer mOrganizer = mock(ShellTaskOrganizer.class);
    private final TransactionPool mTransactionPool = mock(TransactionPool.class);
    private final Context mContext =
@@ -187,6 +194,7 @@ public class HomeTransitionObserverTest extends ShellTestCase {
    }

    @Test
    @RequiresFlagsDisabled(Flags.FLAG_MIGRATE_PREDICTIVE_BACK_TRANSITION)
    public void testHomeActivityWithBackGestureNotifiesHomeIsVisible() throws RemoteException {
        TransitionInfo info = mock(TransitionInfo.class);
        TransitionInfo.Change change = mock(TransitionInfo.Change.class);