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

Commit a51dcaae authored by Matthew Ng's avatar Matthew Ng
Browse files

Fixes docked stack from being invisible from assistant stack over

Set the special case for fullscreen assistant over docked stack in
minimized mode for the docked app to be visible. This would also affect
the dividerview to animate minimized when assistant is over. If the
divider view animation had not finished while swipe up from fullscreen
assistant, the divider not be minimized because the animation finishes
and was not stopped and set back to minimized, therefore cancel the
animation when divider controller tells divider view to minimize.

Test: docked something, minimized, invoke assistant, tap to make it
fullscreen, then swipe up
Fixes: 74551860
Change-Id: If7081fd642db8f15291a19573fd449fde5440893
parent 82db2614
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -781,7 +781,8 @@ public class DividerView extends FrameLayout implements OnTouchListener,
            mMinimizedSnapAlgorithm = null;
            mDockedStackMinimized = minimized;
            initializeSnapAlgorithm();
            if (mIsInMinimizeInteraction != minimized) {
            if (mIsInMinimizeInteraction != minimized || mCurrentAnimator != null) {
                cancelFlingAnimation();
                if (minimized) {
                    // Relayout to recalculate the divider shadow when minimizing
                    requestLayout();
+11 −4
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server.am;

import static android.app.ITaskStackListener.FORCED_RESIZEABLE_REASON_SPLIT_SCREEN;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_ASSISTANT;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
@@ -1791,11 +1792,17 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
                // In this case the home stack isn't resizeable even though we are in split-screen
                // mode. We still want the primary splitscreen stack to be visible as there will be
                // a slight hint of it in the status bar area above the non-resizeable home
                // activity.
                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
                        && other.getActivityType() == ACTIVITY_TYPE_HOME) {
                // activity. In addition, if the fullscreen assistant is over primary splitscreen
                // stack, the stack should still be visible in the background as long as the recents
                // animation is running.
                final int activityType = other.getActivityType();
                if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
                    if (activityType == ACTIVITY_TYPE_HOME
                            || (activityType == ACTIVITY_TYPE_ASSISTANT
                                    && mWindowManager.getRecentsAnimationController() != null)) {
                       return true;
                    }
                }
                if (other.isStackTranslucent(starting)) {
                    // Can be visible behind a translucent fullscreen stack.
                    continue;