CrackMe.apk

Download file
    package io.invertase.firebase.common;

import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import io.invertase.firebase.interfaces.NativeEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class ReactNativeFirebaseEventEmitter {
    private static ReactNativeFirebaseEventEmitter sharedInstance = new ReactNativeFirebaseEventEmitter();
    private final Handler handler = new Handler(Looper.getMainLooper());
    private int jsListenerCount;
    private final HashMap<String, Integer> jsListeners = new HashMap<>();
    private Boolean jsReady = false;
    private final List<NativeEvent> queuedEvents = new ArrayList();
    private ReactContext reactContext;

    public static ReactNativeFirebaseEventEmitter getSharedInstance() {
        return sharedInstance;
    }

    public void attachReactContext(ReactContext reactContext2) {
        this.handler.post(new ReactNativeFirebaseEventEmitter$$ExternalSyntheticLambda1(this, reactContext2));
    }

    /* access modifiers changed from: package-private */
    /* renamed from: lambda$attachReactContext$0$io-invertase-firebase-common-ReactNativeFirebaseEventEmitter  reason: not valid java name */
    public /* synthetic */ void m344lambda$attachReactContext$0$ioinvertasefirebasecommonReactNativeFirebaseEventEmitter(ReactContext reactContext2) {
        this.reactContext = reactContext2;
        sendQueuedEvents();
    }

    public void notifyJsReady(Boolean bool) {
        this.handler.post(new ReactNativeFirebaseEventEmitter$$ExternalSyntheticLambda3(this, bool));
    }

    /* access modifiers changed from: package-private */
    /* renamed from: lambda$notifyJsReady$1$io-invertase-firebase-common-ReactNativeFirebaseEventEmitter  reason: not valid java name */
    public /* synthetic */ void m345lambda$notifyJsReady$1$ioinvertasefirebasecommonReactNativeFirebaseEventEmitter(Boolean bool) {
        this.jsReady = bool;
        sendQueuedEvents();
    }

    public void sendEvent(NativeEvent nativeEvent) {
        this.handler.post(new ReactNativeFirebaseEventEmitter$$ExternalSyntheticLambda2(this, nativeEvent));
    }

    /* access modifiers changed from: package-private */
    /* renamed from: lambda$sendEvent$2$io-invertase-firebase-common-ReactNativeFirebaseEventEmitter  reason: not valid java name */
    public /* synthetic */ void m346lambda$sendEvent$2$ioinvertasefirebasecommonReactNativeFirebaseEventEmitter(NativeEvent nativeEvent) {
        synchronized (this.jsListeners) {
            if (!this.jsListeners.containsKey(nativeEvent.getEventName()) || !emit(nativeEvent)) {
                this.queuedEvents.add(nativeEvent);
            }
        }
    }

    public void addListener(String str) {
        synchronized (this.jsListeners) {
            this.jsListenerCount++;
            if (!this.jsListeners.containsKey(str)) {
                this.jsListeners.put(str, 1);
            } else {
                this.jsListeners.put(str, Integer.valueOf(this.jsListeners.get(str).intValue() + 1));
            }
        }
        this.handler.post(new ReactNativeFirebaseEventEmitter$$ExternalSyntheticLambda0(this));
    }

    /* JADX WARNING: Removed duplicated region for block: B:14:0x003a  */
    /* JADX WARNING: Removed duplicated region for block: B:15:0x003b  */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public void removeListener(java.lang.String r6, java.lang.Boolean r7) {
        /*
            r5 = this;
            java.util.HashMap<java.lang.String, java.lang.Integer> r0 = r5.jsListeners
            monitor-enter(r0)
            java.util.HashMap<java.lang.String, java.lang.Integer> r1 = r5.jsListeners     // Catch:{ all -> 0x0041 }
            boolean r1 = r1.containsKey(r6)     // Catch:{ all -> 0x0041 }
            if (r1 == 0) goto L_0x003f
            java.util.HashMap<java.lang.String, java.lang.Integer> r1 = r5.jsListeners     // Catch:{ all -> 0x0041 }
            java.lang.Object r1 = r1.get(r6)     // Catch:{ all -> 0x0041 }
            java.lang.Integer r1 = (java.lang.Integer) r1     // Catch:{ all -> 0x0041 }
            int r1 = r1.intValue()     // Catch:{ all -> 0x0041 }
            r2 = 1
            if (r1 <= r2) goto L_0x002d
            boolean r3 = r7.booleanValue()     // Catch:{ all -> 0x0041 }
            if (r3 == 0) goto L_0x0021
            goto L_0x002d
        L_0x0021:
            java.util.HashMap<java.lang.String, java.lang.Integer> r3 = r5.jsListeners     // Catch:{ all -> 0x0041 }
            int r4 = r1 + -1
            java.lang.Integer r4 = java.lang.Integer.valueOf(r4)     // Catch:{ all -> 0x0041 }
            r3.put(r6, r4)     // Catch:{ all -> 0x0041 }
            goto L_0x0032
        L_0x002d:
            java.util.HashMap<java.lang.String, java.lang.Integer> r3 = r5.jsListeners     // Catch:{ all -> 0x0041 }
            r3.remove(r6)     // Catch:{ all -> 0x0041 }
        L_0x0032:
            int r6 = r5.jsListenerCount     // Catch:{ all -> 0x0041 }
            boolean r7 = r7.booleanValue()     // Catch:{ all -> 0x0041 }
            if (r7 == 0) goto L_0x003b
            goto L_0x003c
        L_0x003b:
            r1 = 1
        L_0x003c:
            int r6 = r6 - r1
            r5.jsListenerCount = r6     // Catch:{ all -> 0x0041 }
        L_0x003f:
            monitor-exit(r0)     // Catch:{ all -> 0x0041 }
            return
        L_0x0041:
            r6 = move-exception
            monitor-exit(r0)     // Catch:{ all -> 0x0041 }
            throw r6
        */
        throw new UnsupportedOperationException("Method not decompiled: io.invertase.firebase.common.ReactNativeFirebaseEventEmitter.removeListener(java.lang.String, java.lang.Boolean):void");
    }

    public WritableMap getListenersMap() {
        WritableMap createMap = Arguments.createMap();
        WritableMap createMap2 = Arguments.createMap();
        createMap.putInt("listeners", this.jsListenerCount);
        createMap.putInt("queued", this.queuedEvents.size());
        synchronized (this.jsListeners) {
            for (Map.Entry next : this.jsListeners.entrySet()) {
                createMap2.putInt((String) next.getKey(), ((Integer) next.getValue()).intValue());
            }
        }
        createMap.putMap("events", createMap2);
        return createMap;
    }

    /* access modifiers changed from: private */
    public void sendQueuedEvents() {
        synchronized (this.jsListeners) {
            Iterator it = new ArrayList(this.queuedEvents).iterator();
            while (it.hasNext()) {
                NativeEvent nativeEvent = (NativeEvent) it.next();
                if (this.jsListeners.containsKey(nativeEvent.getEventName())) {
                    this.queuedEvents.remove(nativeEvent);
                    sendEvent(nativeEvent);
                }
            }
        }
    }

    private boolean emit(NativeEvent nativeEvent) {
        ReactContext reactContext2;
        if (this.jsReady.booleanValue() && (reactContext2 = this.reactContext) != null && reactContext2.hasActiveCatalystInstance()) {
            try {
                ((DeviceEventManagerModule.RCTDeviceEventEmitter) this.reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)).emit("rnfb_" + nativeEvent.getEventName(), nativeEvent.getEventBody());
                return true;
            } catch (Exception e) {
                Log.wtf("RNFB_EMITTER", "Error sending Event " + nativeEvent.getEventName(), e);
            }
        }
        return false;
    }
}
    
Download file