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

Commit 98314d0d authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Rely on presense of divider target to determine split screen state

* Don't rely on the number of leashes, since an app with
assistant invoked returns multiple remote app targets
even though the device isn't in split screen

Fixes: 197293347
Test: Repro steps in bug don't cause crash.
Less fatal bugs need to be addressed,
TODO(b/197568823)

Change-Id: I3432e3d8c54a433dd38d297db73ea3d46bad7ba9
parent c8295216
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -278,6 +278,8 @@ public abstract class SwipeUpAnimationLogic implements
        RemoteAnimationTargetCompat primaryTaskTarget;
        RemoteAnimationTargetCompat secondaryTaskTarget;

        // TODO(b/197568823) Determine if we need to exclude assistant as one of the targets we
        //  animate
        if (!mIsSwipeForStagedSplit) {
            primaryTaskTarget = targets.findTask(mGestureState.getRunningTaskId());
            mRemoteTargetHandles[0].mTransformParams.setTargetSet(targets);
+6 −6
Original line number Diff line number Diff line
@@ -4019,12 +4019,14 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
            recentsAnimationTargets.addReleaseCheck(mSyncTransactionApplier);
        }

        // TODO Consolidate this shared code with SwipeUpAnimationLogic (or mabe just reuse
        //  what that class has and pass it into here
        mRemoteTargetHandles = new RemoteTargetHandle[recentsAnimationTargets.apps.length];
        RemoteAnimationTargetCompat dividerTarget =
                recentsAnimationTargets.getNonAppTargetOfType(TYPE_DOCK_DIVIDER);
        // TODO Consolidate this shared code with SwipeUpAnimationLogic (or maybe just reuse
        //  what that class has and pass it into here)
        mRemoteTargetHandles = new RemoteTargetHandle[dividerTarget == null ? 1 : 2];
        TaskViewSimulator primaryTvs = createTaskViewSimulator();
        mRemoteTargetHandles[0] = new RemoteTargetHandle(primaryTvs, new TransformParams());
        if (recentsAnimationTargets.apps.length == 1) {
        if (dividerTarget == null) {
            mRemoteTargetHandles[0].mTaskViewSimulator
                    .setPreview(recentsAnimationTargets.apps[0], null);
            mRemoteTargetHandles[0].mTransformParams.setTargetSet(recentsAnimationTargets);
@@ -4034,8 +4036,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
            secondaryTvs.recentsViewScale.value = 1;

            mRemoteTargetHandles[1] = new RemoteTargetHandle(secondaryTvs, new TransformParams());
            RemoteAnimationTargetCompat dividerTarget =
                    recentsAnimationTargets.getNonAppTargetOfType(TYPE_DOCK_DIVIDER);
            RemoteAnimationTargetCompat primaryTaskTarget = recentsAnimationTargets.apps[0];
            RemoteAnimationTargetCompat secondaryTaskTarget = recentsAnimationTargets.apps[1];
            SplitConfigurationOptions.StagedSplitBounds