From c0dfe9bd53e84268054e73d1064b27f6be0bceef Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 13 Jun 2025 10:36:02 -0300 Subject: [PATCH] Utilize ImageVector instead of Painter in SettingsScaffold. --- ...InternalConversationSpringboardFragment.kt | 3 +-- .../thoughtcrime/securesms/InviteFragment.kt | 3 +-- .../MessageBackupsEducationScreen.kt | 4 +++- .../MessageBackupsKeyEducationScreen.kt | 4 +++- .../MessageBackupsKeyRecordScreen.kt | 4 +++- .../MessageBackupsKeyVerifyScreen.kt | 4 +++- .../MessageBackupsTypeSelectionScreen.kt | 4 +++- .../links/EditCallLinkNameDialogFragment.kt | 5 +++-- .../links/details/CallLinkDetailsFragment.kt | 3 +-- .../settings/app/AppSettingsFragment.kt | 2 +- .../export/ExportAccountDataFragment.kt | 4 +++- .../appicon/AppIconSelectionFragment.kt | 4 +++- .../appicon/AppIconTutorialFragment.kt | 4 +++- .../app/backups/BackupsSettingsFragment.kt | 3 +-- .../remote/RemoteBackupsSettingsFragment.kt | 2 +- .../app/chats/folders/ChatFoldersFragment.kt | 2 +- .../chats/folders/CreateFoldersFragment.kt | 5 +++-- .../settings/app/help/HelpSettingsFragment.kt | 3 +-- .../settings/app/help/LicenseFragment.kt | 5 +++-- ...ingOneTimeDonationConfigurationFragment.kt | 5 +++-- .../pnp/PhoneNumberPrivacySettingsFragment.kt | 5 +++-- .../screenlock/ScreenLockSettingsFragment.kt | 4 +++- .../storage/ManageStorageSettingsFragment.kt | 8 +++++--- .../details/BankTransferDetailsFragment.kt | 5 +++-- .../ideal/IdealTransferDetailsFragment.kt | 5 +++-- .../InternalConversationSettingsScreen.kt | 5 +++-- .../ui/incommon/GroupsInCommonActivity.kt | 5 +++-- .../linkdevice/AddLinkDeviceFragment.kt | 4 +++- .../linkdevice/EditDeviceNameFragment.kt | 5 +++-- .../linkdevice/LinkDeviceFragment.kt | 2 +- .../securesms/nicknames/NicknameActivity.kt | 4 +++- .../NewWaysToConnectDialogFragment.kt | 4 +++- .../recipients/ui/findby/FindByActivity.kt | 4 +++- .../ui/countrycode/CountryCodeSelectScreen.kt | 3 +-- .../stickers/StickerManagementActivity.kt | 5 ++--- .../stickers/StickerPackPreviewActivityV2.kt | 2 +- .../org/signal/core/ui/compose/Scaffolds.kt | 20 +++++++++++-------- 37 files changed, 99 insertions(+), 64 deletions(-) diff --git a/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt b/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt index 3c24079969..76adbcc1ea 100644 --- a/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt +++ b/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt @@ -13,7 +13,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview import androidx.navigation.fragment.findNavController @@ -67,7 +66,7 @@ private fun Content( Scaffolds.Settings( title = "Conversation Test Springboard", onNavigationClick = onBackPressed, - navigationIconPainter = rememberVectorPainter(ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24)) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { Column(modifier = Modifier.padding(it)) { Rows.TextRow( diff --git a/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt index 43cb93d283..fac9f76ff3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt @@ -24,7 +24,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextRange @@ -46,7 +45,7 @@ class InviteFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.AndroidManifest__invite_friends), onNavigationClick = { requireActivity().onNavigateUp() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> InviteScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsEducationScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsEducationScreen.kt index aa8fc198a5..7d9fd110d1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsEducationScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsEducationScreen.kt @@ -22,9 +22,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -49,7 +51,7 @@ fun MessageBackupsEducationScreen( Scaffolds.Settings( onNavigationClick = onNavigationClick, navigationContentDescription = stringResource(android.R.string.cancel), - navigationIconPainter = painterResource(id = R.drawable.symbol_x_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_x_24), title = "" ) { Column( diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt index eb96c532ec..6ddd6823df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyEducationScreen.kt @@ -17,9 +17,11 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.Buttons @@ -39,7 +41,7 @@ fun MessageBackupsKeyEducationScreen( ) { Scaffolds.Settings( title = "", - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), onNavigationClick = onNavigationClick ) { Column( diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyRecordScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyRecordScreen.kt index a9d9482a00..3eee2a3cbc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyRecordScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyRecordScreen.kt @@ -25,11 +25,13 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -75,7 +77,7 @@ fun MessageBackupsKeyRecordScreen( Scaffolds.Settings( title = "", - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), onNavigationClick = onNavigationClick, snackbarHost = { Snackbars.Host(snackbarHostState = snackbarHostState) } ) { paddingValues -> diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyVerifyScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyVerifyScreen.kt index 35d25f075a..51d2d7474f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyVerifyScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsKeyVerifyScreen.kt @@ -43,12 +43,14 @@ import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType @@ -90,7 +92,7 @@ fun MessageBackupsKeyVerifyScreen( Scaffolds.Settings( title = stringResource(R.string.MessageBackupsKeyVerifyScreen__confirm_your_backup_key), - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), onNavigationClick = onNavigationClick ) { paddingValues -> diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeSelectionScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeSelectionScreen.kt index ddbae907bb..cd50661f01 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeSelectionScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeSelectionScreen.kt @@ -30,12 +30,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.ExperimentalTextApi import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString @@ -82,7 +84,7 @@ fun MessageBackupsTypeSelectionScreen( Scaffolds.Settings( title = "", onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { paddingValues -> Column( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt index c5b92ed979..83636dde78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/EditCallLinkNameDialogFragment.kt @@ -25,9 +25,10 @@ import androidx.compose.ui.Alignment.Companion.End import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.tooling.preview.Preview @@ -77,7 +78,7 @@ class EditCallLinkNameDialogFragment : ComposeDialogFragment() { Scaffolds.Settings( title = stringResource(id = R.string.EditCallLinkNameDialogFragment__edit_call_name), onNavigationClick = this::dismiss, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { paddingValues -> val focusRequester = remember { FocusRequester() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt index eef7e83f86..ec7c2ba1aa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsFragment.kt @@ -20,7 +20,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.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview @@ -283,7 +282,7 @@ private fun CallLinkDetails( YouAreAlreadyInACallSnackbar(showAlreadyInACall) }, onNavigationClick = callback::onNavigationClicked, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { paddingValues -> if (state.callLink == null) { return@Settings diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt index 17a00ee9fd..bb39186667 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt @@ -184,7 +184,7 @@ private fun AppSettingsContent( Scaffolds.Settings( title = stringResource(R.string.text_secure_normal__menu_settings), navigationContentDescription = stringResource(R.string.CallScreenTopBar__go_back), - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), onNavigationClick = callbacks::onNavigationClick ) { contentPadding -> Column( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/account/export/ExportAccountDataFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/account/export/ExportAccountDataFragment.kt index afd43ad79d..fa86e5cc08 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/account/export/ExportAccountDataFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/account/export/ExportAccountDataFragment.kt @@ -23,8 +23,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -93,7 +95,7 @@ class ExportAccountDataFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.AccountSettingsFragment__request_account_data), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding -> Surface( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt index 305e88348d..85adfbc8fb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt @@ -37,8 +37,10 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.style.TextAlign @@ -72,7 +74,7 @@ class AppIconSelectionFragment : ComposeFragment() { onNavigationClick = { findNavController().popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> IconSelectionScreen(appIconUtility.currentAppIcon, ::updateAppIcon, ::openLearnMore, Modifier.padding(contentPadding)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconTutorialFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconTutorialFragment.kt index 16707712e6..fcb23bc4e1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconTutorialFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconTutorialFragment.kt @@ -22,9 +22,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -43,7 +45,7 @@ class AppIconTutorialFragment : ComposeFragment() { onNavigationClick = { findNavController().popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> TutorialScreen(Modifier.padding(contentPadding)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/BackupsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/BackupsSettingsFragment.kt index 51b6393e28..f416eb1691 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/BackupsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/BackupsSettingsFragment.kt @@ -34,7 +34,6 @@ import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -122,7 +121,7 @@ private fun BackupsSettingsContent( ) { Scaffolds.Settings( title = stringResource(R.string.preferences_chats__backups), - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), onNavigationClick = onNavigationClick ) { paddingValues -> LazyColumn( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt index b3a83e8f00..68af51677f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/remote/RemoteBackupsSettingsFragment.kt @@ -406,7 +406,7 @@ private fun RemoteBackupsSettingsContent( TextWithBetaLabel(text = title, textStyle = MaterialTheme.typography.titleLarge) }, onNavigationClick = contentCallbacks::onNavigationClick, - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), scrollBehavior = scrollBehavior ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersFragment.kt index 806434aff6..caf6b7c7e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersFragment.kt @@ -79,7 +79,7 @@ class ChatFoldersFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.ChatsSettingsFragment__chat_folders), onNavigationClick = { requireActivity().onNavigateUp() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> FoldersScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt index 2d517170fc..b873694434 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt @@ -40,10 +40,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalInspectionMode -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.unit.dp import androidx.fragment.app.activityViewModels @@ -119,7 +120,7 @@ class CreateFoldersFragment : ComposeFragment() { requireActivity().onNavigateUp() } }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> CreateFolderScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/HelpSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/HelpSettingsFragment.kt index 3bd08a5ccf..d990974792 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/HelpSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/HelpSettingsFragment.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.navigation.NavController @@ -42,7 +41,7 @@ class HelpSettingsFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(R.string.preferences__help), onNavigationClick = { navController.popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding -> LazyColumn( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt index 8ca9c04ea9..16bcc3f872 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt @@ -14,8 +14,9 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.rxjava3.subscribeAsState import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.navigation.fragment.findNavController @@ -46,7 +47,7 @@ class LicenseFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.HelpSettingsFragment__licenses), onNavigationClick = findNavController()::popBackStack, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { LicenseScreen(licenseTextLines = textState.value, modifier = Modifier.padding(it)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt index 997891e596..90a6cbc108 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt @@ -21,7 +21,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController @@ -109,7 +110,7 @@ private fun Content( ) { Scaffolds.Settings( title = "One-time donation state", - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = null, onNavigationClick = onNavigationClick ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt index ab7dd116c7..16d759d4a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt @@ -15,10 +15,11 @@ import androidx.compose.runtime.Composable 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.input.nestedscroll.nestedScroll import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels @@ -104,7 +105,7 @@ private fun Screen( Scaffolds.Settings( title = stringResource(id = R.string.preferences_app_protection__phone_number), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close), snackbarHost = { SnackbarHost(snackbarHostState) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/screenlock/ScreenLockSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/screenlock/ScreenLockSettingsFragment.kt index 2cdb7207ca..147a26d3ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/screenlock/ScreenLockSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/screenlock/ScreenLockSettingsFragment.kt @@ -32,9 +32,11 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -112,7 +114,7 @@ class ScreenLockSettingsFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.preferences_app_protection__screen_lock), onNavigationClick = { navController.popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> ScreenLockScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt index 2c185fe5f6..aba4e32f07 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt @@ -32,10 +32,12 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.integerArrayResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.TextFieldValue @@ -273,7 +275,7 @@ private fun ManageStorageSettingsScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__storage), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { contentPadding -> Column( modifier = Modifier @@ -378,7 +380,7 @@ private fun SetKeepMessagesScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__keep_messages), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { contentPadding -> Column( modifier = Modifier @@ -418,7 +420,7 @@ private fun SetChatLengthLimitScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__conversation_length_limit), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { contentPadding -> Column( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt index 6869698f3b..027d47af5c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt @@ -31,9 +31,10 @@ import androidx.compose.ui.focus.FocusDirection import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalFocusManager -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType @@ -221,7 +222,7 @@ private fun BankTransferDetailsContent( Scaffolds.Settings( title = "Bank transfer", onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { Column( horizontalAlignment = CenterHorizontally, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/ideal/IdealTransferDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/ideal/IdealTransferDetailsFragment.kt index 3ccb445f0d..7714c6519c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/ideal/IdealTransferDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/ideal/IdealTransferDetailsFragment.kt @@ -25,9 +25,10 @@ import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusDirection import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalFocusManager -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType @@ -220,7 +221,7 @@ private fun IdealTransferDetailsContent( Scaffolds.Settings( title = stringResource(id = R.string.GatewaySelectorBottomSheet__ideal), onNavigationClick = onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { val focusManager = LocalFocusManager.current diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsScreen.kt index 87948433ca..10b4f58f83 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsScreen.kt @@ -14,8 +14,9 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.AnnotatedString import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews @@ -55,7 +56,7 @@ fun InternalConversationSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.ConversationSettingsFragment__internal_details), onNavigationClick = callbacks::onNavigationClick, - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(R.string.CallScreenTopBar__go_back) ) { paddingValues -> LazyColumn( diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt index 6b55a7ac48..cf038b2b97 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt @@ -33,11 +33,12 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import org.signal.core.ui.compose.Previews @@ -158,7 +159,7 @@ private fun TopAppBar( Scaffolds.DefaultTopAppBar( title = pluralStringResource(R.plurals.GroupsInCommon__n_groups_in_common_title, groupCount, NumberFormat.getInstance().format(groupCount)), titleContent = { _, title -> Text(text = title, style = MaterialTheme.typography.titleLarge) }, - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onBackPress, scrollBehavior = scrollBehavior diff --git a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/AddLinkDeviceFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/AddLinkDeviceFragment.kt index 2a00b90add..f0258c1a2f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/AddLinkDeviceFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/AddLinkDeviceFragment.kt @@ -12,8 +12,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.fragment.app.activityViewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.NavController @@ -115,7 +117,7 @@ private fun MainScreen( Scaffolds.Settings( title = "", onNavigationClick = { navController?.popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.ic_x), + navigationIcon = ImageVector.vectorResource(id = R.drawable.ic_x), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close), actions = { IconButton(onClick = { onShowFrontCamera() }) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt index 4cbb4348f4..155a56bebd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt @@ -20,9 +20,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.TextFieldValue @@ -83,7 +84,7 @@ class EditDeviceNameFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.EditDeviceNameFragment__edit), onNavigationClick = { navController.popBackStack() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> EditNameScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt index a0f0aa4a33..7498c7bd56 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt @@ -197,7 +197,7 @@ class LinkDeviceFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.preferences__linked_devices), onNavigationClick = { navController.popOrFinish() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> DeviceListScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt index d800cd88ed..303b485afe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt @@ -38,9 +38,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.tooling.preview.Preview @@ -217,7 +219,7 @@ private fun NicknameContent( Scaffolds.Settings( title = stringResource(id = R.string.NicknameActivity__nickname), onNavigationClick = callback::onNavigationClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { paddingValues -> val firstNameFocusRequester = remember { FocusRequester() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/username/NewWaysToConnectDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/profiles/username/NewWaysToConnectDialogFragment.kt index 87a2e4c602..8e634763a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/username/NewWaysToConnectDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/username/NewWaysToConnectDialogFragment.kt @@ -21,9 +21,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -78,7 +80,7 @@ private fun NewWaysToConnectDialogContent( Scaffolds.Settings( title = "", onNavigationClick = onNotNowClick, - navigationIconPainter = painterResource(id = R.drawable.symbol_x_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_x_24) ) { Column(modifier = Modifier.padding(it)) { LazyColumn(modifier = Modifier.weight(1f)) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt index 2cc6b21d69..4fe297a1aa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt @@ -42,10 +42,12 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.VisualTransformation @@ -132,7 +134,7 @@ class FindByActivity : PassphraseRequiredActivity() { Scaffolds.Settings( title = stringResource(id = title), onNavigationClick = { finishAfterTransition() }, - navigationIconPainter = painterResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) ) { val context = LocalContext.current diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/countrycode/CountryCodeSelectScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/countrycode/CountryCodeSelectScreen.kt index db204b6254..d63ab2f8df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/countrycode/CountryCodeSelectScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/countrycode/CountryCodeSelectScreen.kt @@ -40,7 +40,6 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.SpanStyle @@ -78,7 +77,7 @@ fun CountryCodeSelectScreen( Text(text = title, style = MaterialTheme.typography.titleLarge) }, onNavigationClick = onDismissed, - navigationIconPainter = rememberVectorPainter(ImageVector.vectorResource(R.drawable.symbol_x_24)), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_x_24), navigationContentDescription = stringResource(R.string.Material3SearchToolbar__close) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt index 48d9211ec9..b54642746b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt @@ -56,7 +56,6 @@ import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.platform.LocalLayoutDirection -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -313,7 +312,7 @@ private fun TopAppBar( Scaffolds.DefaultTopAppBar( title = stringResource(R.string.StickerManagement_title_stickers), titleContent = { _, title -> Text(text = title, style = MaterialTheme.typography.titleLarge) }, - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onBackPress, actions = { @@ -365,7 +364,7 @@ private fun MultiSelectTopAppBar( Scaffolds.DefaultTopAppBar( title = pluralStringResource(R.plurals.StickerManagement_title_n_selected, selectedItemCount, NumberFormat.getInstance().format(selectedItemCount)), titleContent = { _, title -> Text(text = title, style = MaterialTheme.typography.titleLarge) }, - navigationIconPainter = painterResource(R.drawable.symbol_x_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_x_24), navigationContentDescription = stringResource(R.string.StickerManagement_accessibility_exit_multi_select_mode), onNavigationClick = onExitClick ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt index 0c68a24925..24f00d6ff3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt @@ -227,7 +227,7 @@ private fun TopAppBar( Scaffolds.DefaultTopAppBar( title = "", // TODO collapse title into top app bar on scroll titleContent = { _, text -> Text(text = text, style = MaterialTheme.typography.titleLarge) }, - navigationIconPainter = painterResource(R.drawable.symbol_arrow_start_24), + navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onNavigateUp, actions = { diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt index 70ca973c4c..28efc732ae 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt @@ -24,9 +24,7 @@ import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.painter.ColorPainter -import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -34,14 +32,17 @@ import org.signal.core.ui.compose.theme.SignalTheme @OptIn(ExperimentalMaterial3Api::class) object Scaffolds { + /** + * Settings scaffold that takes an icon as an ImageVector. + * * @param titleContent The title area content. First parameter is the contentOffset. */ @Composable fun Settings( title: String, onNavigationClick: () -> Unit, - navigationIconPainter: Painter, + navigationIcon: ImageVector, modifier: Modifier = Modifier, navigationContentDescription: String? = null, titleContent: @Composable (Float, String) -> Unit = { _, title -> @@ -60,7 +61,7 @@ object Scaffolds { title = title, titleContent = titleContent, onNavigationClick = onNavigationClick, - navigationIconPainter = navigationIconPainter, + navigationIcon = navigationIcon, navigationContentDescription = navigationContentDescription, actions = actions, scrollBehavior = scrollBehavior @@ -71,12 +72,15 @@ object Scaffolds { ) } + /** + * Top app bar that takes an ImageVector + */ @Composable fun DefaultTopAppBar( title: String, titleContent: @Composable (Float, String) -> Unit, onNavigationClick: () -> Unit, - navigationIconPainter: Painter, + navigationIcon: ImageVector, navigationContentDescription: String? = null, actions: @Composable RowScope.() -> Unit = {}, scrollBehavior: TopAppBarScrollBehavior = TopAppBarDefaults.pinnedScrollBehavior() @@ -91,7 +95,7 @@ object Scaffolds { Modifier.padding(end = 16.dp) ) { Icon( - painter = navigationIconPainter, + imageVector = navigationIcon, contentDescription = navigationContentDescription ) } @@ -112,7 +116,7 @@ private fun SettingsScaffoldPreview() { Scaffolds.Settings( "Settings Scaffold", onNavigationClick = {}, - navigationIconPainter = ColorPainter(Color.Black), + navigationIcon = Icons.Filled.Settings, actions = { IconButton(onClick = {}) { Icon(Icons.Default.Settings, contentDescription = null)