From c13aa0c035cd226d27323bc0e533632ba32f6a84 Mon Sep 17 00:00:00 2001 From: Diego Perez Date: Wed, 5 Nov 2014 11:30:48 +0000 Subject: [PATCH] Add new parameter to the render method to allow forcing a measure pass. Change-Id: I60c09f3375fc85c257a449f4372220741e01db54 --- .../com/android/layoutlib/bridge/BridgeRenderSession.java | 5 ++++- .../com/android/layoutlib/bridge/impl/RenderSessionImpl.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) 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 e0f87fd63b111..feb25905390cf 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 b8dce70d98f50..af8fcfa7215b9 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 @@ -1572,7 +1572,7 @@ public class RenderSessionImpl extends RenderAction { return null; } - private void invalidateRenderingSize() { + public void invalidateRenderingSize() { mMeasuredScreenWidth = mMeasuredScreenHeight = -1; }