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

Commit 3bf4b6f1 authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

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

am: 65a3b2cc

Change-Id: I576f611e4a1a6567e7cd2e80b4f5575ba99e2f4d
parents dcc8d156 65a3b2cc
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);