Merge "Fix image wallpaper size" into mnc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 9f6d8df..8556afc 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -116,7 +116,6 @@
         private final DisplayInfo mTmpDisplayInfo = new DisplayInfo();
 
         boolean mVisible = true;
-        boolean mRedrawNeeded;
         boolean mOffsetsChanged;
         int mLastXTranslation;
         int mLastYTranslation;
@@ -153,6 +152,9 @@
         private int mDisplayWidthAtLastSurfaceSizeUpdate = -1;
         private int mDisplayHeightAtLastSurfaceSizeUpdate = -1;
 
+        private int mLastRequestedWidth = -1;
+        private int mLastRequestedHeight = -1;
+
         public DrawableEngine() {
             super();
             setFixedSizeAllowed(true);
@@ -211,21 +213,13 @@
             int surfaceWidth = Math.max(displayInfo.logicalWidth, mBackgroundWidth);
             int surfaceHeight = Math.max(displayInfo.logicalHeight, mBackgroundHeight);
 
-            // If the surface dimensions haven't changed, then just return
-            final Rect frame = surfaceHolder.getSurfaceFrame();
-            if (frame != null) {
-                final int dw = frame.width();
-                final int dh = frame.height();
-                if (surfaceWidth == dw && surfaceHeight == dh) {
-                    return;
-                }
-            }
-
             if (FIXED_SIZED_SURFACE) {
                 // 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.setFixedSize(surfaceWidth, surfaceHeight);
+                mLastRequestedWidth = surfaceWidth;
+                mLastRequestedHeight = surfaceHeight;
             } else {
                 surfaceHolder.setSizeFromLayout();
             }
@@ -387,7 +381,6 @@
                     yPixels += (int) (availhUnscaled * (mYOffset - .5f) + .5f);
 
                 mOffsetsChanged = false;
-                mRedrawNeeded = false;
                 if (surfaceDimensionsChanged) {
                     mLastSurfaceWidth = dw;
                     mLastSurfaceHeight = dh;
@@ -475,13 +468,15 @@
             out.print(" mYOffset="); out.println(mYOffset);
 
             out.print(prefix); out.print(" mVisible="); out.print(mVisible);
-            out.print(" mRedrawNeeded="); out.print(mRedrawNeeded);
             out.print(" mOffsetsChanged="); out.println(mOffsetsChanged);
 
             out.print(prefix); out.print(" mLastXTranslation="); out.print(mLastXTranslation);
             out.print(" mLastYTranslation="); out.print(mLastYTranslation);
             out.print(" mScale="); out.println(mScale);
 
+            out.print(prefix); out.print(" mLastRequestedWidth="); out.print(mLastRequestedWidth);
+            out.print(" mLastRequestedHeight="); out.println(mLastRequestedHeight);
+
             out.print(prefix); out.println(" DisplayInfo at last updateSurfaceSize:");
             out.print(prefix);
             out.print("  rotation="); out.print(mRotationAtLastSurfaceSizeUpdate);