diff options
author | Filip Gruszczynski <gruszczy@google.com> | 2015-07-01 08:35:28 -0700 |
---|---|---|
committer | Filip Gruszczynski <gruszczy@google.com> | 2015-07-01 10:23:47 -0700 |
commit | 03850591954faf5280fd581dd04cd6958eda0124 (patch) | |
tree | f205d6924b55ef25c6839cd5bd3a664aa2a7c5b1 /core/java/android/service | |
parent | 96496e2d17607a8bfa944461c2458b0dcdeee872 (diff) | |
download | frameworks_base-03850591954faf5280fd581dd04cd6958eda0124.zip frameworks_base-03850591954faf5280fd581dd04cd6958eda0124.tar.gz frameworks_base-03850591954faf5280fd581dd04cd6958eda0124.tar.bz2 |
Handle outsets when resized is called due to rotation.
Rotation might change while the wallpaper is displayed. If outsets are
present, this must trigger a resized callback and the wallpaper must
take these accounts immediately into account before requesting relayout.
Bug: 22209764
Change-Id: I97f2670f384ccac792e7c2727eb0ef017ec66188
Diffstat (limited to 'core/java/android/service')
-rw-r--r-- | core/java/android/service/wallpaper/WallpaperService.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 5791d63..181e533 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -273,8 +273,8 @@ public abstract class WallpaperService extends Service { public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) { - Message msg = mCaller.obtainMessageI(MSG_WINDOW_RESIZED, - reportDraw ? 1 : 0); + Message msg = mCaller.obtainMessageIO(MSG_WINDOW_RESIZED, + reportDraw ? 1 : 0, outsets); mCaller.sendMessage(msg); } @@ -1194,6 +1194,7 @@ public abstract class WallpaperService extends Service { } break; case MSG_WINDOW_RESIZED: { final boolean reportDraw = message.arg1 != 0; + mEngine.mOutsets.set((Rect) message.obj); mEngine.updateSurface(true, false, reportDraw); mEngine.doOffsetsChanged(true); } break; |