From dd5bb96e44c8c1a9b5d6783053c053de92455f59 Mon Sep 17 00:00:00 2001 From: Denis Koroskin Date: Mon, 30 Nov 2015 12:31:43 -0800 Subject: [PATCH] Provide getters for CallerContext and DraweeControllerBuilder in ReactViewManager Summary: public Right now there is no centralized place to initialize CallerContext for Fresco. It should probably go through FrescoModule, but currently it's going through ReactImageManager, and thus unavailable to FlatUIImplementation, that doesn't use ReactImageManager. So this diff provides public getters for CallerContext (and DraweeControllerBuilder) in ReactViewManager. This is hacky and generally should not be needed, but without it groups don't have correct CallerContext set. Reviewed By: kmagiera, astreet Differential Revision: D2569372 fb-gh-sync-id: 2622e69c64bfebfc575deb330ee77e0139efb7ec --- .../react/views/image/ReactImageManager.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java index 8803652d1..b0df41db0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java @@ -48,16 +48,23 @@ public class ReactImageManager extends SimpleViewManager { mCallerContext = null; } - @Override - public ReactImageView createViewInstance(ThemedReactContext context) { + public AbstractDraweeControllerBuilder getDraweeControllerBuilder() { if (mDraweeControllerBuilder == null) { mDraweeControllerBuilder = Fresco.newDraweeControllerBuilder(); } + return mDraweeControllerBuilder; + } + public Object getCallerContext() { + return mCallerContext; + } + + @Override + public ReactImageView createViewInstance(ThemedReactContext context) { return new ReactImageView( context, - mDraweeControllerBuilder, - mCallerContext); + getDraweeControllerBuilder(), + getCallerContext()); } // In JS this is Image.props.source.uri