summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java14
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)