Merge "Hide the keyboard when remote input hides." into sc-dev

This commit is contained in:
TreeHugger Robot
2021-07-15 16:35:20 +00:00
committed by Android (Google) Code Review
3 changed files with 4 additions and 1 deletions

View File

@@ -131,7 +131,7 @@ public class RemoteInputController {
*/
public void removeRemoteInput(NotificationEntry entry, Object token) {
Objects.requireNonNull(entry);
if (entry.mRemoteEditImeVisible) return;
if (entry.mRemoteEditImeVisible && entry.mRemoteEditImeAnimatingAway) return;
// If the view is being removed, this may be called even though we're not active
if (!isRemoteInputActive(entry)) return;

View File

@@ -183,6 +183,7 @@ public final class NotificationEntry extends ListEntry {
private boolean mIsMarkedForUserTriggeredMovement;
private boolean mIsAlerting;
public boolean mRemoteEditImeAnimatingAway;
public boolean mRemoteEditImeVisible;
private boolean mExpandAnimationRunning;

View File

@@ -272,6 +272,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
public void onEnd(@NonNull WindowInsetsAnimation animation) {
super.onEnd(animation);
if (animation.getTypeMask() == WindowInsets.Type.ime()) {
mEntry.mRemoteEditImeAnimatingAway = false;
mEntry.mRemoteEditImeVisible =
mEditText.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
if (!mEntry.mRemoteEditImeVisible && !mEditText.mShowImeOnInputConnection) {
@@ -392,6 +393,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mSendButton.setVisibility(INVISIBLE);
mProgressBar.setVisibility(VISIBLE);
mEntry.lastRemoteInputSent = SystemClock.elapsedRealtime();
mEntry.mRemoteEditImeAnimatingAway = true;
mController.addSpinning(mEntry.getKey(), mToken);
mController.removeRemoteInput(mEntry, mToken);
mEditText.mShowImeOnInputConnection = false;