LayoutLib: use the new expand API.

Change-Id: I248de70ebe97aa6fb1cbcb5b6572a4a46c5ca1ba
diff --git a/bridge/src/com/android/layoutlib/bridge/impl/LayoutSceneImpl.java b/bridge/src/com/android/layoutlib/bridge/impl/LayoutSceneImpl.java
index b0316a3..2e3f9a8 100644
--- a/bridge/src/com/android/layoutlib/bridge/impl/LayoutSceneImpl.java
+++ b/bridge/src/com/android/layoutlib/bridge/impl/LayoutSceneImpl.java
@@ -25,6 +25,7 @@
 import com.android.layoutlib.api.SceneResult;
 import com.android.layoutlib.api.ViewInfo;
 import com.android.layoutlib.api.IDensityBasedResourceValue.Density;
+import com.android.layoutlib.api.SceneParams.RenderingMode;
 import com.android.layoutlib.bridge.BridgeConstants;
 import com.android.layoutlib.bridge.android.BridgeContext;
 import com.android.layoutlib.bridge.android.BridgeInflater;
@@ -259,22 +260,32 @@
             int renderScreenWidth = mParams.getScreenWidth();
             int renderScreenHeight = mParams.getScreenHeight();
 
-            if (mParams.getRenderFullSize()) {
+            RenderingMode renderingMode = mParams.getRenderingMode();
+
+            if (renderingMode != RenderingMode.NORMAL) {
                 // measure the full size needed by the layout.
                 w_spec = MeasureSpec.makeMeasureSpec(renderScreenWidth,
-                        MeasureSpec.UNSPECIFIED); // this lets us know the actual needed size
+                        renderingMode.isHorizExpand() ?
+                                MeasureSpec.UNSPECIFIED // this lets us know the actual needed size
+                                : MeasureSpec.EXACTLY);
                 h_spec = MeasureSpec.makeMeasureSpec(renderScreenHeight - mScreenOffset,
-                        MeasureSpec.UNSPECIFIED); // this lets us know the actual needed size
+                        renderingMode.isVertExpand() ?
+                                MeasureSpec.UNSPECIFIED // this lets us know the actual needed size
+                                : MeasureSpec.EXACTLY);
                 mViewRoot.measure(w_spec, h_spec);
 
-                int neededWidth = mViewRoot.getChildAt(0).getMeasuredWidth();
-                if (neededWidth > renderScreenWidth) {
-                    renderScreenWidth = neededWidth;
+                if (renderingMode.isHorizExpand()) {
+                    int neededWidth = mViewRoot.getChildAt(0).getMeasuredWidth();
+                    if (neededWidth > renderScreenWidth) {
+                        renderScreenWidth = neededWidth;
+                    }
                 }
 
-                int neededHeight = mViewRoot.getChildAt(0).getMeasuredHeight();
-                if (neededHeight > renderScreenHeight - mScreenOffset) {
-                    renderScreenHeight = neededHeight + mScreenOffset;
+                if (renderingMode.isVertExpand()) {
+                    int neededHeight = mViewRoot.getChildAt(0).getMeasuredHeight();
+                    if (neededHeight > renderScreenHeight - mScreenOffset) {
+                        renderScreenHeight = neededHeight + mScreenOffset;
+                    }
                 }
             }