diff options
| author | Mike Lockwood <lockwood@android.com> | 2009-10-22 11:17:22 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-10-22 11:17:22 -0700 |
| commit | dee99abcfcf624efc23ec7a81c5a66a6cce4073b (patch) | |
| tree | a60ddaf021525f83fe0d91b697ed7609fad661a1 | |
| parent | 803e63bfacfddb56ba7a092473685894980c2910 (diff) | |
| parent | 4c907528d941ff132f5f51ba2d3ac28b2208751f (diff) | |
| download | frameworks_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.java | 5 | ||||
| -rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 7 |
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(); |
