diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8ec1ee3a14..95a41a5009 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -686,6 +686,7 @@ dependencies { implementation(libs.google.play.services.maps) implementation(libs.google.play.services.auth) implementation(libs.google.signin) + implementation(libs.androidx.media) implementation(libs.bundles.media3) implementation(libs.conscrypt.android) implementation(libs.signal.aesgcmprovider) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fc640a2c62..e0ffe7b0df 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,8 +2,6 @@ - - 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 caaefb4e49..4aa4957826 100644 --- a/build-logic/plugins/src/main/java/signal-library.gradle.kts +++ b/build-logic/plugins/src/main/java/signal-library.gradle.kts @@ -24,6 +24,10 @@ android { vectorDrawables.useSupportLibrary = true } + testOptions { + targetSdk = libs.versions.targetSdk.get().toInt() + } + compileOptions { isCoreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.toVersion(libs.versions.javaVersion.get()) @@ -31,6 +35,7 @@ android { } lint { + targetSdk = libs.versions.targetSdk.get().toInt() disable += "InvalidVectorPath" lintConfig = rootProject.file("lint.xml") } diff --git a/demo/apng/build.gradle.kts b/demo/apng/build.gradle.kts index f0909cbe1f..0f260d2321 100644 --- a/demo/apng/build.gradle.kts +++ b/demo/apng/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } android { - namespace = "org.signal.apng" + namespace = "org.signal.apng.demo" defaultConfig { applicationId = "org.signal.apng" diff --git a/demo/apng/src/main/AndroidManifest.xml b/demo/apng/src/main/AndroidManifest.xml index 225f270bce..a54be649f4 100644 --- a/demo/apng/src/main/AndroidManifest.xml +++ b/demo/apng/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ android:supportsRtl="true" android:theme="@style/Theme.Signal"> @@ -26,12 +26,12 @@ diff --git a/demo/apng/src/main/java/org/signal/apng/DemoActivity.kt b/demo/apng/src/main/java/org/signal/apng/DemoActivity.kt index 812a850e4e..e428d095dc 100644 --- a/demo/apng/src/main/java/org/signal/apng/DemoActivity.kt +++ b/demo/apng/src/main/java/org/signal/apng/DemoActivity.kt @@ -17,6 +17,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.ViewHolder +import org.signal.apng.demo.R class DemoActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { diff --git a/demo/apng/src/main/java/org/signal/apng/MainActivity.kt b/demo/apng/src/main/java/org/signal/apng/MainActivity.kt index c5cb1fb479..a93802c7b6 100644 --- a/demo/apng/src/main/java/org/signal/apng/MainActivity.kt +++ b/demo/apng/src/main/java/org/signal/apng/MainActivity.kt @@ -9,6 +9,7 @@ import android.content.Intent import android.os.Bundle import android.widget.Button import androidx.activity.ComponentActivity +import org.signal.apng.demo.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { diff --git a/demo/apng/src/main/java/org/signal/apng/PlayerActivity.kt b/demo/apng/src/main/java/org/signal/apng/PlayerActivity.kt index c4ad79d0dd..5442949cb4 100644 --- a/demo/apng/src/main/java/org/signal/apng/PlayerActivity.kt +++ b/demo/apng/src/main/java/org/signal/apng/PlayerActivity.kt @@ -11,6 +11,7 @@ import android.widget.Button import android.widget.ImageView import android.widget.TextView import androidx.activity.ComponentActivity +import org.signal.apng.demo.R class PlayerActivity : ComponentActivity() { lateinit var frameMetadata: TextView diff --git a/gradle.properties b/gradle.properties index 4fbfee8b08..041165ae73 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,9 @@ # R8 thread count set to 1 to avoid non-determinstic behavior org.gradle.jvmargs=-Xmx12g -Xms256m -XX:MaxMetaspaceSize=1g -Dcom.android.tools.r8.threadCount=1 android.useAndroidX=true -android.experimental.androidTest.numManagedDeviceShards=1 org.gradle.configuration-cache=true org.gradle.configuration-cache.problems=fail android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false -android.lint.useK2Uast=true # We never want to use auto-provisioning, as it breaks reproducible builds. # This should not be a problem, because we never configure a "javaRepositories" @@ -14,19 +12,10 @@ android.lint.useK2Uast=true # See: https://docs.gradle.org/current/userguide/toolchains.html#sub:disable_auto_provision org.gradle.java.installations.auto-download=false -# Test fixtures support for Android modules +# Required: Kotlin source files exist under src/testFixtures (e.g. core/ui). android.experimental.enableTestFixturesKotlinSupport=true -android.defaults.buildfeatures.resvalues=true -android.sdk.defaultTargetSdkToCompileSdkIfUnset=false -android.enableAppCompileTimeRClass=false -android.onlyEnableUnitTestForTheTestedBuildType=false -android.usesSdkInManifest.disallowed=false -android.uniquePackageNames=false -android.dependency.useConstraints=true -android.r8.strictFullModeForKeepRules=false -android.r8.optimizedResourceShrinking=false -android.builtInKotlin=true -android.newDsl=true +# Required: app/build.gradle.kts uses kotlinExt.sourceSets.create(...) to wire Kotlin +# source sets for Wire 5.x, which AGP 9.0's built-in Kotlin doesn't create automatically. android.disallowKotlinSourceSets=false # Uncomment these to build libsignal from source. diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1f7bb66593..e4ce89a092 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -103,6 +103,7 @@ androidx-legacy-preference = "androidx.legacy:legacy-preference-v14:1.0.0" androidx-preference = "androidx.preference:preference:1.2.1" androidx-gridlayout = "androidx.gridlayout:gridlayout:1.1.0" androidx-exifinterface = "androidx.exifinterface:exifinterface:1.4.2" +androidx-media = "androidx.media:media:1.7.0" androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" } androidx-media3-session = { module = "androidx.media3:media3-session", version.ref = "androidx-media3" } androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" } diff --git a/lib/qr/src/main/AndroidManifest.xml b/lib/qr/src/main/AndroidManifest.xml index f3c321c53f..e9ba13e77e 100644 --- a/lib/qr/src/main/AndroidManifest.xml +++ b/lib/qr/src/main/AndroidManifest.xml @@ -1,8 +1,5 @@ - - - +