summaryrefslogtreecommitdiffstats
path: root/core/java/android/service
diff options
context:
space:
mode:
authorFilip Gruszczynski <gruszczy@google.com>2015-07-01 08:35:28 -0700
committerFilip Gruszczynski <gruszczy@google.com>2015-07-01 10:23:47 -0700
commit03850591954faf5280fd581dd04cd6958eda0124 (patch)
treef205d6924b55ef25c6839cd5bd3a664aa2a7c5b1 /core/java/android/service
parent96496e2d17607a8bfa944461c2458b0dcdeee872 (diff)
downloadframeworks_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.java5
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;