CrackMe.apk
Download file
package com.facebook.react.views.image;
import android.graphics.PorterDuff;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.AbstractDraweeControllerBuilder;
import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.module.annotations.ReactModule;
import com.facebook.react.uimanager.PixelUtil;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.facebook.react.uimanager.annotations.ReactPropGroup;
import com.facebook.yoga.YogaConstants;
import java.util.HashMap;
import java.util.Map;
@ReactModule(name = "RCTImageView")
public class ReactImageManager extends SimpleViewManager<ReactImageView> {
public static final String REACT_CLASS = "RCTImageView";
private final Object mCallerContext;
private final ReactCallerContextFactory mCallerContextFactory;
private AbstractDraweeControllerBuilder mDraweeControllerBuilder;
private GlobalImageLoadListener mGlobalImageLoadListener;
public String getName() {
return REACT_CLASS;
}
@Deprecated
public ReactImageManager(AbstractDraweeControllerBuilder abstractDraweeControllerBuilder, Object obj) {
this(abstractDraweeControllerBuilder, (GlobalImageLoadListener) null, obj);
}
@Deprecated
public ReactImageManager(AbstractDraweeControllerBuilder abstractDraweeControllerBuilder, GlobalImageLoadListener globalImageLoadListener, Object obj) {
this.mDraweeControllerBuilder = abstractDraweeControllerBuilder;
this.mGlobalImageLoadListener = globalImageLoadListener;
this.mCallerContext = obj;
this.mCallerContextFactory = null;
}
public ReactImageManager(AbstractDraweeControllerBuilder abstractDraweeControllerBuilder, ReactCallerContextFactory reactCallerContextFactory) {
this(abstractDraweeControllerBuilder, (GlobalImageLoadListener) null, reactCallerContextFactory);
}
public ReactImageManager(AbstractDraweeControllerBuilder abstractDraweeControllerBuilder, GlobalImageLoadListener globalImageLoadListener, ReactCallerContextFactory reactCallerContextFactory) {
this.mDraweeControllerBuilder = abstractDraweeControllerBuilder;
this.mGlobalImageLoadListener = globalImageLoadListener;
this.mCallerContextFactory = reactCallerContextFactory;
this.mCallerContext = null;
}
public ReactImageManager() {
this.mDraweeControllerBuilder = null;
this.mCallerContext = null;
this.mCallerContextFactory = null;
}
public AbstractDraweeControllerBuilder getDraweeControllerBuilder() {
if (this.mDraweeControllerBuilder == null) {
this.mDraweeControllerBuilder = Fresco.newDraweeControllerBuilder();
}
return this.mDraweeControllerBuilder;
}
@Deprecated
public Object getCallerContext() {
return this.mCallerContext;
}
public ReactImageView createViewInstance(ThemedReactContext themedReactContext) {
Object obj;
ReactCallerContextFactory reactCallerContextFactory = this.mCallerContextFactory;
if (reactCallerContextFactory != null) {
obj = reactCallerContextFactory.getOrCreateCallerContext(themedReactContext.getModuleName(), (String) null);
} else {
obj = getCallerContext();
}
return new ReactImageView(themedReactContext, getDraweeControllerBuilder(), this.mGlobalImageLoadListener, obj);
}
@ReactProp(name = "accessible")
public void setAccessible(ReactImageView reactImageView, boolean z) {
reactImageView.setFocusable(z);
}
@ReactProp(name = "src")
public void setSource(ReactImageView reactImageView, ReadableArray readableArray) {
reactImageView.setSource(readableArray);
}
@ReactProp(name = "blurRadius")
public void setBlurRadius(ReactImageView reactImageView, float f) {
reactImageView.setBlurRadius(f);
}
@ReactProp(name = "internal_analyticTag")
public void setInternal_AnalyticsTag(ReactImageView reactImageView, String str) {
ReactCallerContextFactory reactCallerContextFactory = this.mCallerContextFactory;
if (reactCallerContextFactory != null) {
reactImageView.updateCallerContext(reactCallerContextFactory.getOrCreateCallerContext(((ThemedReactContext) reactImageView.getContext()).getModuleName(), str));
}
}
@ReactProp(name = "defaultSrc")
public void setDefaultSource(ReactImageView reactImageView, String str) {
reactImageView.setDefaultSource(str);
}
@ReactProp(name = "loadingIndicatorSrc")
public void setLoadingIndicatorSource(ReactImageView reactImageView, String str) {
reactImageView.setLoadingIndicatorSource(str);
}
@ReactProp(customType = "Color", name = "borderColor")
public void setBorderColor(ReactImageView reactImageView, Integer num) {
if (num == null) {
reactImageView.setBorderColor(0);
} else {
reactImageView.setBorderColor(num.intValue());
}
}
@ReactProp(customType = "Color", name = "overlayColor")
public void setOverlayColor(ReactImageView reactImageView, Integer num) {
if (num == null) {
reactImageView.setOverlayColor(0);
} else {
reactImageView.setOverlayColor(num.intValue());
}
}
@ReactProp(name = "borderWidth")
public void setBorderWidth(ReactImageView reactImageView, float f) {
reactImageView.setBorderWidth(f);
}
@ReactPropGroup(defaultFloat = Float.NaN, names = {"borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"})
public void setBorderRadius(ReactImageView reactImageView, int i, float f) {
if (!YogaConstants.isUndefined(f)) {
f = PixelUtil.toPixelFromDIP(f);
}
if (i == 0) {
reactImageView.setBorderRadius(f);
} else {
reactImageView.setBorderRadius(f, i - 1);
}
}
@ReactProp(name = "resizeMode")
public void setResizeMode(ReactImageView reactImageView, String str) {
reactImageView.setScaleType(ImageResizeMode.toScaleType(str));
reactImageView.setTileMode(ImageResizeMode.toTileMode(str));
}
@ReactProp(name = "resizeMethod")
public void setResizeMethod(ReactImageView reactImageView, String str) {
if (str == null || "auto".equals(str)) {
reactImageView.setResizeMethod(ImageResizeMethod.AUTO);
} else if ("resize".equals(str)) {
reactImageView.setResizeMethod(ImageResizeMethod.RESIZE);
} else if ("scale".equals(str)) {
reactImageView.setResizeMethod(ImageResizeMethod.SCALE);
} else {
throw new JSApplicationIllegalArgumentException("Invalid resize method: '" + str + "'");
}
}
@ReactProp(customType = "Color", name = "tintColor")
public void setTintColor(ReactImageView reactImageView, Integer num) {
if (num == null) {
reactImageView.clearColorFilter();
} else {
reactImageView.setColorFilter(num.intValue(), PorterDuff.Mode.SRC_IN);
}
}
@ReactProp(name = "progressiveRenderingEnabled")
public void setProgressiveRenderingEnabled(ReactImageView reactImageView, boolean z) {
reactImageView.setProgressiveRenderingEnabled(z);
}
@ReactProp(name = "fadeDuration")
public void setFadeDuration(ReactImageView reactImageView, int i) {
reactImageView.setFadeDuration(i);
}
@ReactProp(name = "shouldNotifyLoadEvents")
public void setLoadHandlersRegistered(ReactImageView reactImageView, boolean z) {
reactImageView.setShouldNotifyLoadEvents(z);
}
@ReactProp(name = "headers")
public void setHeaders(ReactImageView reactImageView, ReadableMap readableMap) {
reactImageView.setHeaders(readableMap);
}
public Map getExportedCustomDirectEventTypeConstants() {
Map exportedCustomDirectEventTypeConstants = super.getExportedCustomDirectEventTypeConstants();
if (exportedCustomDirectEventTypeConstants == null) {
exportedCustomDirectEventTypeConstants = new HashMap();
}
exportedCustomDirectEventTypeConstants.putAll(MapBuilder.of(ImageLoadEvent.eventNameForType(4), MapBuilder.of("registrationName", "onLoadStart"), ImageLoadEvent.eventNameForType(5), MapBuilder.of("registrationName", "onProgress"), ImageLoadEvent.eventNameForType(2), MapBuilder.of("registrationName", "onLoad"), ImageLoadEvent.eventNameForType(1), MapBuilder.of("registrationName", "onError"), ImageLoadEvent.eventNameForType(3), MapBuilder.of("registrationName", "onLoadEnd")));
return exportedCustomDirectEventTypeConstants;
}
/* access modifiers changed from: protected */
public void onAfterUpdateTransaction(ReactImageView reactImageView) {
super.onAfterUpdateTransaction(reactImageView);
reactImageView.maybeUpdateView();
}
}
Download file