Merge "Hide the keyboard when remote input hides." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7900e98494
@@ -131,7 +131,7 @@ public class RemoteInputController {
|
|||||||
*/
|
*/
|
||||||
public void removeRemoteInput(NotificationEntry entry, Object token) {
|
public void removeRemoteInput(NotificationEntry entry, Object token) {
|
||||||
Objects.requireNonNull(entry);
|
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 the view is being removed, this may be called even though we're not active
|
||||||
if (!isRemoteInputActive(entry)) return;
|
if (!isRemoteInputActive(entry)) return;
|
||||||
|
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ public final class NotificationEntry extends ListEntry {
|
|||||||
private boolean mIsMarkedForUserTriggeredMovement;
|
private boolean mIsMarkedForUserTriggeredMovement;
|
||||||
private boolean mIsAlerting;
|
private boolean mIsAlerting;
|
||||||
|
|
||||||
|
public boolean mRemoteEditImeAnimatingAway;
|
||||||
public boolean mRemoteEditImeVisible;
|
public boolean mRemoteEditImeVisible;
|
||||||
private boolean mExpandAnimationRunning;
|
private boolean mExpandAnimationRunning;
|
||||||
|
|
||||||
|
|||||||
@@ -272,6 +272,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
|
|||||||
public void onEnd(@NonNull WindowInsetsAnimation animation) {
|
public void onEnd(@NonNull WindowInsetsAnimation animation) {
|
||||||
super.onEnd(animation);
|
super.onEnd(animation);
|
||||||
if (animation.getTypeMask() == WindowInsets.Type.ime()) {
|
if (animation.getTypeMask() == WindowInsets.Type.ime()) {
|
||||||
|
mEntry.mRemoteEditImeAnimatingAway = false;
|
||||||
mEntry.mRemoteEditImeVisible =
|
mEntry.mRemoteEditImeVisible =
|
||||||
mEditText.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
|
mEditText.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
|
||||||
if (!mEntry.mRemoteEditImeVisible && !mEditText.mShowImeOnInputConnection) {
|
if (!mEntry.mRemoteEditImeVisible && !mEditText.mShowImeOnInputConnection) {
|
||||||
@@ -392,6 +393,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
|
|||||||
mSendButton.setVisibility(INVISIBLE);
|
mSendButton.setVisibility(INVISIBLE);
|
||||||
mProgressBar.setVisibility(VISIBLE);
|
mProgressBar.setVisibility(VISIBLE);
|
||||||
mEntry.lastRemoteInputSent = SystemClock.elapsedRealtime();
|
mEntry.lastRemoteInputSent = SystemClock.elapsedRealtime();
|
||||||
|
mEntry.mRemoteEditImeAnimatingAway = true;
|
||||||
mController.addSpinning(mEntry.getKey(), mToken);
|
mController.addSpinning(mEntry.getKey(), mToken);
|
||||||
mController.removeRemoteInput(mEntry, mToken);
|
mController.removeRemoteInput(mEntry, mToken);
|
||||||
mEditText.mShowImeOnInputConnection = false;
|
mEditText.mShowImeOnInputConnection = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user