According to the documents here, I followed the necessary steps. Yet, even though I can see the requested data when I debug my app, I see no network traffic on Flipper. Here is my code:
Dependencies:
debugImplementation 'com.facebook.flipper:flipper:0.54.0'
debugImplementation 'com.facebook.flipper:flipper-network-plugin:0.54.0'
debugImplementation 'com.facebook.soloader:soloader:0.9.0'
Application Setup:
class MoveeApp : Application() {
override fun onCreate() {
super.onCreate()
initFlipper()
}
private fun initFlipper() {
SoLoader.init(this, false)
if (BuildConfig.DEBUG && FlipperUtils.shouldEnableFlipper(this)) {
val flipperClient = AndroidFlipperClient.getInstance(this)
val networkFlipperPlugin = NetworkFlipperPlugin()
flipperClient.addPlugin(
InspectorFlipperPlugin(
this@MoveeApp,
DescriptorMapping.withDefaults()
)
)
flipperClient.addPlugin(networkFlipperPlugin)
flipperClient.start()
}
}
}
Network Module where I provide OkHttpClient:
The document says here "As interceptors can modify the request and response, add the Flipper interceptor after all others to get an accurate view of the network traffic.". That's why I added network interceptor after I added the request interceptor, as can be seen below.
@InstallIn(ApplicationComponent::class)
@Module
object NetworkModule {
@Singleton
@Provides
fun provideOkHttpClient(requestInterceptor: RequestInterceptor): OkHttpClient =
OkHttpClient.Builder()
.addInterceptor(requestInterceptor)
.addNetworkInterceptor(FlipperOkhttpInterceptor(NetworkFlipperPlugin()))
.build()
}
The desktop app's version is "0.54.0" as well and Network plugin is enabled.
Is there something I fail to notice?
In function
provideOkHttpClientthe code is creating a new instance ofNetworkFlipperPluginthat is not registered with the flipper client.In
MoveeAppthe code is also creating aNetworkFlipperPluginthat is coupled to the flipper client, but that plugin is not registered as an interceptor.Expose the flipper network plugin in MoveeApp and retrieve it, something like: