CrackMe.apk
Download file
package com.facebook.react.animated;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableType;
import com.facebook.react.bridge.UnexpectedNativeTypeException;
import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import java.util.List;
class EventAnimationDriver implements RCTEventEmitter {
private List<String> mEventPath;
ValueAnimatedNode mValueNode;
public EventAnimationDriver(List<String> list, ValueAnimatedNode valueAnimatedNode) {
this.mEventPath = list;
this.mValueNode = valueAnimatedNode;
}
public void receiveEvent(int i, String str, WritableMap writableMap) {
ReadableMap readableMap;
ReadableArray readableArray;
ReadableMap readableMap2;
if (writableMap != null) {
int i2 = 0;
ReadableArray readableArray2 = null;
ReadableMap readableMap3 = writableMap;
while (i2 < this.mEventPath.size() - 1) {
if (readableMap3 != null) {
String str2 = this.mEventPath.get(i2);
ReadableType type = readableMap3.getType(str2);
if (type == ReadableType.Map) {
readableMap2 = readableMap3.getMap(str2);
} else if (type == ReadableType.Array) {
readableArray = readableMap3.getArray(str2);
readableArray2 = readableArray;
readableMap = null;
i2++;
readableMap3 = readableMap;
} else {
throw new UnexpectedNativeTypeException("Unexpected type " + type + " for key '" + str2 + "'");
}
} else {
int parseInt = Integer.parseInt(this.mEventPath.get(i2));
ReadableType type2 = readableArray2.getType(parseInt);
if (type2 == ReadableType.Map) {
readableMap2 = readableArray2.getMap(parseInt);
} else if (type2 == ReadableType.Array) {
readableArray = readableArray2.getArray(parseInt);
readableArray2 = readableArray;
readableMap = null;
i2++;
readableMap3 = readableMap;
} else {
throw new UnexpectedNativeTypeException("Unexpected type " + type2 + " for index '" + parseInt + "'");
}
}
readableArray2 = null;
readableMap = readableMap2;
i2++;
readableMap3 = readableMap;
}
List<String> list = this.mEventPath;
String str3 = list.get(list.size() - 1);
if (readableMap3 != null) {
this.mValueNode.mValue = readableMap3.getDouble(str3);
return;
}
this.mValueNode.mValue = readableArray2.getDouble(Integer.parseInt(str3));
return;
}
throw new IllegalArgumentException("Native animated events must have event data.");
}
public void receiveTouches(String str, WritableArray writableArray, WritableArray writableArray2) {
throw new RuntimeException("receiveTouches is not support by native animated events");
}
}
Download file