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

Commit d85708dc authored by Tony Huang's avatar Tony Huang Committed by Automerger Merge Worker
Browse files

Merge "Start IME animation if its insets update after show" into rvc-dev am:...

Merge "Start IME animation if its insets update after show" into rvc-dev am: 8ebf215f am: 3e6c27c8 am: 4a59fcac am: 4be737a4

Change-Id: I6164ca1f31f4600990bc54b7f5077741cdcef4a5
parents c6258b18 4be737a4
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -211,14 +211,16 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks,
            mTargetShown = imeShouldShow;
            if (mLastAdjustTop < 0) {
                mLastAdjustTop = imeShouldShow ? hiddenTop : shownTop;
            } else {
                // Check for an "interruption" of an existing animation. In this case, we need to
                // fake-flip the last-known state direction so that the animation completes in the
                // other direction.
            } else if (mLastAdjustTop != (imeShouldShow ? mShownTop : mHiddenTop)) {
                if (mTargetAdjusted != targetAdjusted && targetAdjusted == mAdjusted) {
                    if (mLastAdjustTop != (imeShouldShow ? mShownTop : mHiddenTop)) {
                    // Check for an "interruption" of an existing animation. In this case, we
                    // need to fake-flip the last-known state direction so that the animation
                    // completes in the other direction.
                    mAdjusted = mTargetAdjusted;
                    }
                } else if (targetAdjusted && mTargetAdjusted && mAdjusted) {
                    // Already fully adjusted for IME, but IME height has changed; so, force-start
                    // an async animation to the new IME height.
                    mAdjusted = false;
                }
            }
            if (mPaused) {
+10 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.content.res.Configuration;
import android.graphics.Point;
import android.graphics.Rect;
import android.os.Handler;
import android.os.RemoteException;
import android.util.Slog;
@@ -188,7 +189,16 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged
            if (mInsetsState.equals(insetsState)) {
                return;
            }

            final InsetsSource newSource = insetsState.getSource(InsetsState.ITYPE_IME);
            final Rect newFrame = newSource.getFrame();
            final Rect oldFrame = mInsetsState.getSource(InsetsState.ITYPE_IME).getFrame();

            mInsetsState.set(insetsState, true /* copySources */);
            if (mImeShowing && !newFrame.equals(oldFrame) && newSource.isVisible()) {
                if (DEBUG) Slog.d(TAG, "insetsChanged when IME showing, restart animation");
                startAnimation(mImeShowing, true /* forceRestart */);
            }
        }

        @Override