From b0c8db018d53b103dcb4b699be27a4e1a2c2f92c Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Wed, 5 Oct 2011 16:59:31 -0700 Subject: Let accessibility users know to connect a headset when the IME connects to a password field. Change-Id: If96cd7626950dd12e88a8a97f5e405d303d41e06 --- .../accessibility/AccessibleKeyboardViewProxy.java | 27 ++-------------------- 1 file changed, 2 insertions(+), 25 deletions(-) (limited to 'java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java') diff --git a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java index e1b778126..4c109c708 100644 --- a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java +++ b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java @@ -21,7 +21,6 @@ import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.Paint; import android.inputmethodservice.InputMethodService; -import android.media.AudioManager; import android.util.Log; import android.view.MotionEvent; import android.view.ViewConfiguration; @@ -29,8 +28,6 @@ import android.view.accessibility.AccessibilityEvent; import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.AccessibilityEventCompatUtils; -import com.android.inputmethod.compat.AudioManagerCompatWrapper; -import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.MotionEventCompatUtils; import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.KeyDetector; @@ -48,7 +45,6 @@ public class AccessibleKeyboardViewProxy { private FlickGestureDetector mGestureDetector; private LatinKeyboardView mView; private AccessibleKeyboardActionListener mListener; - private AudioManagerCompatWrapper mAudioManager; private int mScaledEdgeSlop; private int mLastHoverKeyIndex = KeyDetector.NOT_A_KEY; @@ -82,26 +78,6 @@ public class AccessibleKeyboardViewProxy { mInputMethod = inputMethod; mGestureDetector = new KeyboardFlickGestureDetector(inputMethod); mScaledEdgeSlop = ViewConfiguration.get(inputMethod).getScaledEdgeSlop(); - - final AudioManager audioManager = (AudioManager) inputMethod - .getSystemService(Context.AUDIO_SERVICE); - mAudioManager = new AudioManagerCompatWrapper(audioManager); - } - - /** - * @return {@code true} if the device should not speak text (eg. non-control) characters - */ - private boolean shouldObscureInput() { - // Always speak if the user is listening through headphones. - if (mAudioManager.isWiredHeadsetOn() || mAudioManager.isBluetoothA2dpOn()) - return false; - - final EditorInfo info = mInputMethod.getCurrentInputEditorInfo(); - if (info == null) - return false; - - // Don't speak if the IME is connected to a password field. - return InputTypeCompatUtils.isPasswordInputType(info.inputType); } public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event, @@ -118,7 +94,8 @@ public class AccessibleKeyboardViewProxy { if (key == null) break; - final boolean shouldObscure = shouldObscureInput(); + final EditorInfo info = mInputMethod.getCurrentInputEditorInfo(); + final boolean shouldObscure = AccessibilityUtils.getInstance().shouldObscureInput(info); final CharSequence description = KeyCodeDescriptionMapper.getInstance() .getDescriptionForKey(mView.getContext(), mView.getKeyboard(), key, shouldObscure); -- cgit v1.2.3-83-g751a