diff options
author | Michael Wright <michaelwr@google.com> | 2013-10-03 15:42:08 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-10-03 15:42:08 -0700 |
commit | 4138766ab6fbbc1e010609f85fe5941405d23fa4 (patch) | |
tree | 3b5267ddee48b181bb49e30693faeb2b03ca635a /services | |
parent | 3ab914cfa504c758ecac4fd8272da36893b8e85c (diff) | |
parent | 448a1f6fed1d16578527500157da4ed3c72f2b90 (diff) | |
download | frameworks_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.java | 15 |
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; } } } |