summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Michael Wright <michaelwr@google.com> 2013-10-03 21:51:58 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2013-10-03 21:51:59 +0000
commitcf5b34b0c43df076cfe8b774c1c919303793fa7c (patch)
tree8686ac29c685b0d7f56d50027a8108ef817fd6a3
parent27b826325c6201a0bb96efb1011c752408ece18a (diff)
parent5203a8b50b28764971fbeac637b2bfaaaec56322 (diff)
Merge "Ensure WallpaperEngine has correct size information" into klp-dev
-rw-r--r--services/java/com/android/server/WallpaperManagerService.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java
index 162add425cf5..6957bac0c1eb 100644
--- a/services/java/com/android/server/WallpaperManagerService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -219,6 +219,8 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
WallpaperData mWallpaper;
IRemoteCallback mReply;
+ boolean mDimensionsChanged = false;
+
public WallpaperConnection(WallpaperInfo info, WallpaperData wallpaper) {
mInfo = info;
mWallpaper = wallpaper;
@@ -262,6 +264,14 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
public void attachEngine(IWallpaperEngine engine) {
synchronized (mLock) {
mEngine = engine;
+ if (mDimensionsChanged) {
+ try {
+ mEngine.setDesiredSize(mWallpaper.width, mWallpaper.height);
+ } catch (RemoteException e) {
+ Slog.w(TAG, "Failed to set wallpaper dimensions", e);
+ }
+ mDimensionsChanged = false;
+ }
}
}
@@ -652,6 +662,11 @@ class WallpaperManagerService extends IWallpaperManager.Stub {
} catch (RemoteException e) {
}
notifyCallbacksLocked(wallpaper);
+ } else if (wallpaper.connection.mService != null) {
+ // We've attached to the service but the engine hasn't attached back to us
+ // yet. This means it will be created with the previous dimensions, so we
+ // need to update it to the new dimensions once it attaches.
+ wallpaper.connection.mDimensionsChanged = true;
}
}
}