A11y: Prevent utterance from resetting RemoteInputView

am: f17c86b833

Change-Id: I3f8b99e1177cc6893e540149718a76dacf1a669d
This commit is contained in:
Adrian Roos
2016-09-07 22:59:10 +00:00
committed by android-build-merger

View File

@@ -38,6 +38,7 @@ import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.accessibility.AccessibilityEvent;
import android.view.inputmethod.CompletionInfo;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
@@ -86,6 +87,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
private int mRevealCy;
private int mRevealR;
private boolean mResetting;
public RemoteInputView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -281,6 +284,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
}
private void reset() {
mResetting = true;
mEditText.getText().clear();
mEditText.setEnabled(true);
mSendButton.setVisibility(VISIBLE);
@@ -288,6 +293,19 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
mController.removeSpinning(mEntry.key);
updateSendButton();
onDefocus(false /* animate */);
mResetting = false;
}
@Override
public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
if (mResetting && child == mEditText) {
// Suppress text events if it happens during resetting. Ideally this would be
// suppressed by the text view not being shown, but that doesn't work here because it
// needs to stay visible for the animation.
return false;
}
return super.onRequestSendAccessibilityEvent(child, event);
}
private void updateSendButton() {