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

Commit 416f7245 authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Defer ending launcher power mode hint until after transient transition"...

Merge "Defer ending launcher power mode hint until after transient transition" into udc-dev am: 058c3d61 am: 2e28b480 am: 8c3ada1f

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



Change-Id: Ief4065a93ccf401484c27b8d5348d2404ae0e921
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 72cc4403 8c3ada1f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3209,6 +3209,10 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                        + "not idle", rootTask.getRootTaskId(), resumedActivity);
                return false;
            }
            if (mTransitionController.isTransientLaunch(resumedActivity)) {
                // Not idle if the transient transition animation is running.
                return false;
            }
        }
        // End power mode launch when idle.
        mService.endLaunchPowerMode(ActivityTaskManagerService.POWER_MODE_REASON_START_ACTIVITY);
+10 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
@@ -1425,6 +1426,15 @@ public class TransitionTests extends WindowTestsBase {
        // No need to wait for the activity in transient hide task.
        assertEquals(WindowContainer.SYNC_STATE_NONE, activity1.mSyncState);

        // An active transient launch overrides idle state to avoid clearing power mode before the
        // transition is finished.
        spyOn(mRootWindowContainer.mTransitionController);
        doAnswer(invocation -> controller.isTransientLaunch(invocation.getArgument(0))).when(
                mRootWindowContainer.mTransitionController).isTransientLaunch(any());
        activity2.getTask().setResumedActivity(activity2, "test");
        activity2.idle = true;
        assertFalse(mRootWindowContainer.allResumedActivitiesIdle());

        activity1.setVisibleRequested(false);
        activity2.setVisibleRequested(true);
        activity2.setVisible(true);