CrackMe.apk
Download file
package com.facebook.react.fabric;
import com.facebook.react.bridge.ReactMarker;
import com.facebook.react.bridge.ReactMarkerConstants;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DevToolsReactPerfLogger implements ReactMarker.FabricMarkerListener {
public static final LongStreamingStats mStreamingBatchExecutionStats = new LongStreamingStats();
public static final LongStreamingStats mStreamingCommitStats = new LongStreamingStats();
public static final LongStreamingStats mStreamingDiffStats = new LongStreamingStats();
public static final LongStreamingStats mStreamingLayoutStats = new LongStreamingStats();
public static final LongStreamingStats mStreamingTransactionEndStats = new LongStreamingStats();
private final List<DevToolsReactPerfLoggerListener> mDevToolsReactPerfLoggerListeners = new ArrayList();
private final Map<Integer, FabricCommitPoint> mFabricCommitMarkers = new HashMap();
public interface DevToolsReactPerfLoggerListener {
void onFabricCommitEnd(FabricCommitPoint fabricCommitPoint);
}
public static class FabricCommitPoint {
private final long mCommitNumber;
private final Map<ReactMarkerConstants, Long> mPoints;
private FabricCommitPoint(int i) {
this.mPoints = new HashMap();
this.mCommitNumber = (long) i;
}
/* access modifiers changed from: private */
public void addPoint(ReactMarkerConstants reactMarkerConstants, long j) {
this.mPoints.put(reactMarkerConstants, Long.valueOf(j));
}
private long getValue(ReactMarkerConstants reactMarkerConstants) {
Long l = this.mPoints.get(reactMarkerConstants);
if (l != null) {
return l.longValue();
}
return -1;
}
public long getCommitNumber() {
return this.mCommitNumber;
}
public long getCommitStart() {
return getValue(ReactMarkerConstants.FABRIC_COMMIT_START);
}
public long getCommitEnd() {
return getValue(ReactMarkerConstants.FABRIC_COMMIT_END);
}
public long getFinishTransactionStart() {
return getValue(ReactMarkerConstants.FABRIC_FINISH_TRANSACTION_START);
}
public long getFinishTransactionEnd() {
return getValue(ReactMarkerConstants.FABRIC_FINISH_TRANSACTION_END);
}
public long getDiffStart() {
return getValue(ReactMarkerConstants.FABRIC_DIFF_START);
}
public long getDiffEnd() {
return getValue(ReactMarkerConstants.FABRIC_DIFF_END);
}
public long getLayoutStart() {
return getValue(ReactMarkerConstants.FABRIC_LAYOUT_START);
}
public long getLayoutEnd() {
return getValue(ReactMarkerConstants.FABRIC_LAYOUT_END);
}
public long getBatchExecutionStart() {
return getValue(ReactMarkerConstants.FABRIC_BATCH_EXECUTION_START);
}
public long getBatchExecutionEnd() {
return getValue(ReactMarkerConstants.FABRIC_BATCH_EXECUTION_END);
}
public long getUpdateUIMainThreadStart() {
return getValue(ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_START);
}
public long getUpdateUIMainThreadEnd() {
return getValue(ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_END);
}
public long getCommitDuration() {
return getCommitEnd() - getCommitStart();
}
public long getLayoutDuration() {
return getLayoutEnd() - getLayoutStart();
}
public long getDiffDuration() {
return getDiffEnd() - getDiffStart();
}
public long getTransactionEndDuration() {
return getFinishTransactionEnd() - getFinishTransactionStart();
}
public long getBatchExecutionDuration() {
return getBatchExecutionEnd() - getBatchExecutionStart();
}
}
public void addDevToolsReactPerfLoggerListener(DevToolsReactPerfLoggerListener devToolsReactPerfLoggerListener) {
this.mDevToolsReactPerfLoggerListeners.add(devToolsReactPerfLoggerListener);
}
public void removeDevToolsReactPerfLoggerListener(DevToolsReactPerfLoggerListener devToolsReactPerfLoggerListener) {
this.mDevToolsReactPerfLoggerListeners.remove(devToolsReactPerfLoggerListener);
}
public void logFabricMarker(ReactMarkerConstants reactMarkerConstants, String str, int i, long j) {
if (isFabricCommitMarker(reactMarkerConstants)) {
FabricCommitPoint fabricCommitPoint = this.mFabricCommitMarkers.get(Integer.valueOf(i));
if (fabricCommitPoint == null) {
fabricCommitPoint = new FabricCommitPoint(i);
this.mFabricCommitMarkers.put(Integer.valueOf(i), fabricCommitPoint);
}
fabricCommitPoint.addPoint(reactMarkerConstants, j);
if (reactMarkerConstants == ReactMarkerConstants.FABRIC_BATCH_EXECUTION_END) {
onFabricCommitEnd(fabricCommitPoint);
this.mFabricCommitMarkers.remove(Integer.valueOf(i));
}
}
}
private void onFabricCommitEnd(FabricCommitPoint fabricCommitPoint) {
for (DevToolsReactPerfLoggerListener onFabricCommitEnd : this.mDevToolsReactPerfLoggerListeners) {
onFabricCommitEnd.onFabricCommitEnd(fabricCommitPoint);
}
}
private static boolean isFabricCommitMarker(ReactMarkerConstants reactMarkerConstants) {
return reactMarkerConstants == ReactMarkerConstants.FABRIC_COMMIT_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_COMMIT_END || reactMarkerConstants == ReactMarkerConstants.FABRIC_FINISH_TRANSACTION_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_FINISH_TRANSACTION_END || reactMarkerConstants == ReactMarkerConstants.FABRIC_DIFF_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_DIFF_END || reactMarkerConstants == ReactMarkerConstants.FABRIC_LAYOUT_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_LAYOUT_END || reactMarkerConstants == ReactMarkerConstants.FABRIC_BATCH_EXECUTION_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_BATCH_EXECUTION_END || reactMarkerConstants == ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_START || reactMarkerConstants == ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_END;
}
}
Download file