From 8ff8de2cf2ebc136d3dd8d8a8b5e4912e483bb2b Mon Sep 17 00:00:00 2001 From: Diego Perez Date: Wed, 5 Nov 2014 11:30:48 +0000 Subject: Add new parameter to the render method to allow forcing a measure pass. Change-Id: I60c09f3375fc85c257a449f4372220741e01db54 (cherry picked from commit c13aa0c035cd226d27323bc0e533632ba32f6a84) --- .../bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java | 5 ++++- .../src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java index e0f87fd..feb2590 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java @@ -86,11 +86,14 @@ public class BridgeRenderSession extends RenderSession { } @Override - public Result render(long timeout) { + public Result render(long timeout, boolean forceMeasure) { try { Bridge.prepareThread(); mLastResult = mSession.acquire(timeout); if (mLastResult.isSuccess()) { + if (forceMeasure) { + mSession.invalidateRenderingSize(); + } mLastResult = mSession.render(false /*freshRender*/); } } finally { diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java index c8497d4..2439dde 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java @@ -1642,7 +1642,7 @@ public class RenderSessionImpl extends RenderAction { return null; } - private void invalidateRenderingSize() { + public void invalidateRenderingSize() { mMeasuredScreenWidth = mMeasuredScreenHeight = -1; } -- cgit v1.1