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
provideOkHttpClient
the code is creating a new instance ofNetworkFlipperPlugin
that is not registered with the flipper client.In
MoveeApp
the code is also creating aNetworkFlipperPlugin
that 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: