Something went wrong. Try again.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * <p>This source code is licensed under the MIT license found in the LICENSE file in the root * directory of this source tree. */package com.rnp_appbar_bug;
import android.content.Context;import com.facebook.flipper.android.AndroidFlipperClient;import com.facebook.flipper.android.utils.FlipperUtils;import com.facebook.flipper.core.FlipperClient;import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;import com.facebook.flipper.plugins.inspector.DescriptorMapping;import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;import com.facebook.flipper.plugins.react.ReactFlipperPlugin;import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;import com.facebook.react.ReactInstanceEventListener;import com.facebook.react.ReactInstanceManager;import com.facebook.react.bridge.ReactContext;import com.facebook.react.modules.network.NetworkingModule;import okhttp3.OkHttpClient;
public class ReactNativeFlipper { public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { if (FlipperUtils.shouldEnableFlipper(context)) { final FlipperClient client = AndroidFlipperClient.getInstance(context);
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); client.addPlugin(new ReactFlipperPlugin()); client.addPlugin(new DatabasesFlipperPlugin(context)); client.addPlugin(new SharedPreferencesFlipperPlugin(context)); client.addPlugin(CrashReporterPlugin.getInstance());
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); NetworkingModule.setCustomClientBuilder( new NetworkingModule.CustomClientBuilder() { @Override public void apply(OkHttpClient.Builder builder) { builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); } }); client.addPlugin(networkFlipperPlugin); client.start();
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized // Hence we run if after all native modules have been initialized ReactContext reactContext = reactInstanceManager.getCurrentReactContext(); if (reactContext == null) { reactInstanceManager.addReactInstanceEventListener( new ReactInstanceEventListener() { @Override public void onReactContextInitialized(ReactContext reactContext) { reactInstanceManager.removeReactInstanceEventListener(this); reactContext.runOnNativeModulesQueueThread( new Runnable() { @Override public void run() { client.addPlugin(new FrescoFlipperPlugin()); } }); } }); } else { client.addPlugin(new FrescoFlipperPlugin()); } } }}