From 2a45e1cbf28c288ff0f3805c2c2049b72ac6a5ac Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 2 Dec 2025 10:37:00 -0400 Subject: [PATCH] Upgrade compose bom to 2025.11.01 --- .../links/details/CallLinkDetailsScreen.kt | 6 +- .../securesms/calls/new/NewCallActivity.kt | 3 +- .../internal/search/InternalSearchFragment.kt | 4 +- .../StatusBarColorNestedScrollConnection.kt | 4 +- .../conversation/NewConversationActivity.kt | 3 +- .../securesms/main/CallsNavHost.kt | 4 +- .../window/WindowSizeClassExtensions.kt | 2 +- core-ui/build.gradle.kts | 1 + .../core/ui/compose/ActivityComponents.kt | 4 +- gradle/libs.versions.toml | 4 +- gradle/verification-metadata.xml | 395 +++++++++++++++++- 11 files changed, 404 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt index fb51eb1811..724960174a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt @@ -9,6 +9,7 @@ import android.content.ActivityNotFoundException import android.content.Intent import android.widget.Toast import androidx.activity.ComponentActivity +import androidx.activity.compose.LocalActivity import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn @@ -21,7 +22,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp @@ -64,11 +64,11 @@ fun CallLinkDetailsScreen( viewModel: CallLinkDetailsViewModel = viewModel { CallLinkDetailsViewModel(roomId) }, - router: MainNavigationRouter = viewModel(viewModelStoreOwner = LocalContext.current as ComponentActivity) { + router: MainNavigationRouter = viewModel(viewModelStoreOwner = LocalActivity.current as ComponentActivity) { error("Should already be created.") } ) { - val activity = LocalContext.current as FragmentActivity + val activity = LocalActivity.current as FragmentActivity val callback = remember { DefaultCallLinkDetailsCallback( activity = activity, diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt index c6f54454b9..7a868442d2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt @@ -8,6 +8,7 @@ package org.thoughtcrime.securesms.calls.new import android.content.Context import android.content.Intent import android.os.Bundle +import androidx.activity.compose.LocalActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize @@ -80,7 +81,7 @@ private fun NewCallScreen( viewModel: NewCallViewModel = viewModel { NewCallViewModel() }, closeScreen: () -> Unit ) { - val context = LocalContext.current as FragmentActivity + val context = LocalActivity.current as FragmentActivity val callbacks = remember { object : UiCallbacks { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt index f10cc9d53b..0580105662 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt @@ -7,6 +7,7 @@ package org.thoughtcrime.securesms.components.settings.app.internal.search +import androidx.activity.compose.LocalActivity import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -24,7 +25,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import kotlinx.collections.immutable.ImmutableList @@ -87,7 +87,7 @@ fun SearchBar(query: String, onSearchUpdated: (String) -> Unit, modifier: Modifi @Composable fun ResultItem(result: InternalSearchResult, modifier: Modifier = Modifier) { - val activity = LocalContext.current as? AppCompatActivity + val activity = LocalActivity.current as? AppCompatActivity Column( modifier = modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/StatusBarColorNestedScrollConnection.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/StatusBarColorNestedScrollConnection.kt index 6225ed946b..038840a1b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/compose/StatusBarColorNestedScrollConnection.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/StatusBarColorNestedScrollConnection.kt @@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.compose import android.animation.ValueAnimator import android.app.Activity +import androidx.activity.compose.LocalActivity import androidx.appcompat.app.AppCompatActivity import androidx.compose.runtime.Composable import androidx.compose.runtime.remember @@ -10,7 +11,6 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.NestedScrollSource import androidx.compose.ui.input.nestedscroll.nestedScroll -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.Velocity import androidx.core.content.ContextCompat import com.google.android.material.animation.ArgbEvaluatorCompat @@ -96,7 +96,7 @@ class StatusBarColorNestedScrollConnection( */ @Composable fun rememberStatusBarColorNestedScrollModifier(): Modifier { - val activity = LocalContext.current as? AppCompatActivity + val activity = LocalActivity.current as? AppCompatActivity return remember { if (activity != null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt index d102e40d84..c3914265e2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt @@ -9,6 +9,7 @@ import android.app.Activity.RESULT_OK import android.content.Context import android.content.Intent import android.os.Bundle +import androidx.activity.compose.LocalActivity import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge @@ -96,7 +97,7 @@ private fun NewConversationScreen( activityIntent: Intent, closeScreen: () -> Unit ) { - val context = LocalContext.current as FragmentActivity + val context = LocalActivity.current as FragmentActivity val createGroupLauncher: ActivityResultLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult(), diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt b/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt index ac64959d31..38cfadf864 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/CallsNavHost.kt @@ -5,10 +5,10 @@ package org.thoughtcrime.securesms.main +import androidx.activity.compose.LocalActivity import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect -import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController @@ -56,7 +56,7 @@ fun NavGraphBuilder.callNavGraphBuilder(navHostController: NavHostController) { @Composable private fun informNavigatorWeAreReady() { - val navigator = LocalContext.current as? MainNavigator.NavigatorProvider + val navigator = LocalActivity.current as? MainNavigator.NavigatorProvider LaunchedEffect(navigator) { navigator?.onFirstRender() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/window/WindowSizeClassExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/window/WindowSizeClassExtensions.kt index 6829746001..a890ec997a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/window/WindowSizeClassExtensions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/window/WindowSizeClassExtensions.kt @@ -36,7 +36,7 @@ fun isLargeScreenSupportEnabled(): Boolean { @OptIn(ExperimentalWindowCoreApi::class) fun Resources.getWindowSizeClass(): WindowSizeClass { - return WindowSizeClass.compute(displayMetrics.widthPixels, displayMetrics.heightPixels, displayMetrics.density) + return WindowSizeClass.compute(displayMetrics.widthPixels / displayMetrics.density, displayMetrics.heightPixels / displayMetrics.density) } /** diff --git a/core-ui/build.gradle.kts b/core-ui/build.gradle.kts index 3f87fd709e..2536063cb9 100644 --- a/core-ui/build.gradle.kts +++ b/core-ui/build.gradle.kts @@ -29,6 +29,7 @@ dependencies { api(libs.androidx.compose.material3.adaptive.layout) api(libs.androidx.compose.material3.adaptive.navigation) api(libs.androidx.compose.ui.tooling.preview) + api(libs.androidx.activity.compose) debugApi(libs.androidx.compose.ui.tooling.core) api(libs.androidx.fragment.compose) implementation(libs.kotlinx.serialization.json) diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt b/core-ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt index 5bfd5a3671..d3a237fa3a 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/ActivityComponents.kt @@ -6,6 +6,7 @@ package org.signal.core.ui.compose import android.os.Build +import androidx.activity.compose.LocalActivity import androidx.appcompat.app.AppCompatActivity import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect @@ -13,7 +14,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.platform.LocalContext import androidx.core.app.PictureInPictureModeChangedInfo import androidx.core.util.Consumer @@ -26,7 +26,7 @@ import androidx.core.util.Consumer @Composable fun rememberIsInPipMode(): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - val activity = LocalContext.current as AppCompatActivity + val activity = LocalActivity.current as AppCompatActivity var pipMode: Boolean by remember { mutableStateOf(activity.isInPictureInPictureMode) } DisposableEffect(activity) { val observer = Consumer { info -> diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d5b39f5e7b..365853f90a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ [versions] androidx-appcompat = "1.7.0" -androidx-activity = "1.9.3" +androidx-activity = "1.12.0" androidx-camera = "1.3.4" androidx-fragment = "1.8.5" androidx-lifecycle = "2.8.7" @@ -43,7 +43,7 @@ android-application = { module = "com.android.application:com.android.applicatio androidx-benchmark-gradle-plugin = "androidx.benchmark:benchmark-gradle-plugin:1.3.3" # Compose -androidx-compose-bom = "androidx.compose:compose-bom:2025.09.01" +androidx-compose-bom = "androidx.compose:compose-bom:2025.11.01" androidx-compose-material3 = { module = "androidx.compose.material3:material3" } androidx-compose-material3-adaptive = { module = "androidx.compose.material3.adaptive:adaptive"} androidx-compose-material3-adaptive-layout = { module = "androidx.compose.material3.adaptive:adaptive-layout"} diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 5e0ac76fa4..acf28c0df0 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -30,6 +30,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -103,6 +111,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -153,6 +169,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -336,6 +360,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -963,6 +995,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -983,6 +1023,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1079,6 +1127,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1180,6 +1236,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1192,6 +1256,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -1212,6 +1281,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1232,6 +1309,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1252,6 +1337,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1272,6 +1365,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1344,6 +1445,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1356,6 +1465,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1368,6 +1485,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1380,6 +1505,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1392,6 +1525,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1404,6 +1545,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1416,6 +1565,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1428,6 +1585,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1440,6 +1605,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1452,6 +1625,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -1624,6 +1802,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1644,6 +1830,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1672,6 +1866,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1700,6 +1902,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -1707,6 +1917,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -1799,6 +2014,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2007,6 +2230,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2111,6 +2342,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2131,6 +2370,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2415,6 +2662,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2444,6 +2699,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -2510,6 +2768,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -2567,6 +2828,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2587,6 +2856,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2679,6 +2956,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2783,6 +3068,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -2887,6 +3180,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -3588,6 +3889,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -4289,6 +4593,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -4397,6 +4704,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -4582,6 +4892,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -4685,6 +4998,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -4740,16 +5058,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - @@ -4858,6 +5166,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -4976,6 +5287,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -5055,6 +5369,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -5293,6 +5612,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + @@ -5322,6 +5644,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -5701,6 +6028,22 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + + + + + + + + + @@ -6509,6 +6852,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -6521,6 +6872,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -6533,6 +6892,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + + @@ -6557,6 +6924,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + + + +