summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-10-22 11:17:22 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-22 11:17:22 -0700
commitdee99abcfcf624efc23ec7a81c5a66a6cce4073b (patch)
treea60ddaf021525f83fe0d91b697ed7609fad661a1
parent803e63bfacfddb56ba7a092473685894980c2910 (diff)
parent4c907528d941ff132f5f51ba2d3ac28b2208751f (diff)
downloadframeworks_base-dee99abcfcf624efc23ec7a81c5a66a6cce4073b.zip
frameworks_base-dee99abcfcf624efc23ec7a81c5a66a6cce4073b.tar.gz
frameworks_base-dee99abcfcf624efc23ec7a81c5a66a6cce4073b.tar.bz2
am 4c907528: am 3d4247ef: am fee0f577: Merge change I99dc6477 into eclair
Merge commit '4c907528d941ff132f5f51ba2d3ac28b2208751f' * commit '4c907528d941ff132f5f51ba2d3ac28b2208751f': Add WindowManagerPolicy.allowKeyRepeat() method for disabling key repeats.
-rw-r--r--core/java/android/view/WindowManagerPolicy.java5
-rw-r--r--services/java/com/android/server/WindowManagerService.java7
2 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index 916fc2d..1ab46fc 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -868,4 +868,9 @@ public interface WindowManagerPolicy {
* requesting this is no longer visible.
*/
public void screenOnStoppedLw();
+
+ /**
+ * Return false to disable key repeat events from being generated.
+ */
+ public boolean allowKeyRepeat();
}
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 9caa386..e743513 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -6227,6 +6227,13 @@ public class WindowManagerService extends IWindowManager.Stub
lt.sample("2 got event ", System.nanoTime() - ev.whenNano);
}
+ if (lastKey != null && !mPolicy.allowKeyRepeat()) {
+ // cancel key repeat at the request of the policy.
+ lastKey = null;
+ downTime = 0;
+ lastKeyTime = curTime;
+ nextKeyTime = curTime + LONG_WAIT;
+ }
try {
if (ev != null) {
curTime = SystemClock.uptimeMillis();