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

Commit 65a3b2cc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Clean up dismiss target when last activity is unpinned." into oc-dr1-dev

parents 1b7ff898 9b919413
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ public class PipManager implements BasePipManager {
            ComponentName topPipActivity = PipUtils.getTopPinnedActivity(mContext,
                    mActivityManager);
            mMenuController.hideMenu();
            mTouchHandler.onActivityUnpinned(topPipActivity);
            mNotificationController.onActivityUnpinned(topPipActivity);

            SystemServicesProxy.getInstance(mContext).setPipVisibility(topPipActivity != null);
+19 −7
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.IActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.graphics.Point;
import android.graphics.PointF;
@@ -116,7 +117,7 @@ public class PipTouchHandler {
            };

    // Behaviour states
    private int mMenuState;
    private int mMenuState = MENU_STATE_NONE;
    private boolean mIsMinimized;
    private boolean mIsImeShowing;
    private int mImeHeight;
@@ -212,14 +213,15 @@ public class PipTouchHandler {
    }

    public void onActivityPinned() {
        // Reset some states once we are pinned
        mMenuState = MENU_STATE_NONE;
        cleanUp();
        mShowPipMenuOnAnimationEnd = true;
    }

        if (mIsMinimized) {
            setMinimizedStateInternal(false);
    public void onActivityUnpinned(ComponentName topPipActivity) {
        if (topPipActivity == null) {
            // Clean up state after the last PiP activity is removed
            cleanUp();
        }
        cleanUpDismissTarget();
        mShowPipMenuOnAnimationEnd = true;
    }

    public void onPinnedStackAnimationEnded() {
@@ -729,6 +731,16 @@ public class PipTouchHandler {
        mDismissViewController.destroyDismissTarget();
    }

    /**
     * Resets some states related to the touch handling.
     */
    private void cleanUp() {
        if (mIsMinimized) {
            setMinimizedStateInternal(false);
        }
        cleanUpDismissTarget();
    }

    public void dump(PrintWriter pw, String prefix) {
        final String innerPrefix = prefix + "  ";
        pw.println(prefix + TAG);