CrackMe.apk
Download file
package io.invertase.firebase.common;
import android.content.Context;
import android.util.Log;
import androidx.autofill.HintConstants;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.WritableMap;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
public class RCTConvertFirebase {
private static String TAG = "RCTConvertFirebase";
public static Map<String, Object> firebaseAppToMap(FirebaseApp firebaseApp) {
String name = firebaseApp.getName();
FirebaseOptions options = firebaseApp.getOptions();
HashMap hashMap = new HashMap();
HashMap hashMap2 = new HashMap();
HashMap hashMap3 = new HashMap();
hashMap3.put(HintConstants.AUTOFILL_HINT_NAME, name);
hashMap3.put("automaticDataCollectionEnabled", Boolean.valueOf(firebaseApp.isDataCollectionDefaultEnabled()));
hashMap2.put("apiKey", options.getApiKey());
hashMap2.put("appId", options.getApplicationId());
hashMap2.put("projectId", options.getProjectId());
hashMap2.put("databaseURL", options.getDatabaseUrl());
hashMap2.put("gaTrackingId", options.getGaTrackingId());
hashMap2.put("messagingSenderId", options.getGcmSenderId());
hashMap2.put("storageBucket", options.getStorageBucket());
hashMap.put("options", hashMap2);
hashMap.put("appConfig", hashMap3);
return hashMap;
}
public static WritableMap firebaseAppToWritableMap(FirebaseApp firebaseApp) {
return Arguments.makeNativeMap(firebaseAppToMap(firebaseApp));
}
public static FirebaseApp readableMapToFirebaseApp(ReadableMap readableMap, ReadableMap readableMap2, Context context) {
FirebaseApp firebaseApp;
FirebaseOptions.Builder builder = new FirebaseOptions.Builder();
String string = readableMap2.getString(HintConstants.AUTOFILL_HINT_NAME);
builder.setApiKey(readableMap.getString("apiKey"));
builder.setApplicationId(readableMap.getString("appId"));
builder.setProjectId(readableMap.getString("projectId"));
builder.setDatabaseUrl(readableMap.getString("databaseURL"));
if (readableMap.hasKey("gaTrackingId")) {
builder.setGaTrackingId(readableMap.getString("gaTrackingId"));
}
builder.setStorageBucket(readableMap.getString("storageBucket"));
builder.setGcmSenderId(readableMap.getString("messagingSenderId"));
if (string.equals(FirebaseApp.DEFAULT_APP_NAME)) {
firebaseApp = FirebaseApp.initializeApp(context, builder.build());
} else {
firebaseApp = FirebaseApp.initializeApp(context, builder.build(), string);
}
if (readableMap2.hasKey("automaticDataCollectionEnabled")) {
firebaseApp.setDataCollectionDefaultEnabled(readableMap2.getBoolean("automaticDataCollectionEnabled"));
}
if (readableMap2.hasKey("automaticResourceManagement")) {
firebaseApp.setAutomaticResourceManagementEnabled(readableMap2.getBoolean("automaticResourceManagement"));
}
return firebaseApp;
}
public static WritableMap mapPutValue(String str, @Nullable Object obj, WritableMap writableMap) {
if (obj == null) {
writableMap.putNull(str);
return writableMap;
}
String name = obj.getClass().getName();
name.hashCode();
char c = 65535;
switch (name.hashCode()) {
case -2056817302:
if (name.equals("java.lang.Integer")) {
c = 0;
break;
}
break;
case -527879800:
if (name.equals("java.lang.Float")) {
c = 1;
break;
}
break;
case 344809556:
if (name.equals("java.lang.Boolean")) {
c = 2;
break;
}
break;
case 398795216:
if (name.equals("java.lang.Long")) {
c = 3;
break;
}
break;
case 761287205:
if (name.equals("java.lang.Double")) {
c = 4;
break;
}
break;
case 1195259493:
if (name.equals("java.lang.String")) {
c = 5;
break;
}
break;
case 1614941136:
if (name.equals("org.json.JSONObject$1")) {
c = 6;
break;
}
break;
}
switch (c) {
case 0:
writableMap.putInt(str, ((Integer) obj).intValue());
break;
case 1:
writableMap.putDouble(str, (double) ((Float) obj).floatValue());
break;
case 2:
writableMap.putBoolean(str, ((Boolean) obj).booleanValue());
break;
case 3:
writableMap.putDouble(str, (double) ((Long) obj).longValue());
break;
case 4:
writableMap.putDouble(str, ((Double) obj).doubleValue());
break;
case 5:
writableMap.putString(str, (String) obj);
break;
case 6:
writableMap.putString(str, obj.toString());
break;
default:
if (!List.class.isAssignableFrom(obj.getClass())) {
if (!Map.class.isAssignableFrom(obj.getClass())) {
String str2 = TAG;
Log.d(str2, "utils:mapPutValue:unknownType:" + name);
writableMap.putNull(str);
break;
} else {
WritableMap createMap = Arguments.createMap();
for (Map.Entry entry : ((Map) obj).entrySet()) {
mapPutValue((String) entry.getKey(), entry.getValue(), createMap);
}
writableMap.putMap(str, createMap);
break;
}
} else {
writableMap.putArray(str, Arguments.makeNativeArray((List) obj));
break;
}
}
return writableMap;
}
public static WritableMap readableMapToWritableMap(ReadableMap readableMap) {
WritableMap createMap = Arguments.createMap();
createMap.merge(readableMap);
return createMap;
}
public static Map<String, Object> toHashMap(ReadableMap readableMap) {
return readableMap.toHashMap();
}
public static List<Object> toArrayList(ReadableArray readableArray) {
return readableArray.toArrayList();
}
}
Download file