summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Diego Perez <diegoperez@google.com> 2014-11-05 11:30:48 +0000
committer Diego Perez <diegoperez@google.com> 2015-04-28 08:52:08 +0000
commit8ff8de2cf2ebc136d3dd8d8a8b5e4912e483bb2b (patch)
treefd1f219ec15e8dbaa0c9d8ee8e5b6ae19ddbe0c4
parentf3cb4ba213a0fa4d1c184c430a2eaac7e27ccf6f (diff)
Add new parameter to the render method to allow forcing a measure pass.
Change-Id: I60c09f3375fc85c257a449f4372220741e01db54 (cherry picked from commit c13aa0c035cd226d27323bc0e533632ba32f6a84)
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java5
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderSessionImpl.java2
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 e0f87fd63b11..feb25905390c 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 c8497d4279e4..2439dde263b7 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<SessionParams> {
return null;
}
- private void invalidateRenderingSize() {
+ public void invalidateRenderingSize() {
mMeasuredScreenWidth = mMeasuredScreenHeight = -1;
}