diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 95d985d0b8dc1..1dfc469d4cd86 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -204,12 +204,6 @@ public abstract class WallpaperService extends Service { return mIsCreating; } - @Override - public void setFixedSize(int width, int height) { - throw new UnsupportedOperationException( - "Wallpapers currently only support sizing from layout"); - } - public void setKeepScreenOn(boolean screenOn) { throw new UnsupportedOperationException( "Wallpapers do not support keep screen on"); diff --git a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java index 595c6343b344b..8fde247920f52 100644 --- a/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java +++ b/core/java/com/android/internal/service/wallpaper/ImageWallpaper.java @@ -117,7 +117,11 @@ public class ImageWallpaper extends WallpaperService { synchronized (mLock) { updateWallpaperLocked(); } - surfaceHolder.setSizeFromLayout(); + surfaceHolder.setFixedSize(getDesiredMinimumWidth(), getDesiredMinimumHeight()); + // Used a fixed size surface, because we are special. We can do + // this because we know the current design of window animations doesn't + // cause this to break. + //surfaceHolder.setSizeFromLayout(); } @Override