summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2013-10-03 15:42:08 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-03 15:42:08 -0700
commit4138766ab6fbbc1e010609f85fe5941405d23fa4 (patch)
tree3b5267ddee48b181bb49e30693faeb2b03ca635a /services
parent3ab914cfa504c758ecac4fd8272da36893b8e85c (diff)
parent448a1f6fed1d16578527500157da4ed3c72f2b90 (diff)
downloadframeworks_base-4138766ab6fbbc1e010609f85fe5941405d23fa4.zip
frameworks_base-4138766ab6fbbc1e010609f85fe5941405d23fa4.tar.gz
frameworks_base-4138766ab6fbbc1e010609f85fe5941405d23fa4.tar.bz2
am 448a1f6f: am cf5b34b0: Merge "Ensure WallpaperEngine has correct size information" into klp-dev
* commit '448a1f6fed1d16578527500157da4ed3c72f2b90': Ensure WallpaperEngine has correct size information
Diffstat (limited to 'services')
-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 162add4..6957bac 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;
}
}
}