Fix #2313382: SECURITY: Live wallpapers get touch events through the lock screen.
This is a quick and dirty hack to not deliver touch events to the wallpaper when
they are being sent to the keyguard. Perhaps we should have a separate window
flag for this, but... bleah. Maybe later. Or maybe I'll use that secure flag.
Or something.
Change-Id: Ifd95b9f5b10db24a0854a93b925a833b24331b4c
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 44c9f0f..cd74522 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -6014,7 +6014,9 @@
if (res != null && returnWhat == RETURN_PENDING_POINTER) {
synchronized (mWindowMap) {
- if (mWallpaperTarget == win || mSendingPointersToWallpaper) {
+ if ((mWallpaperTarget == win &&
+ win.mAttrs.type != WindowManager.LayoutParams.TYPE_KEYGUARD)
+ || mSendingPointersToWallpaper) {
sendPointerToWallpaperLocked(win, res, res.getEventTime());
}
}