diff --git a/dependencies.gradle b/dependencies.gradle
index d3e839a118d..8ab397e95b5 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -19,7 +19,6 @@ def markwon = "4.6.2"
def moshi = "1.15.1"
def lifecycle = "2.8.3"
def flowBinding = "1.2.0"
-def flipper = "0.259.0"
def epoxy = "5.0.0"
def mavericks = "3.0.9"
def glide = "4.16.0"
@@ -95,10 +94,6 @@ ext.libs = [
'hiltAndroidTesting' : "com.google.dagger:hilt-android-testing:$dagger",
'hiltCompiler' : "com.google.dagger:hilt-compiler:$dagger"
],
- flipper : [
- 'flipper' : "com.facebook.flipper:flipper:$flipper",
- 'flipperNetworkPlugin' : "com.facebook.flipper:flipper-network-plugin:$flipper",
- ],
element : [
'opusencoder' : "io.element.android:opusencoder:1.1.0",
'wysiwyg' : "io.element.android:wysiwyg:2.38.2"
diff --git a/dependencies_groups.gradle b/dependencies_groups.gradle
index 282fa353e4f..59cc63896f6 100644
--- a/dependencies_groups.gradle
+++ b/dependencies_groups.gradle
@@ -69,7 +69,6 @@ ext.groups = [
'com.dropbox.core',
'com.soywiz.korlibs.korte',
'com.facebook.fbjni',
- 'com.facebook.flipper',
'com.facebook.fresco',
'com.facebook.infer.annotation',
'com.facebook.react',
@@ -114,7 +113,6 @@ ext.groups = [
'com.intellij',
'com.jakewharton.android.repackaged',
'com.jakewharton.timber',
- 'com.kgurgul.flipper',
'com.linkedin.dexmaker',
'com.mapbox.mapboxsdk',
'com.nulab-inc',
diff --git a/docs/flipper.md b/docs/flipper.md
deleted file mode 100644
index 495425ce5f4..00000000000
--- a/docs/flipper.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Flipper
-
-
-
-* [Introduction](#introduction)
-* [Setup](#setup)
- * [Troubleshoot](#troubleshoot)
- * [No device found issue](#no-device-found-issue)
- * [Diagnostic Activity](#diagnostic-activity)
- * [Other](#other)
-* [Links](#links)
-
-
-
-## Introduction
-
-[Flipper](https://fbflipper.com) is a powerful tool from Meta, which allow to inspect the running application details and states from your computer.
-
-Flipper is configured in the Element Android project to let the developers be able to:
-- inspect all the Realm databases content;
-- do layout inspection;
-- see the crash logs;
-- see the logcat;
-- see all the network requests;
-- see all the SharedPreferences;
-- take screenshots and record videos of the device;
-- and more!
-
-## Setup
-
-- Install Flipper on your computer. Follow instructions here: https://fbflipper.com/docs/getting-started/index/
-- Run the debug version of Element on an emulator or on a real device.
-
-### Troubleshoot
-
-#### No device found issue
-
-The configuration of the Flipper application has to be updated. The issue has been asked and answered here: https://stackoverflow.com/questions/71744103/android-emulator-unable-to-connect-to-flipper/72608113#72608113
-
-#### Diagnostic Activity
-
-Flipper comes with a Diagnostic Activity that you can start from command line using:
-
-```shell
-adb shell am start -n im.vector.app.debug/com.facebook.flipper.android.diagnostics.FlipperDiagnosticActivity
-```
-
-It provides some log which can help to figure out what's going on client side.
-
-#### Other
-
-https://fbflipper.com/docs/getting-started/troubleshooting/android/ may help.
-
-## Links
-
-- Official Flipper website: https://fbflipper.com
-- Realm Plugin for Flipper: https://github.com/kamgurgul/Flipper-Realm
-- Dedicated Matrix room: https://matrix.to/#/#unifiedpush:matrix.org
diff --git a/vector-app/build.gradle b/vector-app/build.gradle
index 1905e397f5f..bdc705bd76c 100644
--- a/vector-app/build.gradle
+++ b/vector-app/build.gradle
@@ -391,16 +391,6 @@ dependencies {
implementation 'androidx.multidex:multidex:2.0.1'
implementation "androidx.sharetarget:sharetarget:1.2.0"
- // Flipper, debug builds only
- debugImplementation(libs.flipper.flipper) {
- exclude group: 'com.facebook.fbjni', module: 'fbjni'
- }
- debugImplementation(libs.flipper.flipperNetworkPlugin) {
- exclude group: 'com.facebook.fbjni', module: 'fbjni'
- }
- debugImplementation 'com.facebook.soloader:soloader:0.10.5'
- debugImplementation "com.kgurgul.flipper:flipper-realm-android:2.3.0"
-
gplayImplementation "com.google.android.gms:play-services-location:21.3.0"
// UnifiedPush gplay flavor only
gplayImplementation platform(libs.google.firebaseBom)
diff --git a/vector-app/src/debug/AndroidManifest.xml b/vector-app/src/debug/AndroidManifest.xml
index be2aadbeaf8..4f1d6817531 100644
--- a/vector-app/src/debug/AndroidManifest.xml
+++ b/vector-app/src/debug/AndroidManifest.xml
@@ -11,11 +11,6 @@
-
-
-
diff --git a/vector-app/src/debug/java/im/vector/app/features/debug/di/DebugModule.kt b/vector-app/src/debug/java/im/vector/app/features/debug/di/DebugModule.kt
index 6604545ca4c..b5af29f7e08 100644
--- a/vector-app/src/debug/java/im/vector/app/features/debug/di/DebugModule.kt
+++ b/vector-app/src/debug/java/im/vector/app/features/debug/di/DebugModule.kt
@@ -16,10 +16,8 @@ import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import im.vector.app.core.debug.DebugNavigator
import im.vector.app.core.debug.DebugReceiver
-import im.vector.app.core.debug.FlipperProxy
import im.vector.app.core.debug.LeakDetector
import im.vector.app.features.debug.DebugMenuActivity
-import im.vector.app.flipper.VectorFlipperProxy
import im.vector.app.leakcanary.LeakCanaryLeakDetector
import im.vector.app.receivers.VectorDebugReceiver
@@ -40,9 +38,6 @@ abstract class DebugModule {
@Binds
abstract fun bindsDebugReceiver(receiver: VectorDebugReceiver): DebugReceiver
- @Binds
- abstract fun bindsFlipperProxy(flipperProxy: VectorFlipperProxy): FlipperProxy
-
@Binds
abstract fun bindsLeakDetector(leakDetector: LeakCanaryLeakDetector): LeakDetector
}
diff --git a/vector-app/src/debug/java/im/vector/app/flipper/VectorFlipperProxy.kt b/vector-app/src/debug/java/im/vector/app/flipper/VectorFlipperProxy.kt
deleted file mode 100644
index fca6278d7d3..00000000000
--- a/vector-app/src/debug/java/im/vector/app/flipper/VectorFlipperProxy.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2022-2024 New Vector Ltd.
- *
- * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
- * Please see LICENSE files in the repository root for full details.
- */
-
-package im.vector.app.flipper
-
-import android.content.Context
-import android.os.Build
-import com.facebook.flipper.android.AndroidFlipperClient
-import com.facebook.flipper.android.utils.FlipperUtils
-import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin
-import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin
-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.sharedpreferences.SharedPreferencesFlipperPlugin
-import com.facebook.soloader.SoLoader
-import com.kgurgul.flipper.RealmDatabaseDriver
-import com.kgurgul.flipper.RealmDatabaseProvider
-import im.vector.app.core.debug.FlipperProxy
-import io.realm.RealmConfiguration
-import okhttp3.Interceptor
-import org.matrix.android.sdk.api.Matrix
-import javax.inject.Inject
-import javax.inject.Singleton
-
-@Singleton
-class VectorFlipperProxy @Inject constructor(
- private val context: Context,
-) : FlipperProxy {
- private val networkFlipperPlugin = NetworkFlipperPlugin()
-
- private val isEnabled: Boolean
- get() {
- // https://github.com/facebook/flipper/issues/3572
- if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
- return false
- }
-
- return FlipperUtils.shouldEnableFlipper(context)
- }
-
- override fun init(matrix: Matrix) {
- if (!isEnabled) return
-
- SoLoader.init(context, false)
-
- val client = AndroidFlipperClient.getInstance(context)
- client.addPlugin(CrashReporterPlugin.getInstance())
- client.addPlugin(SharedPreferencesFlipperPlugin(context))
- client.addPlugin(InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()))
- client.addPlugin(networkFlipperPlugin)
- client.addPlugin(
- DatabasesFlipperPlugin(
- RealmDatabaseDriver(
- context = context,
- realmDatabaseProvider = object : RealmDatabaseProvider {
- override fun getRealmConfigurations(): List {
- return matrix.debugService().getAllRealmConfigurations()
- }
- })
- )
- )
- client.start()
- }
-
- override fun networkInterceptor(): Interceptor? {
- if (!isEnabled) return null
-
- return FlipperOkhttpInterceptor(networkFlipperPlugin)
- }
-}
diff --git a/vector-app/src/main/java/im/vector/app/VectorApplication.kt b/vector-app/src/main/java/im/vector/app/VectorApplication.kt
index 84b87b14040..f984729c57a 100644
--- a/vector-app/src/main/java/im/vector/app/VectorApplication.kt
+++ b/vector-app/src/main/java/im/vector/app/VectorApplication.kt
@@ -38,7 +38,6 @@ import com.vanniktech.emoji.EmojiManager
import com.vanniktech.emoji.google.GoogleEmojiProvider
import dagger.hilt.android.HiltAndroidApp
import im.vector.app.config.Config
-import im.vector.app.core.debug.FlipperProxy
import im.vector.app.core.debug.LeakDetector
import im.vector.app.core.di.ActiveSessionHolder
import im.vector.app.core.pushers.FcmHelper
@@ -97,7 +96,6 @@ class VectorApplication :
@Inject lateinit var decryptionFailureTracker: DecryptionFailureTracker
@Inject lateinit var vectorFileLogger: VectorFileLogger
@Inject lateinit var vectorAnalytics: VectorAnalytics
- @Inject lateinit var flipperProxy: FlipperProxy
@Inject lateinit var matrix: Matrix
@Inject lateinit var fcmHelper: FcmHelper
@Inject lateinit var buildMeta: BuildMeta
@@ -121,7 +119,6 @@ class VectorApplication :
enableStrictModeIfNeeded()
super.onCreate()
appContext = this
- flipperProxy.init(matrix)
vectorAnalytics.init()
vectorAnalytics.updateSuperProperties(
SuperProperties(
diff --git a/vector-app/src/main/java/im/vector/app/core/di/SingletonModule.kt b/vector-app/src/main/java/im/vector/app/core/di/SingletonModule.kt
index 4f1180303a3..49f0fd7aae3 100644
--- a/vector-app/src/main/java/im/vector/app/core/di/SingletonModule.kt
+++ b/vector-app/src/main/java/im/vector/app/core/di/SingletonModule.kt
@@ -24,7 +24,6 @@ import im.vector.app.EmojiSpanify
import im.vector.app.SpaceStateHandler
import im.vector.app.SpaceStateHandlerImpl
import im.vector.app.config.Config
-import im.vector.app.core.debug.FlipperProxy
import im.vector.app.core.device.DefaultGetDeviceInfoUseCase
import im.vector.app.core.device.GetDeviceInfoUseCase
import im.vector.app.core.dispatchers.CoroutineDispatchers
@@ -140,7 +139,6 @@ import javax.inject.Singleton
fun providesMatrixConfiguration(
vectorPreferences: VectorPreferences,
vectorRoomDisplayNameFallbackProvider: VectorRoomDisplayNameFallbackProvider,
- flipperProxy: FlipperProxy,
vectorPlugins: VectorPlugins,
vectorCustomEventTypesProvider: VectorCustomEventTypesProvider,
mdmService: MdmService,
@@ -149,9 +147,7 @@ import javax.inject.Singleton
applicationFlavor = BuildConfig.FLAVOR_DESCRIPTION,
roomDisplayNameFallbackProvider = vectorRoomDisplayNameFallbackProvider,
threadMessagesEnabledDefault = vectorPreferences.areThreadMessagesEnabled(),
- networkInterceptors = listOfNotNull(
- flipperProxy.networkInterceptor(),
- ),
+ networkInterceptors = emptyList(),
metricPlugins = vectorPlugins.plugins(),
cryptoAnalyticsPlugin = vectorPlugins.cryptoMetricPlugin,
customEventTypesProvider = vectorCustomEventTypesProvider,
diff --git a/vector-app/src/release/java/im/vector/app/core/di/DebugModule.kt b/vector-app/src/release/java/im/vector/app/core/di/DebugModule.kt
index 89a2d184842..2819bc9c821 100644
--- a/vector-app/src/release/java/im/vector/app/core/di/DebugModule.kt
+++ b/vector-app/src/release/java/im/vector/app/core/di/DebugModule.kt
@@ -14,10 +14,7 @@ import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import im.vector.app.core.debug.DebugNavigator
import im.vector.app.core.debug.DebugReceiver
-import im.vector.app.core.debug.FlipperProxy
import im.vector.app.core.debug.LeakDetector
-import okhttp3.Interceptor
-import org.matrix.android.sdk.api.Matrix
@InstallIn(SingletonComponent::class)
@Module
@@ -41,15 +38,6 @@ object DebugModule {
}
}
- @Provides
- fun providesFlipperProxy() = object : FlipperProxy {
- override fun init(matrix: Matrix) {
- // no op
- }
-
- override fun networkInterceptor(): Interceptor? = null
- }
-
@Provides
fun providesLeakDetector() = object : LeakDetector {
override fun enable(enable: Boolean) {
diff --git a/vector/src/main/java/im/vector/app/core/debug/FlipperProxy.kt b/vector/src/main/java/im/vector/app/core/debug/FlipperProxy.kt
deleted file mode 100644
index d3dc4b346ee..00000000000
--- a/vector/src/main/java/im/vector/app/core/debug/FlipperProxy.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright 2022-2024 New Vector Ltd.
- *
- * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
- * Please see LICENSE files in the repository root for full details.
- */
-
-package im.vector.app.core.debug
-
-import okhttp3.Interceptor
-import org.matrix.android.sdk.api.Matrix
-
-interface FlipperProxy {
- fun init(matrix: Matrix)
- fun networkInterceptor(): Interceptor?
-}