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

Commit 1f8e3af3 authored by Ats Jenk's avatar Ats Jenk Committed by Automerger Merge Worker
Browse files

Merge "Remove shell transition animations when showDesktopApps is called" into...

Merge "Remove shell transition animations when showDesktopApps is called" into tm-qpr-dev am: 1885fa0a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21354854



Change-Id: Iba10d8c8c1423c750e7b28bf592da49c88f81c4a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 895d1086 1885fa0a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_NONE;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_FRONT;

@@ -256,12 +257,15 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
        WindowContainerTransaction wct = new WindowContainerTransaction();
        bringDesktopAppsToFront(wct);

        if (!wct.isEmpty()) {
            if (Transitions.ENABLE_SHELL_TRANSITIONS) {
            mTransitions.startTransition(TRANSIT_TO_FRONT, wct, null /* handler */);
                // TODO(b/268662477): add animation for the transition
                mTransitions.startTransition(TRANSIT_NONE, wct, null /* handler */);
            } else {
                mShellTaskOrganizer.applyTransaction(wct);
            }
        }
    }

    /** Get number of tasks that are marked as visible */
    int getVisibleTaskCount() {
+3 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.Context
import android.os.IBinder
import android.view.SurfaceControl
import android.view.WindowManager.TRANSIT_CHANGE
import android.view.WindowManager.TRANSIT_NONE
import android.view.WindowManager.TRANSIT_OPEN
import android.view.WindowManager.TRANSIT_TO_FRONT
import android.window.TransitionInfo
@@ -89,7 +90,8 @@ class DesktopTasksController(
        // Execute transaction if there are pending operations
        if (!wct.isEmpty) {
            if (Transitions.ENABLE_SHELL_TRANSITIONS) {
                transitions.startTransition(TRANSIT_TO_FRONT, wct, null /* handler */)
                // TODO(b/268662477): add animation for the transition
                transitions.startTransition(TRANSIT_NONE, wct, null /* handler */)
            } else {
                shellTaskOrganizer.applyTransaction(wct)
            }
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.app.WindowConfiguration.WINDOW_CONFIG_BOUNDS;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_NONE;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REORDER;
@@ -446,7 +447,7 @@ public class DesktopModeControllerTest extends ShellTestCase {
        final ArgumentCaptor<WindowContainerTransaction> arg = ArgumentCaptor.forClass(
                WindowContainerTransaction.class);
        if (Transitions.ENABLE_SHELL_TRANSITIONS) {
            verify(mTransitions).startTransition(eq(TRANSIT_TO_FRONT), arg.capture(), any());
            verify(mTransitions).startTransition(eq(TRANSIT_NONE), arg.capture(), any());
        } else {
            verify(mShellTaskOrganizer).applyTransaction(arg.capture());
        }
+14 −9
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED
import android.os.Binder
import android.testing.AndroidTestingRunner
import android.view.WindowManager
import android.view.WindowManager.TRANSIT_CHANGE
import android.view.WindowManager.TRANSIT_NONE
import android.view.WindowManager.TRANSIT_OPEN
import android.view.WindowManager.TRANSIT_TO_FRONT
import android.window.TransitionRequestInfo
@@ -55,6 +57,7 @@ import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.eq
import org.mockito.ArgumentMatchers.isNull
import org.mockito.Mock
import org.mockito.Mockito
@@ -141,7 +144,7 @@ class DesktopTasksControllerTest : ShellTestCase() {

        controller.showDesktopApps()

        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_NONE)
        assertThat(wct.hierarchyOps).hasSize(3)
        // Expect order to be from bottom: home, task1, task2
        wct.assertReorderAt(index = 0, homeTask)
@@ -159,7 +162,7 @@ class DesktopTasksControllerTest : ShellTestCase() {

        controller.showDesktopApps()

        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_NONE)
        assertThat(wct.hierarchyOps).hasSize(3)
        // Expect order to be from bottom: home, task1, task2
        wct.assertReorderAt(index = 0, homeTask)
@@ -177,7 +180,7 @@ class DesktopTasksControllerTest : ShellTestCase() {

        controller.showDesktopApps()

        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_NONE)
        assertThat(wct.hierarchyOps).hasSize(3)
        // Expect order to be from bottom: home, task1, task2
        wct.assertReorderAt(index = 0, homeTask)
@@ -191,7 +194,7 @@ class DesktopTasksControllerTest : ShellTestCase() {

        controller.showDesktopApps()

        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_NONE)
        assertThat(wct.hierarchyOps).hasSize(1)
        wct.assertReorderAt(index = 0, homeTask)
    }
@@ -221,7 +224,7 @@ class DesktopTasksControllerTest : ShellTestCase() {
    fun moveToDesktop() {
        val task = setUpFullscreenTask()
        controller.moveToDesktop(task)
        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_CHANGE)
        assertThat(wct.changes[task.token.asBinder()]?.windowingMode)
            .isEqualTo(WINDOWING_MODE_FREEFORM)
    }
@@ -241,7 +244,7 @@ class DesktopTasksControllerTest : ShellTestCase() {

        controller.moveToDesktop(fullscreenTask)

        with(getLatestWct()) {
        with(getLatestWct(expectTransition = TRANSIT_CHANGE)) {
            assertThat(hierarchyOps).hasSize(3)
            assertReorderSequence(homeTask, freeformTask, fullscreenTask)
            assertThat(changes[fullscreenTask.token.asBinder()]?.windowingMode)
@@ -253,7 +256,7 @@ class DesktopTasksControllerTest : ShellTestCase() {
    fun moveToFullscreen() {
        val task = setUpFreeformTask()
        controller.moveToFullscreen(task)
        val wct = getLatestWct()
        val wct = getLatestWct(expectTransition = TRANSIT_CHANGE)
        assertThat(wct.changes[task.token.asBinder()]?.windowingMode)
            .isEqualTo(WINDOWING_MODE_FULLSCREEN)
    }
@@ -415,10 +418,12 @@ class DesktopTasksControllerTest : ShellTestCase() {
        desktopModeTaskRepository.updateVisibleFreeformTasks(task.taskId, visible = false)
    }

    private fun getLatestWct(): WindowContainerTransaction {
    private fun getLatestWct(
        @WindowManager.TransitionType expectTransition: Int = TRANSIT_OPEN
    ): WindowContainerTransaction {
        val arg = ArgumentCaptor.forClass(WindowContainerTransaction::class.java)
        if (ENABLE_SHELL_TRANSITIONS) {
            verify(transitions).startTransition(anyInt(), arg.capture(), isNull())
            verify(transitions).startTransition(eq(expectTransition), arg.capture(), isNull())
        } else {
            verify(shellTaskOrganizer).applyTransaction(arg.capture())
        }