diff options
author | John Spurlock <jspurlock@google.com> | 2013-11-13 16:41:43 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-11-13 16:41:44 +0000 |
commit | 7d667ee2de2c6add257466d9648024d7e8402926 (patch) | |
tree | bed22f17b93567df2d4a0e07e0c480c2bd808e97 /services/java | |
parent | 78cfdf31b7c48589ea3a148ec1d6d573235bc06b (diff) | |
parent | 41f6464b3f247c6ee0828e1b1aa3300e56e8cabb (diff) | |
download | frameworks_base-7d667ee2de2c6add257466d9648024d7e8402926.zip frameworks_base-7d667ee2de2c6add257466d9648024d7e8402926.tar.gz frameworks_base-7d667ee2de2c6add257466d9648024d7e8402926.tar.bz2 |
Merge "Ensure wallpaper hint is at least as large as the display." into klp-dev
Diffstat (limited to 'services/java')
-rw-r--r-- | services/java/com/android/server/WallpaperManagerService.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java index c1a60ee..e25470c 100644 --- a/services/java/com/android/server/WallpaperManagerService.java +++ b/services/java/com/android/server/WallpaperManagerService.java @@ -40,6 +40,7 @@ import android.content.pm.ServiceInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.UserInfo; import android.content.res.Resources; +import android.graphics.Point; import android.os.Binder; import android.os.Bundle; import android.os.Environment; @@ -637,6 +638,16 @@ class WallpaperManagerService extends IWallpaperManager.Stub { return false; } + private Point getDefaultDisplaySize() { + Point p = new Point(); + try { + mIWindowManager.getInitialDisplaySize(Display.DEFAULT_DISPLAY, p); + } catch (RemoteException e) { + // not remote + } + return p; + } + public void setDimensionHints(int width, int height) throws RemoteException { checkPermission(android.Manifest.permission.SET_WALLPAPER_HINTS); synchronized (mLock) { @@ -648,10 +659,10 @@ class WallpaperManagerService extends IWallpaperManager.Stub { if (width <= 0 || height <= 0) { throw new IllegalArgumentException("width and height must be > 0"); } - // Make sure it is at least as large as the display's maximum size. - int maxSizeDimension = getMaximumSizeDimension(); - width = Math.max(width, maxSizeDimension); - height = Math.max(height, maxSizeDimension); + // Make sure it is at least as large as the display. + Point displaySize = getDefaultDisplaySize(); + width = Math.max(width, displaySize.x); + height = Math.max(height, displaySize.y); if (width != wallpaper.width || height != wallpaper.height) { wallpaper.width = width; |