diff --git a/apps/flipcash/app/build.gradle.kts b/apps/flipcash/app/build.gradle.kts
index 7e7d57417..fc4b0d59f 100644
--- a/apps/flipcash/app/build.gradle.kts
+++ b/apps/flipcash/app/build.gradle.kts
@@ -115,6 +115,7 @@ android {
lint {
checkReleaseBuilds = false
+ checkDependencies = true
baseline = file("lint-baseline.xml")
}
diff --git a/apps/flipcash/app/lint-baseline.xml b/apps/flipcash/app/lint-baseline.xml
index 1f61656eb..dadd1b76c 100644
--- a/apps/flipcash/app/lint-baseline.xml
+++ b/apps/flipcash/app/lint-baseline.xml
@@ -377,4 +377,37 @@
column="31"/>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/flipcash/shared/chat-ui/src/main/kotlin/com/flipcash/shared/chat/ui/media/ChatPhotoPicker.kt b/apps/flipcash/shared/chat-ui/src/main/kotlin/com/flipcash/shared/chat/ui/media/ChatPhotoPicker.kt
index ab8a45e73..09878fe09 100644
--- a/apps/flipcash/shared/chat-ui/src/main/kotlin/com/flipcash/shared/chat/ui/media/ChatPhotoPicker.kt
+++ b/apps/flipcash/shared/chat-ui/src/main/kotlin/com/flipcash/shared/chat/ui/media/ChatPhotoPicker.kt
@@ -1,6 +1,8 @@
package com.flipcash.shared.chat.ui.media
import android.net.Uri
+import android.os.Build
+import android.os.ext.SdkExtensions
import android.provider.MediaStore
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.PickVisualMediaRequest
@@ -30,7 +32,19 @@ fun rememberChatPhotoPicker(
val single = rememberLauncherForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
if (uri != null) currentOnPicked(listOf(uri))
}
- val max = remaining.coerceIn(2, maxOf(2, MediaStore.getPickImagesMaxLimit()))
+ // getPickImagesMaxLimit() only exists where the system picker does (API 33+, or SDK
+ // extension R 2+). Without it, the open slots are the only cap.
+ val systemMax = remember {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ||
+ (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R &&
+ SdkExtensions.getExtensionVersion(Build.VERSION_CODES.R) >= 2)
+ ) {
+ MediaStore.getPickImagesMaxLimit()
+ } else {
+ null
+ }
+ }
+ val max = maxOf(2, systemMax?.let { minOf(remaining, it) } ?: remaining)
val multiple = rememberLauncherForActivityResult(
ActivityResultContracts.PickMultipleVisualMedia(max),
) { uris ->