From b608d28f849187554149fce65c0444f0f7c7ae03 Mon Sep 17 00:00:00 2001 From: Erik Wolsheimer Date: Thu, 20 Oct 2016 21:09:44 -0700 Subject: [PATCH] DO NOT MERGE ANYWHERE Allow Wear Home app to send wallpaper commands at any time BUG: 32172459 BUG: 32069897 Change-Id: I6f030b6288433b9cefce0f2fb1a69de61bfa7617 --- .../core/java/com/android/server/wm/WallpaperController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java index e7ceba90bde3..aea8b39bd00b 100644 --- a/services/core/java/com/android/server/wm/WallpaperController.java +++ b/services/core/java/com/android/server/wm/WallpaperController.java @@ -346,7 +346,15 @@ class WallpaperController { Bundle sendWindowWallpaperCommand( WindowState window, String action, int x, int y, int z, Bundle extras, boolean sync) { - if (window == mWallpaperTarget + + // HACK(ewol): Custom whitelist for Wear Home app, to allow it to update the wallpaper + // regardless of what window is targeted. + // http://b/32172459 + final boolean hackWearWhitelisted = (window != null) && (window.mAttrs != null) + && "com.google.android.wearable.app".equals(window.mAttrs.packageName); + + if (hackWearWhitelisted + || window == mWallpaperTarget || window == mLowerWallpaperTarget || window == mUpperWallpaperTarget) { boolean doWait = sync; -- 2.11.0