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

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

Merge "Adjusting PiP for the TV IME." into oc-mr1-dev

parents e0872526 44315c64
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -127,6 +127,10 @@ public class PipManager implements BasePipManager {
    private PipNotification mPipNotification;
    private ParceledListSlice mCustomActions;

    // Keeps track of the IME visibility to adjust the PiP when the IME is visible
    private boolean mImeVisible;
    private int mImeHeightAdjustment;

    private final PinnedStackListener mPinnedStackListener = new PinnedStackListener();

    private final Runnable mResizePinnedStackRunnable = new Runnable() {
@@ -175,7 +179,22 @@ public class PipManager implements BasePipManager {
        public void onListenerRegistered(IPinnedStackController controller) {}

        @Override
        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {}
        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
            if (mState == STATE_PIP) {
                if (mImeVisible != imeVisible) {
                    if (imeVisible) {
                        // Save the IME height adjustment, and offset to not occlude the IME
                        mPipBounds.offset(0, -imeHeight);
                        mImeHeightAdjustment = imeHeight;
                    } else {
                        // Apply the inverse adjustment when the IME is hidden
                        mPipBounds.offset(0, mImeHeightAdjustment);
                    }
                    mImeVisible = imeVisible;
                    resizePinnedStack(STATE_PIP);
                }
            }
        }

        @Override
        public void onMinimizedStateChanged(boolean isMinimized) {}