diff options
| author | 2024-09-05 01:45:00 +0000 | |
|---|---|---|
| committer | 2024-09-05 01:45:00 +0000 | |
| commit | a9aa211c9bd27af788ea7093fa9c12652ee13589 (patch) | |
| tree | 73d29188fc7c69f1c1397dc25b4ae6228a4bdd43 /libs | |
| parent | 6e4a7202acbb807250dc93dee83cce36b158aaee (diff) | |
| parent | 5549898e27385bc9aca1bf20dd9fc60a13b7b25f (diff) | |
Merge "Defer showing taskbar when playing back-to-home animation." into main
Diffstat (limited to 'libs')
2 files changed, 20 insertions, 3 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java index 9b27e413b5e4..3d79a1c8cebe 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java @@ -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); + } + } } } } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java index d2adae181f7b..f51a9608d442 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java @@ -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); |