diff options
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java index 2d90727a0e02..70772eb553b2 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -44,8 +44,10 @@ import android.text.TextUtils; import android.util.Log; import android.util.Slog; import android.view.KeyEvent; +import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; +import android.view.accessibility.AccessibilityManager; import java.io.IOException; @@ -510,6 +512,18 @@ public class LockPatternKeyguardView extends KeyguardViewBase { } @Override + protected boolean dispatchHoverEvent(MotionEvent event) { + // Do not let the screen to get locked while the user is disabled and touch + // exploring. A blind user will need significantly more time to find and + // interact with the lock screen views. + AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(mContext); + if (accessibilityManager.isEnabled() && accessibilityManager.isTouchExplorationEnabled()) { + getCallback().pokeWakelock(); + } + return super.dispatchHoverEvent(event); + } + + @Override public void wakeWhenReadyTq(int keyCode) { if (DEBUG) Log.d(TAG, "onWakeKey"); if (keyCode == KeyEvent.KEYCODE_MENU && isSecure() && (mMode == Mode.LockScreen) |