Support non-disposed render in tests am: d84e1ead52
Change-Id: Ief321f88e751a19244390a9d5d4d561db7901a61
diff --git a/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java b/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
index 77c6d1a..a22c3bc 100644
--- a/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
+++ b/bridge/tests/src/com/android/layoutlib/bridge/intensive/RenderTestBase.java
@@ -89,6 +89,16 @@
*/
public class RenderTestBase {
+ /**
+ * Listener for render process.
+ */
+ public interface RenderSessionListener {
+
+ /**
+ * Called before session is disposed after rendering.
+ */
+ void beforeDisposed(RenderSession session);
+ }
private static final String PLATFORM_DIR_PROPERTY = "platform.dir";
private static final String RESOURCE_DIR_PROPERTY = "test_res.dir";
@@ -343,6 +353,14 @@
protected static RenderResult render(com.android.ide.common.rendering.api.Bridge bridge,
SessionParams params,
long frameTimeNanos) {
+ return render(bridge, params, frameTimeNanos, null);
+ }
+
+ @NonNull
+ protected static RenderResult render(com.android.ide.common.rendering.api.Bridge bridge,
+ SessionParams params,
+ long frameTimeNanos,
+ @Nullable RenderSessionListener listener) {
// TODO: Set up action bar handler properly to test menu rendering.
// Create session params.
System_Delegate.setBootTimeNanos(TimeUnit.MILLISECONDS.toNanos(871732800000L));
@@ -366,6 +384,9 @@
session.getResult().getErrorMessage());
}
}
+ if (listener != null) {
+ listener.beforeDisposed(session);
+ }
return RenderResult.getFromSession(session);
} finally {