From 92545b6fe2df1ca561785cbb44a3f53d5a6eef9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Muller?= Date: Wed, 9 Oct 2024 13:23:21 +0200 Subject: [PATCH] Remove Multidex usages Since the min SDK is 21/23, it is no longer necessary to use the Multidex library. See the following for more info: https://developer.android.com/build/multidex#mdex-on-l --- app/build.gradle.kts | 4 ---- .../java/org/thoughtcrime/securesms/ApplicationContext.java | 4 ++-- app/src/main/res/raw/third_party_licenses | 1 - build-logic/plugins/src/main/java/signal-library.gradle.kts | 2 -- .../plugins/src/main/java/signal-sample-app.gradle.kts | 2 -- dependencies.gradle.kts | 2 -- device-transfer/lib/build.gradle.kts | 1 - 7 files changed, 2 insertions(+), 14 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ec94972132..67c13773e8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -166,8 +166,6 @@ android { minSdk = signalMinSdkVersion targetSdk = signalTargetSdkVersion - multiDexEnabled = true - vectorDrawables.useSupportLibrary = true project.ext.set("archivesBaseName", "Signal") @@ -499,7 +497,6 @@ dependencies { implementation(libs.androidx.compose.runtime.livedata) implementation(libs.androidx.activity.compose) implementation(libs.androidx.constraintlayout) - implementation(libs.androidx.multidex) implementation(libs.androidx.navigation.fragment.ktx) implementation(libs.androidx.navigation.ui.ktx) implementation(libs.androidx.navigation.compose) @@ -587,7 +584,6 @@ dependencies { testImplementation(testLibs.robolectric.robolectric) { exclude(group = "com.google.protobuf", module = "protobuf-java") } - testImplementation(testLibs.robolectric.shadows.multidex) testImplementation(testLibs.bouncycastle.bcprov.jdk15on) { version { strictly("1.70") diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index d6c86e8445..4362c16b36 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -16,13 +16,13 @@ */ package org.thoughtcrime.securesms; +import android.app.Application; import android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.annotation.WorkerThread; -import androidx.multidex.MultiDexApplication; import com.bumptech.glide.Glide; import com.google.android.gms.security.ProviderInstaller; @@ -123,7 +123,7 @@ * * @author Moxie Marlinspike */ -public class ApplicationContext extends MultiDexApplication implements AppForegroundObserver.Listener { +public class ApplicationContext extends Application implements AppForegroundObserver.Listener { private static final String TAG = Log.tag(ApplicationContext.class); diff --git a/app/src/main/res/raw/third_party_licenses b/app/src/main/res/raw/third_party_licenses index 0ca986823e..70f416efb8 100644 --- a/app/src/main/res/raw/third_party_licenses +++ b/app/src/main/res/raw/third_party_licenses @@ -352,7 +352,6 @@ The following dependencies are licensed under The MIT License: * mockito-android (https://github.com/mockito/mockito) * mockito-core (https://github.com/mockito/mockito) * mockito-inline (https://github.com/mockito/mockito) -* multidex (http://robolectric.org) * nativeruntime (http://robolectric.org) * pluginapi (http://robolectric.org) * reflector (http://robolectric.org) diff --git a/build-logic/plugins/src/main/java/signal-library.gradle.kts b/build-logic/plugins/src/main/java/signal-library.gradle.kts index 0d97b4e3f8..b234f66764 100644 --- a/build-logic/plugins/src/main/java/signal-library.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-library.gradle.kts @@ -28,7 +28,6 @@ android { defaultConfig { minSdk = signalMinSdkVersion targetSdk = signalTargetSdkVersion - multiDexEnabled = true } compileOptions { @@ -58,7 +57,6 @@ dependencies { implementation(libs.rxjava3.rxandroid) implementation(libs.rxjava3.rxjava) implementation(libs.rxjava3.rxkotlin) - implementation(libs.androidx.multidex) implementation(libs.kotlin.stdlib.jdk8) ktlintRuleset(libs.ktlint.twitter.compose) diff --git a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts index f6ef78dbec..cd48005b5f 100644 --- a/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-sample-app.gradle.kts @@ -33,7 +33,6 @@ android { minSdk = signalMinSdkVersion targetSdk = signalTargetSdkVersion - multiDexEnabled = true } compileOptions { @@ -69,7 +68,6 @@ dependencies { implementation(libs.rxjava3.rxandroid) implementation(libs.rxjava3.rxjava) implementation(libs.rxjava3.rxkotlin) - implementation(libs.androidx.multidex) implementation(libs.material.material) implementation(libs.androidx.constraintlayout) implementation(libs.kotlin.stdlib.jdk8) diff --git a/dependencies.gradle.kts b/dependencies.gradle.kts index 8791cd6a9e..8f9cbc5a5e 100644 --- a/dependencies.gradle.kts +++ b/dependencies.gradle.kts @@ -69,7 +69,6 @@ dependencyResolutionManagement { library("androidx-media3-ui", "androidx.media3", "media3-ui").versionRef("androidx-media3") library("androidx-media3-decoder", "androidx.media3", "media3-decoder").versionRef("androidx-media3") library("androidx-media3-common", "androidx.media3", "media3-common").versionRef("androidx-media3") - library("androidx-multidex", "androidx.multidex:multidex:2.0.1") library("androidx-navigation-fragment-ktx", "androidx.navigation", "navigation-fragment-ktx").versionRef("androidx-navigation") library("androidx-navigation-ui-ktx", "androidx.navigation", "navigation-ui-ktx").versionRef("androidx-navigation") library("androidx-navigation-compose", "androidx.navigation", "navigation-compose").versionRef("androidx-navigation") @@ -191,7 +190,6 @@ dependencyResolutionManagement { library("mockito-kotlin", "org.mockito.kotlin:mockito-kotlin:4.0.0") library("mockito-android", "org.mockito:mockito-android:4.6.1") library("robolectric-robolectric", "org.robolectric", "robolectric").versionRef("robolectric") - library("robolectric-shadows-multidex", "org.robolectric", "shadows-multidex").versionRef("robolectric") library("bouncycastle-bcprov-jdk15on", "org.bouncycastle:bcprov-jdk15on:1.70") library("bouncycastle-bcpkix-jdk15on", "org.bouncycastle:bcpkix-jdk15on:1.70") library("hamcrest-hamcrest", "org.hamcrest:hamcrest:2.2") diff --git a/device-transfer/lib/build.gradle.kts b/device-transfer/lib/build.gradle.kts index 5ca621790e..f3c177aa66 100644 --- a/device-transfer/lib/build.gradle.kts +++ b/device-transfer/lib/build.gradle.kts @@ -14,7 +14,6 @@ dependencies { testImplementation(testLibs.robolectric.robolectric) { exclude(group = "com.google.protobuf", module = "protobuf-java") } - testImplementation(testLibs.robolectric.shadows.multidex) testImplementation(testLibs.hamcrest.hamcrest) testImplementation(testFixtures(project(":libsignal-service")))