Merge "A11y: Prevent utterance from resetting RemoteInputView" into nyc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
711d0da353
@@ -38,6 +38,7 @@ import android.view.View;
|
|||||||
import android.view.ViewAnimationUtils;
|
import android.view.ViewAnimationUtils;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.ViewParent;
|
import android.view.ViewParent;
|
||||||
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
import android.view.inputmethod.CompletionInfo;
|
import android.view.inputmethod.CompletionInfo;
|
||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
import android.view.inputmethod.InputConnection;
|
import android.view.inputmethod.InputConnection;
|
||||||
@@ -86,6 +87,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
|
|||||||
private int mRevealCy;
|
private int mRevealCy;
|
||||||
private int mRevealR;
|
private int mRevealR;
|
||||||
|
|
||||||
|
private boolean mResetting;
|
||||||
|
|
||||||
public RemoteInputView(Context context, AttributeSet attrs) {
|
public RemoteInputView(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
}
|
}
|
||||||
@@ -281,6 +284,8 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void reset() {
|
private void reset() {
|
||||||
|
mResetting = true;
|
||||||
|
|
||||||
mEditText.getText().clear();
|
mEditText.getText().clear();
|
||||||
mEditText.setEnabled(true);
|
mEditText.setEnabled(true);
|
||||||
mSendButton.setVisibility(VISIBLE);
|
mSendButton.setVisibility(VISIBLE);
|
||||||
@@ -288,6 +293,19 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
|
|||||||
mController.removeSpinning(mEntry.key);
|
mController.removeSpinning(mEntry.key);
|
||||||
updateSendButton();
|
updateSendButton();
|
||||||
onDefocus(false /* animate */);
|
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() {
|
private void updateSendButton() {
|
||||||
|
|||||||
Reference in New Issue
Block a user