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 42bb57d1b5..0ecd55c7db 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 @@ -12,14 +12,13 @@ import androidx.compose.runtime.MutableState 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.vectorResource import androidx.navigation.fragment.findNavController import androidx.navigation.navGraphViewModels import org.signal.core.ui.compose.NightPreview import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -66,7 +65,7 @@ private fun Content( Scaffolds.Settings( title = "Conversation Test Springboard", onNavigationClick = onBackPressed, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { 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 a2bf7cbe83..b0bd2b74ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/InviteFragment.kt @@ -23,9 +23,7 @@ import androidx.compose.runtime.remember 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.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 @@ -33,6 +31,7 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.compose.ComposeFragment /** @@ -45,7 +44,7 @@ class InviteFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.AndroidManifest__invite_friends), onNavigationClick = { requireActivity().onNavigateUp() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> InviteScreen( @@ -100,7 +99,7 @@ fun InviteScreen( .padding(vertical = 16.dp) ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_share_android_24), + imageVector = SignalIcons.Share.imageVector, contentDescription = stringResource(R.string.InviteActivity_share) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index ca67edf322..54b63da660 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -189,6 +189,7 @@ import org.thoughtcrime.securesms.window.NavigationType import org.thoughtcrime.securesms.window.isSplitPane import org.thoughtcrime.securesms.window.rememberThreePaneScaffoldNavigatorDelegate import org.whispersystems.signalservice.api.websocket.WebSocketConnectionState +import org.signal.core.ui.R as CoreUiR class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner, MainNavigator.NavigatorProvider, Material3OnScrollHelperBinder, ConversationListFragment.Callback, CallLogFragment.Callback, GooglePayComponent { @@ -1104,7 +1105,7 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner Permissions.with(this@MainActivity) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), R.drawable.symbol_camera_24) + .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), CoreUiR.drawable.symbol_camera_24) .withPermanentDenialDialog( getString(R.string.CameraXFragment_signal_needs_camera_access_capture_photos), null, diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt index b290b5a48b..08f86496e8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt @@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.navigation.safeNavigate import org.thoughtcrime.securesms.util.visible +import org.signal.core.ui.R as CoreUiR /** * Primary Avatar picker fragment, displays current user avatar and a list of recently used avatars and defaults. @@ -231,7 +232,7 @@ class AvatarPickerFragment : Fragment(R.layout.avatar_picker_fragment) { val intent = AvatarSelectionActivity.getIntentForCameraCapture(requireContext()) startActivityForResult(intent, REQUEST_CODE_SELECT_IMAGE) } - .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_allow_camera), R.drawable.symbol_camera_24) + .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_allow_camera), CoreUiR.drawable.symbol_camera_24) .withPermanentDenialDialog(getString(R.string.AvatarSelectionBottomSheetDialogFragment__taking_a_photo_requires_the_camera_permission), null, R.string.CameraXFragment_allow_access_camera, R.string.CameraXFragment_to_capture_photos, getParentFragmentManager()) .onAnyDenied { Toast.makeText(requireContext(), R.string.AvatarSelectionBottomSheetDialogFragment__taking_a_photo_requires_the_camera_permission, Toast.LENGTH_SHORT).show() } .execute() diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertSheetComponents.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertSheetComponents.kt index 0b8ef95e09..b5c5fcf2d9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertSheetComponents.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/BackupAlertSheetComponents.kt @@ -33,6 +33,7 @@ import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.signal.core.ui.R as CoreUiR @@ -118,7 +119,7 @@ fun BackupAlertImage() { .padding(2.dp) ) Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_error_circle_fill_24), + imageVector = SignalIcons.ErrorCircle.imageVector, contentDescription = null, tint = MaterialTheme.colorScheme.error, modifier = Modifier.align(Alignment.TopEnd) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/MediaBackupsAreOffBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/MediaBackupsAreOffBottomSheet.kt index 38367db4e9..63392d0021 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/MediaBackupsAreOffBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/MediaBackupsAreOffBottomSheet.kt @@ -35,6 +35,7 @@ import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.gibiBytes import org.signal.core.util.money.FiatMoney import org.thoughtcrime.securesms.backup.v2.ui.subscription.MessageBackupsType @@ -105,7 +106,7 @@ private fun SheetContent( .padding(2.dp) ) Icon( - imageVector = ImageVector.vectorResource(org.thoughtcrime.securesms.R.drawable.symbol_error_circle_fill_24), + imageVector = SignalIcons.ErrorCircle.imageVector, contentDescription = null, tint = MaterialTheme.colorScheme.error, modifier = Modifier.align(Alignment.TopEnd) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveRestoreStatusBannerView.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveRestoreStatusBannerView.kt index 3bf01775ec..6618351f4f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveRestoreStatusBannerView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveRestoreStatusBannerView.kt @@ -37,12 +37,14 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.mebiBytes import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.RestoreState import org.thoughtcrime.securesms.backup.v2.ArchiveRestoreProgressState import org.thoughtcrime.securesms.backup.v2.ArchiveRestoreProgressState.RestoreStatus import org.thoughtcrime.securesms.backup.v2.ui.BackupsIconColors +import org.signal.core.ui.R as CoreUiR private const val NONE = -1 @@ -136,7 +138,7 @@ fun ArchiveRestoreStatusBanner( val interactionSource = remember { MutableInteractionSource() } Icon( - painter = painterResource(id = R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, contentDescription = stringResource(R.string.Material3SearchToolbar__close), tint = MaterialTheme.colorScheme.onSurfaceVariant, modifier = Modifier @@ -164,14 +166,14 @@ private fun ArchiveRestoreProgressState.iconResource(): Int { RestoreStatus.LOW_BATTERY -> R.drawable.symbol_backup_light RestoreStatus.NOT_ENOUGH_DISK_SPACE -> R.drawable.symbol_backup_error_24 - RestoreStatus.FINISHED -> R.drawable.symbol_check_circle_24 + RestoreStatus.FINISHED -> CoreUiR.drawable.symbol_check_circle_24 RestoreStatus.NONE -> throw IllegalStateException() } } RestoreState.NONE -> { if (this.restoreStatus == RestoreStatus.FINISHED) { - R.drawable.symbol_check_circle_24 + CoreUiR.drawable.symbol_check_circle_24 } else { throw IllegalStateException() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveUploadStatusBannerView.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveUploadStatusBannerView.kt index 76a370d790..6a0a862b85 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveUploadStatusBannerView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/ArchiveUploadStatusBannerView.kt @@ -41,8 +41,10 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.v2.ui.BackupsIconColors +import org.signal.core.ui.R as CoreUiR /** * Displays a "heads up" widget containing information about the current @@ -60,7 +62,7 @@ fun ArchiveUploadStatusBannerView( is ArchiveUploadStatusBannerViewState.Uploading -> R.drawable.symbol_backup_light is ArchiveUploadStatusBannerViewState.PausedMissingWifi -> R.drawable.symbol_backup_light is ArchiveUploadStatusBannerViewState.PausedNoInternet -> R.drawable.symbol_backup_light - is ArchiveUploadStatusBannerViewState.Finished -> R.drawable.symbol_check_circle_24 + is ArchiveUploadStatusBannerViewState.Finished -> CoreUiR.drawable.symbol_check_circle_24 } val iconColor: Color = when (state) { @@ -188,7 +190,7 @@ fun ArchiveUploadStatusBannerView( val interactionSource = remember { MutableInteractionSource() } Icon( - painter = painterResource(id = R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, contentDescription = stringResource(R.string.Material3SearchToolbar__close), tint = MaterialTheme.colorScheme.onSurfaceVariant, modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/BackupStatusRow.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/BackupStatusRow.kt index 0cac8b1f03..a34f896db3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/BackupStatusRow.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/status/BackupStatusRow.kt @@ -18,12 +18,12 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.mebiBytes import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.RestoreState @@ -89,7 +89,7 @@ fun BackupStatusRow( onClick = onCancelClick ) { Icon( - painter = painterResource(R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, contentDescription = stringResource(R.string.BackupStatusRow__cancel_download) ) } 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 dd859f816b..90d2a2131d 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,17 +22,16 @@ 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.unit.dp import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.compose.BetaHeader import org.thoughtcrime.securesms.components.compose.TextWithBetaLabel @@ -51,7 +50,7 @@ fun MessageBackupsEducationScreen( Scaffolds.Settings( onNavigationClick = onNavigationClick, navigationContentDescription = stringResource(android.R.string.cancel), - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_x_24), + navigationIcon = SignalIcons.X.imageVector, 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 a577717760..42b081129d 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 @@ -35,6 +35,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.signal.core.ui.R as CoreUiR @@ -50,7 +51,7 @@ fun MessageBackupsKeyEducationScreen( Scaffolds.Settings( title = "", - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = onNavigationClick ) { Column( @@ -82,7 +83,7 @@ fun MessageBackupsKeyEducationScreen( ) InfoRow( - R.drawable.symbol_lock_24, + CoreUiR.drawable.symbol_lock_24, R.string.MessageBackupsKeyEducationScreen__store_your_recovery ) 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 54ac488741..91a72e3b42 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 @@ -53,6 +53,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.horizontalGutters import org.signal.core.ui.compose.theme.SignalTheme @@ -103,7 +104,7 @@ fun MessageBackupsKeyRecordScreen( Scaffolds.Settings( title = "", - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 608a6c3c3c..d5b6876951 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 @@ -23,12 +23,10 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.vector.ImageVector 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.style.TextAlign import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch @@ -37,6 +35,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.keyvalue.SignalStore @@ -61,7 +60,7 @@ fun MessageBackupsKeyVerifyScreen( Scaffolds.Settings( title = stringResource(R.string.MessageBackupsKeyVerifyScreen__confirm_your_backup_key), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = onNavigationClick ) { paddingValues -> diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeFeature.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeFeature.kt index a59aef2841..59d451c6bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeFeature.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/subscription/MessageBackupsTypeFeature.kt @@ -21,7 +21,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews -import org.thoughtcrime.securesms.R +import org.signal.core.ui.R as CoreUiR /** * Represents a "Feature" included for a specify tier of message backups @@ -64,7 +64,7 @@ private fun MessageBackupsTypeFeatureRowPreview() { Previews.Preview { MessageBackupsTypeFeatureRow( messageBackupsTypeFeature = MessageBackupsTypeFeature( - iconResourceId = R.drawable.symbol_edit_24, + iconResourceId = CoreUiR.drawable.symbol_edit_24, label = "Content Label" ) ) 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 f3b07d56b9..eb1289ab69 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,14 +30,12 @@ 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.LinkAnnotation import androidx.compose.ui.text.SpanStyle @@ -52,6 +50,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.billing.BillingResponseCode import org.signal.core.util.bytes @@ -91,7 +90,7 @@ fun MessageBackupsTypeSelectionScreen( Scaffolds.Settings( title = "", onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> Column( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt index 732d4f43f5..943ddc0c46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt @@ -21,11 +21,9 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext 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 @@ -34,6 +32,7 @@ import androidx.fragment.app.FragmentManager import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R @@ -152,7 +151,7 @@ private fun MonthlyDonationCanceled( ) Image( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_error_circle_fill_24), + imageVector = SignalIcons.ErrorCircle.imageVector, contentScale = ContentScale.Inside, contentDescription = null, colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.error), diff --git a/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt b/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt index 0184d3a630..59400a6cc9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/banner/ui/compose/DefaultBanner.kt @@ -28,14 +28,13 @@ 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.res.colorResource 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 org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.isNotNullOrBlank import org.thoughtcrime.securesms.R @@ -148,7 +147,7 @@ fun DefaultBanner( modifier = Modifier.size(48.dp) ) { Icon( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_x_24), + imageVector = SignalIcons.X.imageVector, contentDescription = stringResource(id = R.string.InviteActivity_cancel), tint = when (importance) { Importance.NORMAL -> MaterialTheme.colorScheme.onSurfaceVariant 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 53cb5e8dec..524c4d2301 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 @@ -27,10 +27,8 @@ 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.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 @@ -43,6 +41,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel import kotlinx.coroutines.launch import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.BreakIteratorCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.calls.links.details.CallLinkDetailsViewModel @@ -134,7 +133,7 @@ private fun EditCallLinkNameScreen( title = stringResource(id = R.string.EditCallLinkNameDialogFragment__edit_call_name), onNavigationClick = onNavigationClick, navigationIcon = if (showNavigationIcon) { - ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + SignalIcons.ArrowStart.imageVector } else { null }, diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt index 6bc8b9c596..b6f976d9eb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/create/CreateCallLinkBottomSheetDialogFragment.kt @@ -26,10 +26,8 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue 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.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.core.app.ShareCompat @@ -43,6 +41,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.core.util.logging.Log import org.signal.ringrtc.CallLinkState @@ -290,19 +289,19 @@ private fun CreateCallLinkBottomSheetContent( Rows.TextRow( text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal), - icon = ImageVector.vectorResource(id = R.drawable.symbol_forward_24), + icon = SignalIcons.Forward.imageVector, onClick = onShareViaSignalClicked ) Rows.TextRow( text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link), - icon = ImageVector.vectorResource(id = R.drawable.symbol_copy_android_24), + icon = SignalIcons.Copy.imageVector, onClick = onCopyLinkClicked ) Rows.TextRow( text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link), - icon = ImageVector.vectorResource(id = R.drawable.symbol_share_android_24), + icon = SignalIcons.Share.imageVector, onClick = onShareLinkClicked ) 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 724960174a..a03ff113ab 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 @@ -21,9 +21,7 @@ import androidx.compose.runtime.LaunchedEffect 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.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.core.app.ShareCompat import androidx.fragment.app.FragmentActivity @@ -37,6 +35,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.ringrtc.CallLinkState.Restrictions @@ -199,7 +198,7 @@ fun CallLinkDetailsScreen( }, onNavigationClick = callback::onNavigationClicked, navigationIcon = if (showNavigationIcon) { - ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + SignalIcons.ArrowStart.imageVector } else { null } @@ -253,7 +252,7 @@ fun CallLinkDetailsScreen( item { Rows.TextRow( text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__share_link_via_signal), - icon = ImageVector.vectorResource(id = R.drawable.symbol_forward_24), + icon = SignalIcons.Forward.imageVector, onClick = callback::onShareLinkViaSignalClicked ) } @@ -261,7 +260,7 @@ fun CallLinkDetailsScreen( item { Rows.TextRow( text = stringResource(id = R.string.CreateCallLinkBottomSheetDialogFragment__copy_link), - icon = ImageVector.vectorResource(id = R.drawable.symbol_copy_android_24), + icon = SignalIcons.Copy.imageVector, onClick = callback::onCopyClicked ) } @@ -269,7 +268,7 @@ fun CallLinkDetailsScreen( item { Rows.TextRow( text = stringResource(id = R.string.CallLinkDetailsFragment__share_link), - icon = ImageVector.vectorResource(id = R.drawable.symbol_link_24), + icon = SignalIcons.Link.imageVector, onClick = callback::onShareClicked ) } @@ -277,7 +276,7 @@ fun CallLinkDetailsScreen( item { Rows.TextRow( text = stringResource(id = R.string.CallLinkDetailsFragment__delete_call_link), - icon = ImageVector.vectorResource(id = R.drawable.symbol_trash_24), + icon = SignalIcons.Trash.imageVector, foregroundTint = MaterialTheme.colorScheme.error, onClick = callback::onDeleteClicked ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt index 28b5513221..9f62e5e896 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt @@ -26,6 +26,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.PagingMappingAdapter import org.thoughtcrime.securesms.util.setRelativeDrawables import org.thoughtcrime.securesms.util.visible import java.util.Locale +import org.signal.core.ui.R as CoreUiR /** * RecyclerView Adapter for the Call Log screen @@ -390,7 +391,7 @@ class CallLogAdapter( private fun presentCallType(model: CallModel) { when (model.call.record.type) { CallTable.Type.AUDIO_CALL -> { - binding.callType.setImageResource(R.drawable.symbol_phone_24) + binding.callType.setImageResource(CoreUiR.drawable.symbol_phone_24) binding.callType.contentDescription = context.getString(R.string.CallLogAdapter__start_a_voice_call) binding.callType.setOnClickListener { onStartAudioCallClicked(model.call.peer) } binding.callType.visible = true diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt index a18d138420..d131980e60 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt @@ -17,6 +17,7 @@ import org.thoughtcrime.securesms.conversation.ConversationIntents import org.thoughtcrime.securesms.database.CallTable import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.util.CommunicationActions +import org.signal.core.ui.R as CoreUiR /** * Context menu for row items on the Call Log screen. @@ -88,7 +89,7 @@ class CallLogContextMenu( } return ActionItem( - iconRes = R.drawable.symbol_phone_24, + iconRes = CoreUiR.drawable.symbol_phone_24, title = fragment.getString(R.string.CallContextMenu__audio_call) ) { CommunicationActions.startVoiceCall(fragment, call.peer) { @@ -114,7 +115,7 @@ class CallLogContextMenu( private fun getInfoActionItem(peer: Recipient, messageIds: LongArray): ActionItem { return ActionItem( - iconRes = R.drawable.symbol_info_24, + iconRes = CoreUiR.drawable.symbol_info_24, title = fragment.getString(R.string.CallContextMenu__info) ) { val intent = when { @@ -127,7 +128,7 @@ class CallLogContextMenu( private fun getSelectActionItem(call: CallLogRow): ActionItem { return ActionItem( - iconRes = R.drawable.symbol_check_circle_24, + iconRes = CoreUiR.drawable.symbol_check_circle_24, title = fragment.getString(R.string.CallContextMenu__select) ) { callbacks.startSelection(call) @@ -140,7 +141,7 @@ class CallLogContextMenu( } return ActionItem( - iconRes = R.drawable.symbol_trash_24, + iconRes = CoreUiR.drawable.symbol_trash_24, title = fragment.getString(R.string.CallContextMenu__delete) ) { callbacks.deleteCall(call) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt index 9050a8d516..e4efddf1e6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt @@ -65,6 +65,7 @@ import org.thoughtcrime.securesms.util.visible import org.thoughtcrime.securesms.window.getWindowSizeClass import org.thoughtcrime.securesms.window.isSplitPane import java.util.Objects +import org.signal.core.ui.R as CoreUiR /** * Call Log tab. @@ -161,13 +162,13 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal binding.bottomActionBar.setItems( listOf( ActionItem( - iconRes = R.drawable.symbol_check_circle_24, + iconRes = CoreUiR.drawable.symbol_check_circle_24, title = getString(R.string.CallLogFragment__select_all) ) { viewModel.selectAll() }, ActionItem( - iconRes = R.drawable.symbol_trash_24, + iconRes = CoreUiR.drawable.symbol_trash_24, title = getString(R.string.CallLogFragment__delete), action = this::handleDeleteSelectedRows ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualityDiagnosticsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualityDiagnosticsScreen.kt index 4818236407..0f4752aa9d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualityDiagnosticsScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualityDiagnosticsScreen.kt @@ -16,14 +16,13 @@ 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.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.storageservice.protos.calls.quality.SubmitCallQualitySurveyRequest import org.thoughtcrime.securesms.R @@ -35,7 +34,7 @@ fun CallQualityDiagnosticsScreen( ) { Scaffolds.Settings( title = stringResource(R.string.CallQualityDiagnosticsScreen__diagnostic_information), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.CallQualityDiagnosticsScreen__close), onNavigationClick = onNavigationClick ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualitySomethingElseScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualitySomethingElseScreen.kt index d40aa17f5a..868e95f9ba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualitySomethingElseScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/quality/CallQualitySomethingElseScreen.kt @@ -23,12 +23,11 @@ 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.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.TextFields import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R @@ -41,7 +40,7 @@ fun CallQualitySomethingElseScreen( ) { Scaffolds.Settings( title = stringResource(R.string.CallQualitySomethingElseScreen__title), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = onCancelClick, navigationContentDescription = stringResource(R.string.CallQualitySomethingElseScreen__back), modifier = Modifier.imePadding() diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java b/app/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java index c29bf61aae..c0092cfe69 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/SearchToolbar.java @@ -18,11 +18,14 @@ import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; +import org.signal.core.ui.compose.SignalIcons; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.animation.AnimationCompleteListener; import org.thoughtcrime.securesms.util.EditTextExtensionsKt; import org.thoughtcrime.securesms.util.TextSecurePreferences; +import java.util.Objects; + public class SearchToolbar extends LinearLayout { private float x, y; @@ -50,7 +53,7 @@ public class SearchToolbar extends LinearLayout { Toolbar toolbar = findViewById(R.id.toolbar); - Drawable drawable = ContextCompat.getDrawable(getContext(), R.drawable.symbol_arrow_start_24); + Drawable drawable = ContextCompat.getDrawable(getContext(), org.signal.core.ui.R.drawable.symbol_arrow_start_24); toolbar.setNavigationIcon(drawable); toolbar.setCollapseIcon(drawable); toolbar.inflateMenu(R.menu.conversation_list_search); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBar.kt b/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBar.kt index 4bf2ae349e..c2d9cba5d0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBar.kt @@ -14,12 +14,11 @@ import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -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.PreviewLightDark import org.signal.core.ui.compose.IconButtons import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R /** @@ -40,7 +39,7 @@ fun ActionModeTopBar( navigationIcon = { IconButtons.IconButton(onClick = onCloseClick) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_x_24), + imageVector = SignalIcons.X.imageVector, contentDescription = stringResource(R.string.CallScreenTopBar__go_back) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt b/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt index d83287d2a5..47f66ad8f6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/compose/Beta.kt @@ -16,15 +16,14 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha -import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -82,7 +81,7 @@ fun BetaHeader(modifier: Modifier = Modifier) { .padding(16.dp) ) { Icon( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_info_24), + imageVector = SignalIcons.Info.imageVector, contentDescription = stringResource(id = R.string.Beta__info), tint = MaterialTheme.colorScheme.onPrimaryContainer ) 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 132f637d46..f0ba05716d 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 @@ -28,13 +28,11 @@ import androidx.compose.runtime.rememberUpdatedState 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.platform.LocalInspectionMode import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDirection @@ -55,6 +53,7 @@ import org.signal.core.ui.compose.IconButtons import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -206,7 +205,7 @@ private fun AppSettingsContent( Scaffolds.Settings( title = stringResource(R.string.text_secure_normal__menu_settings), navigationContentDescription = stringResource(R.string.CallScreenTopBar__go_back), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = callbacks::onNavigationClick ) { contentPadding -> Column( @@ -278,7 +277,7 @@ private fun AppSettingsContent( Rows.TextRow( text = stringResource(R.string.AppSettingsFragment__backup_storage_limit_reached), - icon = ImageVector.vectorResource(R.drawable.symbol_error_circle_fill_24), + icon = SignalIcons.ErrorCircle.imageVector, iconTint = MaterialTheme.colorScheme.error, onClick = { callbacks.navigate(AppSettingsRoute.BackupsRoute.Remote()) @@ -404,7 +403,7 @@ private fun AppSettingsContent( item { Rows.TextRow( text = stringResource(R.string.preferences__privacy), - icon = painterResource(R.drawable.symbol_lock_24), + icon = SignalIcons.Lock.painter, onClick = { callbacks.navigate(AppSettingsRoute.PrivacyRoute.Privacy) }, @@ -424,7 +423,7 @@ private fun AppSettingsContent( }, icon = { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_backup_24), + imageVector = SignalIcons.Backup.imageVector, contentDescription = stringResource(R.string.preferences_chats__backups), tint = MaterialTheme.colorScheme.onSurface ) @@ -560,7 +559,7 @@ private fun BackupsWarningRow( icon = { Box { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_backup_24), + imageVector = SignalIcons.Backup.imageVector, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) @@ -675,7 +674,7 @@ private fun BioRow( ) ) { Icon( - painter = painterResource(R.drawable.symbol_qrcode_24), + painter = SignalIcons.QrCode.painter, contentDescription = null, modifier = Modifier.size(20.dp) ) 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 fa86e5cc08..cb61e749b8 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,10 +23,8 @@ 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 @@ -40,6 +38,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.core.util.logging.Log @@ -95,7 +94,7 @@ class ExportAccountDataFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.AccountSettingsFragment__request_account_data), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding -> Surface( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt index cce14aeaa3..697b88566f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt @@ -9,11 +9,9 @@ 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.res.integerArrayResource import androidx.compose.ui.res.stringArrayResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.fragment.findNavController @@ -22,6 +20,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.appearance.navbar.ChooseNavigationBarStyleFragment import org.thoughtcrime.securesms.compose.ComposeFragment @@ -110,7 +109,7 @@ private fun AppearanceSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences__appearance), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( modifier = Modifier 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 335d3a0701..287509593e 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,10 +37,8 @@ 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 @@ -52,6 +50,7 @@ import kotlinx.collections.immutable.toImmutableList import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.appearance.appicon.util.AppIconPreset @@ -74,7 +73,7 @@ class AppIconSelectionFragment : ComposeFragment() { onNavigationClick = { findNavController().popBackStack() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 5bc088947b..cdd1ea7127 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,17 +22,16 @@ 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.unit.dp import androidx.navigation.fragment.findNavController import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -46,7 +45,7 @@ class AppIconTutorialFragment : ComposeFragment() { onNavigationClick = { findNavController().popBackStack() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 1e9726c669..b11d882a51 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 @@ -29,12 +29,9 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue 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.res.dimensionResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -46,6 +43,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.money.FiatMoney import org.thoughtcrime.securesms.R @@ -121,7 +119,7 @@ private fun BackupsSettingsContent( ) { Scaffolds.Settings( title = stringResource(R.string.preferences_chats__backups), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = onNavigationClick ) { paddingValues -> LazyColumn( @@ -129,7 +127,7 @@ private fun BackupsSettingsContent( ) { if (backupsSettingsState.showBackupTierInternalOverride) { item { - Column(modifier = Modifier.padding(horizontal = dimensionResource(id = org.signal.core.ui.R.dimen.gutter))) { + Column(modifier = Modifier.padding(horizontal = dimensionResource(id = CoreUiR.dimen.gutter))) { Text( text = "ALPHA ONLY", style = MaterialTheme.typography.titleMedium @@ -270,7 +268,7 @@ private fun NeverEnabledBackupsRow( .align(Alignment.Top) ) { Icon( - painter = painterResource(R.drawable.symbol_backup_24), + painter = SignalIcons.Backup.painter, contentDescription = null ) } @@ -338,7 +336,7 @@ private fun InactiveBackupsRow( }, icon = { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_backup_24), + imageVector = SignalIcons.Backup.imageVector, contentDescription = stringResource(R.string.preferences_chats__backups), tint = MaterialTheme.colorScheme.onSurface, modifier = Modifier @@ -362,7 +360,7 @@ private fun NotFoundBackupRow( .align(Alignment.Top) ) { Icon( - painter = painterResource(R.drawable.symbol_backup_24), + painter = SignalIcons.Backup.painter, contentDescription = null ) } @@ -448,7 +446,7 @@ private fun LocalStoreBackupRow( .align(Alignment.Top) ) { Icon( - painter = painterResource(R.drawable.symbol_backup_24), + painter = SignalIcons.Backup.painter, contentDescription = null ) } @@ -493,7 +491,7 @@ private fun ActiveBackupsRow( .align(Alignment.Top) ) { Icon( - painter = painterResource(R.drawable.symbol_backup_24), + painter = SignalIcons.Backup.painter, contentDescription = null ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/local/InternalNewLocalBackupCreateFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/local/InternalNewLocalBackupCreateFragment.kt index 9f8291d6d0..dcf2d20122 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/local/InternalNewLocalBackupCreateFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/backups/local/InternalNewLocalBackupCreateFragment.kt @@ -23,9 +23,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.vectorResource import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.flow.map import org.greenrobot.eventbus.EventBus @@ -35,6 +33,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.v2.LocalBackupV2Event @@ -207,7 +206,7 @@ private fun InternalLocalBackupScreen( ) { Scaffolds.Settings( title = "New Local Backups", - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, onNavigationClick = callback::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 71f9b84d22..b0a6a38d48 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 @@ -55,7 +55,6 @@ import androidx.compose.runtime.setValue 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.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.colorResource @@ -63,12 +62,10 @@ 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.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.fragment.app.setFragmentResultListener import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -82,6 +79,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.horizontalGutters @@ -448,7 +446,7 @@ private fun RemoteBackupsSettingsContent( Text(text = title, style = MaterialTheme.typography.titleLarge) }, onNavigationClick = contentCallbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), scrollBehavior = scrollBehavior ) @@ -1178,7 +1176,7 @@ private fun OutOfStorageSpaceBlock( .padding(vertical = 12.dp) ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_error_circle_fill_24), + imageVector = SignalIcons.ErrorCircle.imageVector, tint = MaterialTheme.colorScheme.error, contentDescription = null, modifier = Modifier @@ -1485,7 +1483,7 @@ private fun ArchiveProgressIndicator( if (isCancelable) { IconButton(onClick = cancel) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_x_24), + imageVector = SignalIcons.X.imageVector, contentDescription = stringResource(R.string.RemoteBackupsSettingsFragment__cancel_upload) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt index 0b887cc5fe..0e1517170e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsFragment.kt @@ -6,10 +6,8 @@ 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.res.pluralStringResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.fragment.findNavController @@ -18,6 +16,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -109,7 +108,7 @@ private fun ChatsSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences_chats__chats), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFolderContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFolderContextMenu.kt index 27d87701d3..253cb18b2d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFolderContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFolderContextMenu.kt @@ -7,6 +7,7 @@ import org.signal.core.util.DimensionUnit import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.menu.ActionItem import org.thoughtcrime.securesms.components.menu.SignalContextMenu +import org.signal.core.ui.R as CoreUiR /** * A context menu shown when long pressing on a chat folder. @@ -86,7 +87,7 @@ object ChatFolderContextMenu { ) } else { add( - ActionItem(R.drawable.symbol_edit_24, context.getString(R.string.ChatFoldersFragment__edit_folder)) { + ActionItem(CoreUiR.drawable.symbol_edit_24, context.getString(R.string.ChatFoldersFragment__edit_folder)) { callbacks.onEdit() } ) 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 5c90216188..40cacd2558 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 @@ -50,6 +50,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.copied.androidx.compose.DragAndDropEvent import org.signal.core.ui.compose.copied.androidx.compose.DraggableItem import org.signal.core.ui.compose.copied.androidx.compose.dragContainer @@ -76,7 +77,7 @@ class ChatFoldersFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.ChatsSettingsFragment__chat_folders), onNavigationClick = { requireActivity().onNavigateUp() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> FoldersScreen( @@ -369,7 +370,7 @@ fun FolderRow( .padding(horizontal = 16.dp, vertical = 12.dp) ) { Icon( - painter = painterResource(id = R.drawable.symbol_edit_24), + painter = SignalIcons.Edit.painter, contentDescription = null ) Text( @@ -387,7 +388,7 @@ fun FolderRow( .padding(horizontal = 16.dp, vertical = 12.dp) ) { Icon( - painter = painterResource(id = R.drawable.symbol_trash_24), + painter = SignalIcons.Trash.painter, contentDescription = null ) Text( 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 8fb869da74..9a536d265d 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 @@ -55,6 +55,7 @@ import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage import org.thoughtcrime.securesms.compose.ComposeFragment @@ -118,7 +119,7 @@ class CreateFoldersFragment : ComposeFragment() { requireActivity().onNavigateUp() } }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> CreateFolderScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsFragment.kt index e877c0eda2..67b2d72faf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsFragment.kt @@ -8,11 +8,9 @@ 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.platform.LocalContext import androidx.compose.ui.res.stringArrayResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.fragment.findNavController @@ -22,6 +20,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.bytes import org.thoughtcrime.securesms.R @@ -114,7 +113,7 @@ private fun DataAndStorageSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences__data_and_storage), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( modifier = Modifier 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 d9aaa7e2d6..7fb12a38b3 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 @@ -24,6 +24,7 @@ import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Rows.TextAndLabel import org.signal.core.ui.compose.Rows.defaultPadding import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.BuildConfig import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -41,7 +42,7 @@ class HelpSettingsFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(R.string.preferences__help), onNavigationClick = { navController.popBackStack() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 700b2b9414..894eb21260 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,9 +14,7 @@ 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.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.navigation.fragment.findNavController import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers @@ -25,6 +23,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -48,7 +47,7 @@ class LicenseFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.HelpSettingsFragment__licenses), onNavigationClick = findNavController()::popBackStack, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 f4b4a2579d..7595c649bd 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,8 +21,6 @@ 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.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 @@ -30,7 +28,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds -import org.thoughtcrime.securesms.R +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.components.settings.app.internal.donor.DonationErrorValueCodeSelector import org.thoughtcrime.securesms.components.settings.app.internal.donor.DonationErrorValueTypeSelector import org.thoughtcrime.securesms.compose.ComposeFragment @@ -110,7 +108,7 @@ private fun Content( ) { Scaffolds.Settings( title = "One-time donation state", - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = null, onNavigationClick = onNavigationClick ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt index 5cdd25b5bc..f7834443b9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt @@ -7,14 +7,13 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.runtime.Composable 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 org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.compose.SignalTheme @@ -101,7 +100,7 @@ fun InternalStoryDialogLauncherScreen( Scaffolds.Settings( title = stringResource(R.string.preferences__internal_stories_dialog_launcher), onNavigationClick = callback::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( modifier = Modifier.padding(paddingValues) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/backup/InternalBackupPlaygroundFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/backup/InternalBackupPlaygroundFragment.kt index bc78c71a84..66affe5ff5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/backup/InternalBackupPlaygroundFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/backup/InternalBackupPlaygroundFragment.kt @@ -44,7 +44,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization @@ -63,13 +62,13 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.TextFields.TextField import org.signal.core.util.Base64 import org.signal.core.util.Hex import org.signal.core.util.getLength import org.thoughtcrime.securesms.MainActivity -import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.v2.BackupRepository import org.thoughtcrime.securesms.backup.v2.ui.BackupAlert import org.thoughtcrime.securesms.backup.v2.ui.BackupAlertBottomSheet @@ -308,7 +307,7 @@ fun Tabs( navigationIcon = { IconButton(onClick = onBack) { Icon( - painter = painterResource(R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/dataseeding/DataSeedingPlaygroundFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/dataseeding/DataSeedingPlaygroundFragment.kt index cbbe93fcbf..15ecce8991 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/dataseeding/DataSeedingPlaygroundFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/dataseeding/DataSeedingPlaygroundFragment.kt @@ -44,7 +44,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels @@ -53,7 +52,7 @@ import androidx.navigation.fragment.findNavController import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows -import org.thoughtcrime.securesms.R +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.database.model.ThreadRecord @@ -127,7 +126,7 @@ fun Screen( navigationIcon = { IconButton(onClick = onBack) { Icon( - painter = painterResource(R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt index 02a1890f4c..341152aace 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt @@ -14,9 +14,7 @@ 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.platform.LocalContext -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -25,8 +23,8 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.donations.StripeDeclineCode -import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.models.Badge import org.thoughtcrime.securesms.components.settings.app.subscription.errors.UnexpectedSubscriptionCancellation import org.thoughtcrime.securesms.compose.ComposeFragment @@ -102,7 +100,7 @@ fun InternalDonorErrorConfigurationScreen( Scaffolds.Settings( title = "Donor Error Configuration", onNavigationClick = callback::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> Column( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/sqlite/InternalSqlitePlaygroundFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/sqlite/InternalSqlitePlaygroundFragment.kt index ea34ef7510..f54a882561 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/sqlite/InternalSqlitePlaygroundFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/sqlite/InternalSqlitePlaygroundFragment.kt @@ -37,7 +37,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow @@ -49,8 +48,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.libsignal.protocol.util.Hex -import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.internal.sqlite.InternalSqlitePlaygroundViewModel.QueryResult import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.util.Util @@ -85,7 +84,7 @@ private fun Screen( navigationIcon = { IconButton(onClick = onBackPressed) { Icon( - painter = painterResource(R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/storage/InternalStorageServicePlaygroundFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/storage/InternalStorageServicePlaygroundFragment.kt index e047a93035..d4c8aeb717 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/storage/InternalStorageServicePlaygroundFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/storage/InternalStorageServicePlaygroundFragment.kt @@ -34,7 +34,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels @@ -46,8 +45,8 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Rows.TextAndLabel +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.Hex -import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.internal.storage.InternalStorageServicePlaygroundViewModel.OneOffEvent import org.thoughtcrime.securesms.components.settings.app.internal.storage.InternalStorageServicePlaygroundViewModel.StorageInsights import org.thoughtcrime.securesms.compose.ComposeFragment @@ -106,7 +105,7 @@ fun Screen( navigationIcon = { IconButton(onClick = onBackPressed) { Icon( - painter = painterResource(R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt index 4d0017854e..38075fb979 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt @@ -24,11 +24,9 @@ import androidx.compose.runtime.remember 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.res.colorResource import androidx.compose.ui.res.stringArrayResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentActivity @@ -44,6 +42,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R @@ -300,7 +299,7 @@ fun NotificationsSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences__notifications), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { LazyColumn( modifier = Modifier.padding(it) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/AddAllowedMembersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/AddAllowedMembersFragment.kt index e983645953..7fa80bf8bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/AddAllowedMembersFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/AddAllowedMembersFragment.kt @@ -14,9 +14,7 @@ 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.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 @@ -31,6 +29,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.horizontalGutters @@ -158,7 +157,7 @@ private fun AddAllowedMembersContent( Scaffolds.Settings( title = "", onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, snackbarHost = { Snackbars.Host(snackbarHostState) } @@ -229,7 +228,7 @@ private fun AddAllowedMembersContent( Rows.ToggleRow( checked = state.profile.allowAllCalls, text = stringResource(R.string.AddAllowedMembers__allow_all_calls), - icon = ImageVector.vectorResource(R.drawable.symbol_phone_24), + icon = SignalIcons.Phone.imageVector, onCheckChanged = callbacks::onAllowAllCallsChanged ) } @@ -238,7 +237,7 @@ private fun AddAllowedMembersContent( Rows.ToggleRow( checked = state.profile.allowAllMentions, text = stringResource(R.string.AddAllowedMembers__notify_for_all_mentions), - icon = ImageVector.vectorResource(R.drawable.symbol_at_24), + icon = SignalIcons.At.imageVector, onCheckChanged = callbacks::onNotifyForAllMentionsChanged ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfileDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfileDetailsFragment.kt index dd3cdd38ac..a20e42ec0c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfileDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfileDetailsFragment.kt @@ -37,6 +37,7 @@ import org.thoughtcrime.securesms.util.orderOfDaysInWeek import java.time.DayOfWeek import java.time.format.TextStyle import java.util.Locale +import org.signal.core.ui.R as CoreUiR private const val MEMBER_COUNT_TO_SHOW_EXPAND: Int = 5 @@ -180,7 +181,7 @@ class NotificationProfileDetailsFragment : DSLSettingsFragment() { switchPref( title = DSLSettingsText.from(R.string.NotificationProfileDetails__allow_all_calls), isChecked = profile.allowAllCalls, - icon = DSLSettingsIcon.from(R.drawable.symbol_phone_24), + icon = DSLSettingsIcon.from(CoreUiR.drawable.symbol_phone_24), onClick = { lifecycleDisposable += viewModel.toggleAllowAllCalls() .subscribe() @@ -188,7 +189,7 @@ class NotificationProfileDetailsFragment : DSLSettingsFragment() { ) switchPref( title = DSLSettingsText.from(R.string.NotificationProfileDetails__notify_for_all_mentions), - icon = DSLSettingsIcon.from(R.drawable.symbol_at_24), + icon = DSLSettingsIcon.from(CoreUiR.drawable.symbol_at_24), isChecked = profile.allowAllMentions, onClick = { lifecycleDisposable += viewModel.toggleAllowAllMentions() @@ -199,7 +200,7 @@ class NotificationProfileDetailsFragment : DSLSettingsFragment() { dividerPref() clickPref( title = DSLSettingsText.from(R.string.NotificationProfileDetails__delete_profile, ContextCompat.getColor(requireContext(), R.color.signal_alert_primary)), - icon = DSLSettingsIcon.from(R.drawable.symbol_trash_24, R.color.signal_alert_primary), + icon = DSLSettingsIcon.from(CoreUiR.drawable.symbol_trash_24, R.color.signal_alert_primary), onClick = { MaterialAlertDialogBuilder(requireContext()) .setMessage(R.string.NotificationProfileDetails__permanently_delete_profile) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfilesFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfilesFragment.kt index 0a849a2922..d342c77192 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfilesFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/NotificationProfilesFragment.kt @@ -22,10 +22,8 @@ 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.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 androidx.fragment.app.viewModels @@ -35,6 +33,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R @@ -98,7 +97,7 @@ fun NotificationProfilesScreen( Scaffolds.Settings( title = title, onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.Material3SearchToolbar__close) ) { paddingValues -> if (state.profiles.isEmpty()) { @@ -123,7 +122,7 @@ fun NotificationProfilesScreen( }, icon = { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_plus_24), + imageVector = SignalIcons.Plus.imageVector, contentDescription = null, modifier = Modifier .size(40.dp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsFragment.kt index 592413f1cc..92d11c54fc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsFragment.kt @@ -39,6 +39,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -174,7 +175,7 @@ private fun AdvancedPrivacySettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences__advanced), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt index 072612388f..024e36aefb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt @@ -20,10 +20,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue 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.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import androidx.navigation.fragment.NavHostFragment @@ -34,6 +32,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -133,7 +132,7 @@ fun ExpireTimerSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.PrivacySettingsFragment__disappearing_messages), onNavigationClick = callback::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> Box( modifier = Modifier 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 0524fb3311..1952bc9a21 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 @@ -14,11 +14,9 @@ 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.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 @@ -30,6 +28,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.showSnackbar @@ -106,7 +105,7 @@ private fun Screen( Scaffolds.Settings( title = stringResource(id = R.string.preferences_app_protection__phone_number), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 dce4fdbb00..df7aa71c1d 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,11 +32,9 @@ 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 @@ -47,6 +45,7 @@ import androidx.navigation.fragment.findNavController import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.BiometricDeviceAuthentication import org.thoughtcrime.securesms.BiometricDeviceLockContract @@ -114,7 +113,7 @@ class ScreenLockSettingsFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.preferences_app_protection__screen_lock), onNavigationClick = { navController.popBackStack() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 af88e0457c..27fa793083 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,12 +32,9 @@ 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 @@ -61,6 +58,7 @@ import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Rows.TextAndLabel import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.bytes import org.thoughtcrime.securesms.R @@ -275,7 +273,7 @@ private fun ManageStorageSettingsScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__storage), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { contentPadding -> Column( modifier = Modifier @@ -380,7 +378,7 @@ private fun SetKeepMessagesScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__keep_messages), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { contentPadding -> Column( modifier = Modifier @@ -420,7 +418,7 @@ private fun SetChatLengthLimitScreen( Scaffolds.Settings( title = stringResource(id = R.string.preferences__conversation_length_limit), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { contentPadding -> Column( modifier = Modifier @@ -467,7 +465,7 @@ private fun SetChatLengthLimitScreen( ) Icon( - painter = painterResource(id = R.drawable.symbol_settings_android_24), + painter = SignalIcons.Settings.painter, contentDescription = null, modifier = Modifier .clickable { onCustomSelected(currentLimit) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt index 78a3aeb983..a39da650e6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt @@ -28,7 +28,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -38,6 +37,7 @@ import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.BadgeRepository import org.thoughtcrime.securesms.badges.models.Badge @@ -172,7 +172,7 @@ private fun DonationPaymentFailureBottomSheet( ) Icon( - painter = painterResource(id = R.drawable.symbol_error_circle_fill_24), + painter = SignalIcons.ErrorCircle.painter, tint = MaterialTheme.colorScheme.error, contentDescription = null, modifier = Modifier.align(Alignment.TopEnd) 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 52b0e50c10..62969d5d4d 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,10 +31,8 @@ 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.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 @@ -52,6 +50,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R @@ -222,7 +221,7 @@ private fun BankTransferDetailsContent( Scaffolds.Settings( title = "Bank transfer", onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { 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 7714c6519c..dda386ad3b 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,10 +25,8 @@ 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.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 @@ -46,6 +44,7 @@ import androidx.navigation.navGraphViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R @@ -221,7 +220,7 @@ private fun IdealTransferDetailsContent( Scaffolds.Settings( title = stringResource(id = R.string.GatewaySelectorBottomSheet__ideal), onNavigationClick = onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { val focusManager = LocalFocusManager.current diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt index 2f09587ad3..a64ed0ee62 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt @@ -39,13 +39,10 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.layout.ContentScale 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 androidx.lifecycle.lifecycleScope @@ -56,6 +53,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -174,7 +172,7 @@ fun BankTransferScreen( Modifier.padding(end = 16.dp) ) { Icon( - painter = rememberVectorPainter(ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24)), + painter = SignalIcons.ArrowStart.painter, contentDescription = null ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/updates/AppUpdatesSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/updates/AppUpdatesSettingsFragment.kt index 4ee4dd7731..be5e724b7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/updates/AppUpdatesSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/updates/AppUpdatesSettingsFragment.kt @@ -12,15 +12,14 @@ 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.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.compose.rememberStatusBarColorNestedScrollModifier @@ -87,7 +86,7 @@ private fun AppUpdatesSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.preferences_app_updates__title), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> LazyColumn( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt index fb1adb1e10..6244df2401 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt @@ -38,6 +38,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R /** @@ -137,7 +138,7 @@ fun QrCodeBadge( ) { if (usernameCopyable) { Image( - painter = painterResource(id = R.drawable.symbol_copy_android_24), + painter = SignalIcons.Copy.painter, contentDescription = null, colorFilter = if (colorScheme == UsernameQrCodeColorScheme.White) { ColorFilter.tint(Color.Black) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt index d257bd9696..19c69b48f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt @@ -34,7 +34,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.nestedscroll.nestedScroll -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels @@ -45,6 +44,7 @@ import kotlinx.collections.immutable.toImmutableList import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeBadge import org.thoughtcrime.securesms.components.settings.app.usernamelinks.UsernameQrCodeColorScheme @@ -121,7 +121,7 @@ class UsernameLinkQrColorPickerFragment : ComposeFragment() { navigationIcon = { IconButton(onClick = onBackClicked) { Icon( - painter = painterResource(R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt index a4dfe254ed..e5b1986c8f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt @@ -43,7 +43,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.core.app.ShareCompat @@ -65,6 +64,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.concurrent.LifecycleDisposable @@ -306,7 +306,7 @@ private fun TopAppBarContent( onClick = onBackNavigationPressed ) { Icon( - painter = painterResource(R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, contentDescription = stringResource(android.R.string.cancel) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt index 1fbfbea45c..b834cb7fb8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt @@ -23,7 +23,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -32,6 +31,7 @@ import androidx.fragment.app.FragmentManager import androidx.fragment.app.setFragmentResult import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.webrtc.requests.CallLinkIncomingRequestSheet import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -94,7 +94,7 @@ private fun Content( .padding(all = 16.dp) ) ButtonRow( - icon = painterResource(R.drawable.symbol_copy_android_24), + icon = SignalIcons.Copy.painter, text = stringResource(R.string.UsernameLinkShareBottomSheet_copy_link), modifier = Modifier.padding(top = 12.dp), onClick = { @@ -103,7 +103,7 @@ private fun Content( } ) ButtonRow( - icon = painterResource(R.drawable.symbol_share_android_24), + icon = SignalIcons.Share.painter, text = stringResource(R.string.UsernameLinkShareBottomSheet_share), modifier = Modifier.padding(bottom = 12.dp), onClick = { @@ -163,7 +163,7 @@ private fun ContentPreview() { private fun ButtonRowPreview() { Previews.Preview { Surface { - ButtonRow(icon = painterResource(R.drawable.symbol_share_android_24), text = "Share") + ButtonRow(icon = SignalIcons.Share.painter, text = "Share") } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt index a39905282f..529be43d59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt @@ -24,7 +24,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow @@ -36,6 +35,7 @@ import kotlinx.coroutines.launch import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeBadge import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeData @@ -46,6 +46,7 @@ import org.thoughtcrime.securesms.util.Util import org.thoughtcrime.securesms.util.navigation.safeNavigate import org.whispersystems.signalservice.api.push.UsernameLinkComponents import java.util.UUID +import org.signal.core.ui.R as CoreUiR /** * A screen that shows all the data around your username link and how to share it, including a QR code. @@ -149,12 +150,12 @@ private fun ButtonBar( Buttons.ActionButton( enabled = linkState is UsernameLinkState.Present, onClick = onLinkClicked, - iconResId = R.drawable.symbol_link_24, + iconResId = CoreUiR.drawable.symbol_link_24, labelResId = R.string.UsernameLinkSettings_link_button_label ) Buttons.ActionButton( onClick = onShareClicked, - iconResId = R.drawable.symbol_share_android_24, + iconResId = CoreUiR.drawable.symbol_share_android_24, labelResId = R.string.UsernameLinkSettings_share_button_label ) Buttons.ActionButton( @@ -189,7 +190,7 @@ private fun LinkRow(linkState: UsernameLinkState, onClick: () -> Unit = {}) { .alpha(if (linkState is UsernameLinkState.Present) 1.0f else 0.6f) ) { Image( - painter = painterResource(id = R.drawable.symbol_link_24), + painter = SignalIcons.Link.painter, contentDescription = null, colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onBackground) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt index bf9dace14d..ad55e66d4a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt @@ -27,7 +27,6 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.lifecycle.LifecycleOwner import com.google.accompanist.permissions.ExperimentalPermissionsApi @@ -38,6 +37,7 @@ import com.google.accompanist.permissions.rememberMultiplePermissionsState import com.google.accompanist.permissions.rememberPermissionState import io.reactivex.rxjava3.disposables.CompositeDisposable import org.signal.core.ui.compose.Dialogs +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.R @@ -166,7 +166,7 @@ fun Content( onClick = onBackNavigationPressed ) { Icon( - painter = painterResource(R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, contentDescription = stringResource(android.R.string.cancel) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt index d277b3c2ac..8a9668ae46 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt @@ -107,6 +107,7 @@ import org.thoughtcrime.securesms.util.views.SimpleProgressDialog import org.thoughtcrime.securesms.verify.VerifyIdentityActivity import org.thoughtcrime.securesms.wallpaper.ChatWallpaperActivity import java.util.Locale +import org.signal.core.ui.R as CoreUiR private const val REQUEST_CODE_VIEW_CONTACT = 1 private const val REQUEST_CODE_ADD_CONTACT = 2 @@ -429,7 +430,7 @@ class ConversationSettingsFragment : DSLSettingsFragment( Permissions.with(this@ConversationSettingsFragment) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), R.drawable.symbol_camera_24) + .withRationaleDialog(getString(R.string.CameraXFragment_allow_access_camera), getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), CoreUiR.drawable.symbol_camera_24) .withPermanentDenialDialog(getString(R.string.CameraXFragment_signal_needs_camera_access_capture_photos), null, R.string.CameraXFragment_allow_access_camera, R.string.CameraXFragment_to_capture_photos_videos, getParentFragmentManager()) .onAllGranted { addToGroupStoryDelegate.addToStory(state.recipient.id) } .onAnyDenied { Toast.makeText(requireContext(), R.string.CameraXFragment_signal_needs_camera_access_capture_photos, Toast.LENGTH_LONG).show() } @@ -539,7 +540,7 @@ class ConversationSettingsFragment : DSLSettingsFragment( if (state.recipient.isIndividual && !state.recipient.isSelf) { clickPref( title = DSLSettingsText.from(R.string.NicknameActivity__nickname), - icon = DSLSettingsIcon.from(R.drawable.symbol_edit_24), + icon = DSLSettingsIcon.from(CoreUiR.drawable.symbol_edit_24), onClick = { nicknameLauncher.launch( NicknameActivity.Args( 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 564d8d361d..7200c32ec6 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,15 +14,14 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -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.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.util.Hex.fromStringCondensed import org.signal.libsignal.zkgroup.groups.GroupMasterKey @@ -57,7 +56,7 @@ fun InternalConversationSettingsScreen( Scaffolds.Settings( title = stringResource(R.string.ConversationSettingsFragment__internal_details), onNavigationClick = callbacks::onNavigationClick, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.CallScreenTopBar__go_back) ) { paddingValues -> LazyColumn( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt index bab62b373d..53120e6ac7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt @@ -55,6 +55,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.NightPreview import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatar import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatarImage @@ -177,7 +178,7 @@ private fun CallInfo( item { Rows.TextRow( text = stringResource(id = R.string.CallLinkDetailsFragment__share_link), - icon = painterResource(id = R.drawable.symbol_link_24), + icon = SignalIcons.Link.painter, iconModifier = Modifier .background( color = MaterialTheme.colorScheme.surfaceVariant, @@ -552,7 +553,7 @@ private fun UnknownMembersRow( var displayDialog by remember { mutableStateOf(false) } Icon( - painter = painterResource(id = R.drawable.symbol_info_24), + painter = SignalIcons.Info.painter, contentDescription = stringResource(id = R.string.CallInfoView__more_information), modifier = Modifier.clickable(onClick = { displayDialog = true diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt index 3666394819..5763e12529 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/requests/CallLinkIncomingRequestSheet.kt @@ -37,6 +37,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.NightPreview import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage @@ -166,7 +167,7 @@ private fun CallLinkIncomingRequestSheetContent( item { Rows.TextRow( text = stringResource(id = R.string.CallLinkIncomingRequestSheet__approve_entry), - icon = painterResource(R.drawable.symbol_check_circle_24), + icon = SignalIcons.CheckCircle.painter, onClick = onApproveEntry ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenPreJoinOverlay.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenPreJoinOverlay.kt index 63275c9a1c..61902b00c6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenPreJoinOverlay.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenPreJoinOverlay.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.AllNightPreviews import org.signal.core.ui.compose.NightPreview import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage import org.thoughtcrime.securesms.compose.SignalTheme @@ -394,7 +395,7 @@ fun CallScreenTopAppBar( onClick = onNavigationClick ) { Icon( - painter = painterResource(id = R.drawable.symbol_arrow_start_24), + painter = SignalIcons.ArrowStart.painter, contentDescription = stringResource(id = R.string.CallScreenTopBar__go_back), tint = Color.White ) @@ -406,7 +407,7 @@ fun CallScreenTopAppBar( modifier = Modifier.padding(16.dp) ) { Icon( - painter = painterResource(id = R.drawable.symbol_info_24), + painter = SignalIcons.Info.painter, contentDescription = stringResource(id = R.string.CallScreenTopBar__call_information), tint = Color.White ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchAdapter.kt index 42f7f7741b..943c1b728d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchAdapter.kt @@ -38,6 +38,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.adapter.mapping.PagingMappingAdapter import org.thoughtcrime.securesms.util.visible +import org.signal.core.ui.R as CoreUiR /** * Default contact search adapter, using the models defined in `ContactSearchItems` @@ -285,7 +286,7 @@ open class ContactSearchAdapter( private fun getMyStoryContextMenuActions(model: StoryModel, callbacks: StoryContextMenuCallbacks): List { return listOf( - ActionItem(R.drawable.symbol_settings_android_24, context.getString(R.string.ContactSearchItems__story_settings)) { + ActionItem(CoreUiR.drawable.symbol_settings_android_24, context.getString(R.string.ContactSearchItems__story_settings)) { callbacks.onOpenStorySettings(model.story) } ) @@ -301,10 +302,10 @@ open class ContactSearchAdapter( private fun getPrivateStoryContextMenuActions(model: StoryModel, callbacks: StoryContextMenuCallbacks): List { return listOf( - ActionItem(R.drawable.symbol_settings_android_24, context.getString(R.string.ContactSearchItems__story_settings)) { + ActionItem(CoreUiR.drawable.symbol_settings_android_24, context.getString(R.string.ContactSearchItems__story_settings)) { callbacks.onOpenStorySettings(model.story) }, - ActionItem(R.drawable.symbol_trash_24, context.getString(R.string.ContactSearchItems__delete_story), R.color.signal_colorError) { + ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.ContactSearchItems__delete_story), R.color.signal_colorError) { callbacks.onDeletePrivateStory(model.story, model.isSelected) } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationReactionOverlay.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationReactionOverlay.java index 3c4eb3dfcf..dec2ad0a08 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationReactionOverlay.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationReactionOverlay.java @@ -32,6 +32,7 @@ import androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat; import com.annimon.stream.Stream; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.DimensionUnit; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; @@ -48,6 +49,7 @@ import org.thoughtcrime.securesms.util.ViewUtil; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import kotlin.Unit; @@ -690,11 +692,11 @@ public final class ConversationReactionOverlay extends FrameLayout { } if (menuState.shouldShowEditAction()) { - items.add(new ActionItem(R.drawable.symbol_edit_24, getResources().getString(R.string.conversation_selection__menu_edit), () -> handleActionItemClicked(Action.EDIT))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_edit_24, getResources().getString(R.string.conversation_selection__menu_edit), () -> handleActionItemClicked(Action.EDIT))); } if (menuState.shouldShowForwardAction()) { - items.add(new ActionItem(R.drawable.symbol_forward_24, getResources().getString(R.string.conversation_selection__menu_forward), () -> handleActionItemClicked(Action.FORWARD))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_forward_24, getResources().getString(R.string.conversation_selection__menu_forward), () -> handleActionItemClicked(Action.FORWARD))); } if (menuState.shouldShowResendAction()) { @@ -706,17 +708,17 @@ public final class ConversationReactionOverlay extends FrameLayout { } if (menuState.shouldShowCopyAction()) { - items.add(new ActionItem(R.drawable.symbol_copy_android_24, getResources().getString(R.string.conversation_selection__menu_copy), () -> handleActionItemClicked(Action.COPY))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_copy_android_24, getResources().getString(R.string.conversation_selection__menu_copy), () -> handleActionItemClicked(Action.COPY))); } if (menuState.shouldShowPaymentDetails()) { items.add(new ActionItem(R.drawable.symbol_payment_24, getResources().getString(R.string.conversation_selection__menu_payment_details), () -> handleActionItemClicked(Action.PAYMENT_DETAILS))); } - items.add(new ActionItem(R.drawable.symbol_check_circle_24, getResources().getString(R.string.conversation_selection__menu_multi_select), () -> handleActionItemClicked(Action.MULTISELECT))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_check_circle_24, getResources().getString(R.string.conversation_selection__menu_multi_select), () -> handleActionItemClicked(Action.MULTISELECT))); if (menuState.shouldShowDetailsAction()) { - items.add(new ActionItem(R.drawable.symbol_info_24, getResources().getString(R.string.conversation_selection__menu_message_details), () -> handleActionItemClicked(Action.VIEW_INFO))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_info_24, getResources().getString(R.string.conversation_selection__menu_message_details), () -> handleActionItemClicked(Action.VIEW_INFO))); } if (menuState.shouldShowPollTerminateAction()) { @@ -734,7 +736,7 @@ public final class ConversationReactionOverlay extends FrameLayout { backgroundView.setVisibility(menuState.shouldShowReactions() ? View.VISIBLE : View.INVISIBLE); foregroundView.setVisibility(menuState.shouldShowReactions() ? View.VISIBLE : View.INVISIBLE); - items.add(new ActionItem(R.drawable.symbol_trash_24, getResources().getString(R.string.conversation_selection__menu_delete), () -> handleActionItemClicked(Action.DELETE))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_trash_24, getResources().getString(R.string.conversation_selection__menu_delete), () -> handleActionItemClicked(Action.DELETE))); return items; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ManageContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ManageContextMenu.kt index be96daa67f..8cafa7135b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ManageContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ManageContextMenu.kt @@ -7,6 +7,7 @@ import org.signal.core.util.DimensionUnit import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.menu.ActionItem import org.thoughtcrime.securesms.components.menu.SignalContextMenu +import org.signal.core.ui.R as CoreUiR /** * A context menu shown when handling selected media only permissions. @@ -46,7 +47,7 @@ object ManageContextMenu { ) { val actions = mutableListOf().apply { add( - ActionItem(R.drawable.symbol_settings_android_24, context.getString(R.string.AttachmentKeyboard_go_to_settings)) { + ActionItem(CoreUiR.drawable.symbol_settings_android_24, context.getString(R.string.AttachmentKeyboard_go_to_settings)) { callbacks.onSettings() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/PinnedContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/PinnedContextMenu.kt index e87287a87e..0dbbc41b3c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/PinnedContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/PinnedContextMenu.kt @@ -11,6 +11,7 @@ import org.thoughtcrime.securesms.database.model.MmsMessageRecord import org.thoughtcrime.securesms.util.hasGiftBadge import org.thoughtcrime.securesms.util.isPoll import org.thoughtcrime.securesms.util.isViewOnceMessage +import org.signal.core.ui.R as CoreUiR /** * A context menu shown when long pressing on a pinned messages @@ -70,7 +71,7 @@ object PinnedContextMenu { !message.hasGiftBadge() ) { add( - ActionItem(R.drawable.symbol_copy_android_24, context.getString(R.string.conversation_selection__menu_copy)) { + ActionItem(CoreUiR.drawable.symbol_copy_android_24, context.getString(R.string.conversation_selection__menu_copy)) { callbacks.onCopy() } ) @@ -78,7 +79,7 @@ object PinnedContextMenu { if (!message.isRemoteDelete) { add( - ActionItem(R.drawable.symbol_trash_24, context.getString(R.string.conversation_selection__menu_delete)) { + ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.conversation_selection__menu_delete)) { callbacks.onDelete() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ScheduledMessagesBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ScheduledMessagesBottomSheet.kt index 01888fdc70..c8a023f2b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ScheduledMessagesBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ScheduledMessagesBottomSheet.kt @@ -52,6 +52,7 @@ import org.thoughtcrime.securesms.util.hasTextSlide import org.thoughtcrime.securesms.util.requireTextSlide import java.io.IOException import java.util.Locale +import org.signal.core.ui.R as CoreUiR /** * Bottom sheet dialog to view all scheduled messages within a given thread. @@ -156,9 +157,9 @@ class ScheduledMessagesBottomSheet : FixedRoundedCornerBottomSheetDialogFragment private fun getMenuActionItems(message: ConversationMessage): List { val canCopy = message.multiselectCollection.toSet().any { it !is Attachments && message.messageRecord.body.isNotEmpty() } val items: MutableList = ArrayList() - items.add(ActionItem(R.drawable.symbol_trash_24, resources.getString(R.string.conversation_selection__menu_delete), action = { handleDeleteMessage(message.messageRecord) })) + items.add(ActionItem(CoreUiR.drawable.symbol_trash_24, resources.getString(R.string.conversation_selection__menu_delete), action = { handleDeleteMessage(message.messageRecord) })) if (canCopy) { - items.add(ActionItem(R.drawable.symbol_copy_android_24, resources.getString(R.string.conversation_selection__menu_copy), action = { handleCopyMessage(message) })) + items.add(ActionItem(CoreUiR.drawable.symbol_copy_android_24, resources.getString(R.string.conversation_selection__menu_copy), action = { handleCopyMessage(message) })) } items.add(ActionItem(R.drawable.symbol_send_24, resources.getString(R.string.ScheduledMessagesBottomSheet_menu_send_now), action = { handleSendMessageNow(message.messageRecord) })) items.add(ActionItem(R.drawable.symbol_calendar_24, resources.getString(R.string.ScheduledMessagesBottomSheet_menu_reschedule), action = { handleRescheduleMessage(message.messageRecord) })) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/clicklisteners/PollVotesFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/clicklisteners/PollVotesFragment.kt index b9d2bc49ac..b69e84789f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/clicklisteners/PollVotesFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/clicklisteners/PollVotesFragment.kt @@ -45,6 +45,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R @@ -94,7 +95,7 @@ class PollVotesFragment : ComposeDialogFragment(), RecipientBottomSheetDialogFra Scaffolds.Settings( title = stringResource(if (state.poll?.hasEnded == true) R.string.Poll__poll_results else R.string.Poll__poll_details), onNavigationClick = this::dismissAllowingStateLoss, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_x_24), + navigationIcon = SignalIcons.X.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { paddingValues -> if (state.poll == null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityResultContracts.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityResultContracts.kt index dd38a6c800..d99879b805 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityResultContracts.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityResultContracts.kt @@ -32,6 +32,7 @@ import org.thoughtcrime.securesms.mediasend.camerax.CameraXUtil import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionActivity import org.thoughtcrime.securesms.permissions.Permissions import org.thoughtcrime.securesms.recipients.RecipientId +import org.signal.core.ui.R as CoreUiR /** * This encapsulates the logic for interacting with other activities used throughout a conversation. The gist @@ -82,7 +83,7 @@ class ConversationActivityResultContracts(private val fragment: Fragment, privat Permissions.with(fragment) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(fragment.getString(R.string.CameraXFragment_allow_access_camera), fragment.getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), R.drawable.symbol_camera_24) + .withRationaleDialog(fragment.getString(R.string.CameraXFragment_allow_access_camera), fragment.getString(R.string.CameraXFragment_to_capture_photos_and_video_allow_camera), CoreUiR.drawable.symbol_camera_24) .withPermanentDenialDialog(fragment.getString(R.string.CameraXFragment_signal_needs_camera_access_capture_photos), null, R.string.CameraXFragment_allow_access_camera, R.string.CameraXFragment_to_capture_photos_videos, fragment.parentFragmentManager) .onAllGranted { cameraLauncher.launch(MediaSelectionInput(emptyList(), recipientId, null, isReply)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index a1f5c0108e..e1814f5bdd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -381,6 +381,7 @@ import java.util.Optional import java.util.concurrent.ExecutionException import kotlin.time.Duration.Companion.days import kotlin.time.Duration.Companion.milliseconds +import org.signal.core.ui.R as CoreUiR /** * A single unified fragment for Conversations. @@ -1529,6 +1530,7 @@ class ConversationFragment : when (args.conversationScreenType) { ConversationScreenType.NORMAL -> presentNavigationIconForNormal() + ConversationScreenType.BUBBLE, ConversationScreenType.POPUP -> presentNavigationIconForBubble() } @@ -1546,7 +1548,7 @@ class ConversationFragment : private fun updateNavigationIconForNormal(isFullScreenPane: Boolean) { if (!resources.getWindowSizeClass().isSplitPane() || isFullScreenPane) { - binding.toolbar.setNavigationIcon(R.drawable.symbol_arrow_start_24) + binding.toolbar.setNavigationIcon(CoreUiR.drawable.symbol_arrow_start_24) binding.toolbar.setNavigationContentDescription(R.string.ConversationFragment__content_description_back_button) binding.toolbar.setNavigationOnClickListener { binding.root.hideKeyboard(composeText) @@ -2398,7 +2400,7 @@ class ConversationFragment : if (menuState.shouldShowEditAction()) { items.add( - ActionItem(R.drawable.symbol_edit_24, resources.getString(R.string.conversation_selection__menu_edit)) { + ActionItem(CoreUiR.drawable.symbol_edit_24, resources.getString(R.string.conversation_selection__menu_edit)) { handleEditMessage(getSelectedConversationMessage()) finishActionMode() } @@ -2407,7 +2409,7 @@ class ConversationFragment : if (menuState.shouldShowForwardAction()) { items.add( - ActionItem(R.drawable.symbol_forward_24, resources.getString(R.string.conversation_selection__menu_forward)) { + ActionItem(CoreUiR.drawable.symbol_forward_24, resources.getString(R.string.conversation_selection__menu_forward)) { handleForwardMessageParts(selectedParts) } ) @@ -2415,7 +2417,7 @@ class ConversationFragment : if (menuState.shouldShowSaveAttachmentAction()) { items.add( - ActionItem(R.drawable.symbol_save_android_24, getResources().getString(R.string.conversation_selection__menu_save)) { + ActionItem(R.drawable.symbol_save_android_24, resources.getString(R.string.conversation_selection__menu_save)) { handleSaveAttachment(getSelectedConversationMessage().messageRecord as MmsMessageRecord) finishActionMode() } @@ -2424,7 +2426,7 @@ class ConversationFragment : if (menuState.shouldShowCopyAction()) { items.add( - ActionItem(R.drawable.symbol_copy_android_24, getResources().getString(R.string.conversation_selection__menu_copy)) { + ActionItem(CoreUiR.drawable.symbol_copy_android_24, resources.getString(R.string.conversation_selection__menu_copy)) { handleCopyMessage(selectedParts) finishActionMode() } @@ -2433,7 +2435,7 @@ class ConversationFragment : if (menuState.shouldShowDetailsAction()) { items.add( - ActionItem(R.drawable.symbol_info_24, getResources().getString(R.string.conversation_selection__menu_message_details)) { + ActionItem(CoreUiR.drawable.symbol_info_24, resources.getString(R.string.conversation_selection__menu_message_details)) { handleDisplayDetails(getSelectedConversationMessage()) finishActionMode() } @@ -2442,7 +2444,7 @@ class ConversationFragment : if (menuState.shouldShowDeleteAction()) { items.add( - ActionItem(R.drawable.symbol_trash_24, getResources().getString(R.string.conversation_selection__menu_delete)) { + ActionItem(CoreUiR.drawable.symbol_trash_24, resources.getString(R.string.conversation_selection__menu_delete)) { handleDeleteMessages(selectedParts) finishActionMode() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/CreatePollFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/CreatePollFragment.kt index 1923b686bc..d1e3b401b1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/CreatePollFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/CreatePollFragment.kt @@ -57,6 +57,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.copied.androidx.compose.DragAndDropEvent import org.signal.core.ui.compose.copied.androidx.compose.DraggableItem import org.signal.core.ui.compose.copied.androidx.compose.dragContainer @@ -107,7 +108,7 @@ class CreatePollFragment : ComposeDialogFragment() { onNavigationClick = { dismissAllowingStateLoss() }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_x_24), + navigationIcon = SignalIcons.X.imageVector, navigationContentDescription = stringResource(R.string.Material3SearchToolbar__close) ) { paddingValues -> CreatePollScreen( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/AddToFolderBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/AddToFolderBottomSheet.kt index 6fc8644128..623557cd81 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/AddToFolderBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/AddToFolderBottomSheet.kt @@ -36,6 +36,7 @@ import androidx.fragment.app.activityViewModels import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.getParcelableArrayListCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity @@ -207,7 +208,7 @@ private fun AddToChatFolderSheetContent( ) { Image( colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onSurface), - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_plus_24), + imageVector = SignalIcons.Plus.imageVector, contentDescription = null, modifier = Modifier .size(40.dp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index e5eeebc7ac..348774841a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -65,6 +65,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.DimensionUnit; import org.signal.core.util.Stopwatch; import org.signal.core.util.ThreadUtil; @@ -1301,7 +1302,7 @@ public class ConversationListFragment extends MainFragment implements Conversati } } - items.add(new ActionItem(R.drawable.symbol_check_circle_24, getString(R.string.ConversationListFragment_select), () -> { + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_check_circle_24, getString(R.string.ConversationListFragment_select), () -> { viewModel.startSelection(conversation); startActionMode(); })); @@ -1322,7 +1323,7 @@ public class ConversationListFragment extends MainFragment implements Conversati items.add(new ActionItem(R.drawable.symbol_archive_24, getResources().getString(R.string.ConversationListFragment_archive), () -> handleArchive(id))); } - items.add(new ActionItem(R.drawable.symbol_trash_24, getResources().getString(R.string.ConversationListFragment_delete), () -> handleDelete(id))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_trash_24, getResources().getString(R.string.ConversationListFragment_delete), () -> handleDelete(id))); activeContextMenu = new SignalContextMenu.Builder(view, list) .offsetX(ViewUtil.dpToPx(12)) @@ -1429,7 +1430,7 @@ public class ConversationListFragment extends MainFragment implements Conversati items.add(new ActionItem(R.drawable.symbol_archive_24, getResources().getString(R.string.ConversationListFragment_archive), () -> handleArchive(selectionIds))); } - items.add(new ActionItem(R.drawable.symbol_trash_24, getResources().getString(R.string.ConversationListFragment_delete), () -> handleDelete(selectionIds))); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_trash_24, getResources().getString(R.string.ConversationListFragment_delete), () -> handleDelete(selectionIds))); if (hasUnmuted) { items.add(new ActionItem(R.drawable.symbol_bell_slash_24, getResources().getString(R.string.ConversationListFragment_mute), () -> handleMute(viewModel.currentSelectedConversations()))); @@ -1437,7 +1438,7 @@ public class ConversationListFragment extends MainFragment implements Conversati items.add(new ActionItem(R.drawable.symbol_bell_24, getResources().getString(R.string.ConversationListFragment_unmute), () -> handleUnmute(viewModel.currentSelectedConversations()))); } - items.add(new ActionItem(R.drawable.symbol_check_circle_24, getString(R.string.ConversationListFragment_select_all), viewModel::onSelectAllClick)); + items.add(new ActionItem(org.signal.core.ui.R.drawable.symbol_check_circle_24, getString(R.string.ConversationListFragment_select_all), viewModel::onSelectAllClick)); if (!isArchived()) { items.add(new ActionItem(R.drawable.symbol_folder_add, getString(R.string.ConversationListFragment_add_to_folder), () -> { 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 308aa62b54..c32e84d08b 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,17 +33,16 @@ 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.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.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R @@ -159,7 +158,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) }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onBackPress, scrollBehavior = scrollBehavior diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt index 1789747a95..5e111373ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt @@ -19,6 +19,7 @@ import org.thoughtcrime.securesms.animation.AnimationCompleteListener import org.thoughtcrime.securesms.animation.ResizeAnimation import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.visible +import org.signal.core.ui.R as CoreUiR private const val REVEAL_DURATION = 250L @@ -110,9 +111,9 @@ class KeyboardPageSearchView @JvmOverloads constructor( fun showRequested(): Boolean = state == State.SHOW_REQUESTED fun enableBackNavigation(enable: Boolean = true) { - navButton.setImageResource(if (enable) R.drawable.symbol_arrow_start_24 else R.drawable.ic_search_24) + navButton.setImageResource(if (enable) CoreUiR.drawable.symbol_arrow_start_24 else R.drawable.ic_search_24) if (enable) { - navButton.setImageResource(R.drawable.symbol_arrow_start_24) + navButton.setImageResource(CoreUiR.drawable.symbol_arrow_start_24) navButton.setOnClickListener { callbacks?.onNavigationClicked() } } else { navButton.setImageResource(R.drawable.ic_search_24) 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 f71d54f011..a207ad0a54 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/EditDeviceNameFragment.kt @@ -20,10 +20,8 @@ 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.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 @@ -37,6 +35,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.isNotNullOrBlank import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R @@ -84,7 +83,7 @@ class EditDeviceNameFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.EditDeviceNameFragment__edit), onNavigationClick = { navController.popBackStack() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, 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 f007437b34..141616186a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceFragment.kt @@ -40,12 +40,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter -import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.layout.ContentScale 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.AnnotatedString import androidx.compose.ui.text.Placeholder import androidx.compose.ui.text.PlaceholderVerticalAlign @@ -65,6 +63,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.BiometricDeviceAuthentication import org.thoughtcrime.securesms.BiometricDeviceLockContract @@ -189,7 +188,7 @@ class LinkDeviceFragment : ComposeFragment() { Scaffolds.Settings( title = stringResource(id = R.string.preferences__linked_devices), onNavigationClick = { navController.popOrFinish() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(id = R.string.Material3SearchToolbar__close) ) { contentPadding: PaddingValues -> DeviceListScreen( @@ -470,7 +469,7 @@ fun DeviceListScreen( val inlineContentMap = mapOf( "icon" to InlineTextContent(Placeholder(16.sp, 16.sp, PlaceholderVerticalAlign.Center)) { Image( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_lock_24), + imageVector = SignalIcons.Lock.imageVector, contentDescription = null, modifier = Modifier.fillMaxSize(), colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onSurface) @@ -572,7 +571,7 @@ fun DeviceRow(device: Device, setDeviceToRemove: (Device) -> Unit, onEditDevice: modifier = Modifier.padding(horizontal = 16.dp, vertical = 12.dp) ) { Icon( - painter = painterResource(id = R.drawable.symbol_edit_24), + painter = SignalIcons.Edit.painter, contentDescription = null, modifier = Modifier.size(24.dp) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceLearnMoreBottomSheetFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceLearnMoreBottomSheetFragment.kt index 3f0974ec50..cd93731835 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceLearnMoreBottomSheetFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/linkdevice/LinkDeviceLearnMoreBottomSheetFragment.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -71,7 +72,7 @@ fun LearnMoreSheet() { modifier = Modifier.padding(horizontal = 32.dp, vertical = 8.dp) ) LinkedDeviceInformationRow( - painterResource(R.drawable.symbol_lock_24), + SignalIcons.Lock.painter, stringResource(R.string.LinkDeviceFragment__all_messaging_is_private) ) LinkedDeviceInformationRow( diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainFloatingActionButtons.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainFloatingActionButtons.kt index 140caf69ee..ea990a3a94 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainFloatingActionButtons.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainFloatingActionButtons.kt @@ -38,10 +38,12 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.window.NavigationType import kotlin.math.roundToInt +import org.signal.core.ui.R as CoreUiR private val ACTION_BUTTON_SIZE = 56.dp private val ACTION_BUTTON_SPACING = 16.dp @@ -185,10 +187,10 @@ private fun PrimaryActionButton( icon = { AnimatedContent(destination) { targetState -> val (icon, contentDescriptionId) = when (targetState) { - MainNavigationListLocation.ARCHIVE -> R.drawable.symbol_edit_24 to R.string.conversation_list_fragment__fab_content_description - MainNavigationListLocation.CHATS -> R.drawable.symbol_edit_24 to R.string.conversation_list_fragment__fab_content_description + MainNavigationListLocation.ARCHIVE -> CoreUiR.drawable.symbol_edit_24 to R.string.conversation_list_fragment__fab_content_description + MainNavigationListLocation.CHATS -> CoreUiR.drawable.symbol_edit_24 to R.string.conversation_list_fragment__fab_content_description MainNavigationListLocation.CALLS -> R.drawable.symbol_phone_plus_24 to R.string.CallLogFragment__start_a_new_call - MainNavigationListLocation.STORIES -> R.drawable.symbol_camera_24 to R.string.conversation_list_fragment__open_camera_description + MainNavigationListLocation.STORIES -> CoreUiR.drawable.symbol_camera_24 to R.string.conversation_list_fragment__open_camera_description } Icon( @@ -211,7 +213,7 @@ private fun CameraButton( onClick = onClick, icon = { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_camera_24), + imageVector = SignalIcons.Camera.imageVector, contentDescription = stringResource(R.string.conversation_list_fragment__open_camera_description) ) }, diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbar.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbar.kt index c271ae0b95..6742e14f99 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbar.kt @@ -71,6 +71,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.IconButtons import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.TextFields import org.signal.core.ui.compose.Tooltips import org.signal.core.ui.compose.circularReveal @@ -255,7 +256,7 @@ private fun SearchToolbar( onClick = callback::onCloseSearchClick ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + imageVector = SignalIcons.ArrowStart.imageVector, contentDescription = stringResource(R.string.MainToolbar__close_search_content_description) ) } @@ -326,7 +327,7 @@ private fun ArchiveToolbar( callback.onCloseArchiveClick() }) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + imageVector = SignalIcons.ArrowStart.imageVector, contentDescription = stringResource(R.string.CallScreenTopBar__go_back) ) } @@ -411,7 +412,7 @@ private fun PrimaryToolbar( } ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_search_24), + imageVector = SignalIcons.Search.imageVector, contentDescription = stringResource(R.string.conversation_list_search_description) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewPageFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewPageFragment.java index be0f5ee3e8..96248ce59a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewPageFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewPageFragment.java @@ -29,6 +29,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.codewaves.stickyheadergrid.StickyHeaderGridLayoutManager; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.ByteSize; import org.signal.core.util.DimensionUnit; import org.signal.core.util.concurrent.LifecycleDisposable; @@ -374,8 +375,8 @@ public final class MediaOverviewPageFragment extends LoggingFragment .subscribe(this::exitMultiSelect) ); }), - new ActionItem(R.drawable.symbol_check_circle_24, getString(R.string.MediaOverviewActivity_select_all), this::handleSelectAllMedia), - new ActionItem(R.drawable.symbol_trash_24, getResources().getQuantityString(R.plurals.MediaOverviewActivity_delete_plural, selectionCount), this::handleDeleteSelectedMedia) + new ActionItem(org.signal.core.ui.R.drawable.symbol_check_circle_24, getString(R.string.MediaOverviewActivity_select_all), this::handleSelectAllMedia), + new ActionItem(org.signal.core.ui.R.drawable.symbol_trash_24, getResources().getQuantityString(R.plurals.MediaOverviewActivity_delete_plural, selectionCount), this::handleDeleteSelectedMedia) )); } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/megaphone/OnboardingMegaphone.kt b/app/src/main/java/org/thoughtcrime/securesms/megaphone/OnboardingMegaphone.kt index 7b78583a10..cabdd5e0b8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/megaphone/OnboardingMegaphone.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/megaphone/OnboardingMegaphone.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.IconButtons import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity import org.thoughtcrime.securesms.groups.ui.creategroup.CreateGroupActivity @@ -142,7 +143,7 @@ private fun OnboardingMegaphoneListItem( modifier = Modifier.align(Alignment.TopEnd) ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_x_24), + imageVector = SignalIcons.X.imageVector, tint = colorResource(R.color.signal_light_colorOutline), contentDescription = stringResource(R.string.Material3SearchToolbar__close) ) 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 c1dce63e3b..e7f36c9097 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt @@ -37,11 +37,9 @@ 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.unit.dp @@ -51,6 +49,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.TextFields import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity @@ -217,7 +216,7 @@ private fun NicknameContent( Scaffolds.Settings( title = stringResource(id = R.string.NicknameActivity__nickname), onNavigationClick = callback::onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { paddingValues -> val firstNameFocusRequester = remember { FocusRequester() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt index 8d5da2c159..371249435d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/nicknames/ViewNoteSheet.kt @@ -25,7 +25,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView @@ -35,6 +34,7 @@ import androidx.core.text.util.LinkifyCompat import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.emoji.EmojiTextView @@ -131,7 +131,7 @@ private fun ViewNoteBottomSheetContent( actions = { IconButton(onClick = onEditNoteClick) { Icon( - painter = painterResource(id = R.drawable.symbol_edit_24), + painter = SignalIcons.Edit.painter, contentDescription = stringResource(id = R.string.ViewNoteSheet__edit_note) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationFactory.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationFactory.kt index 9e1766c75a..95d5176e02 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationFactory.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/NotificationFactory.kt @@ -38,6 +38,7 @@ import org.thoughtcrime.securesms.util.ServiceUtil import org.thoughtcrime.securesms.util.TextSecurePreferences import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds +import org.signal.core.ui.R as CoreUiR /** * Given a notification state consisting of conversations of messages, show appropriate system notifications. @@ -432,7 +433,7 @@ object NotificationFactory { builder.apply { setSmallIcon(R.drawable.ic_notification) - setLargeIcon(BitmapFactory.decodeResource(context.resources, R.drawable.symbol_info_24)) + setLargeIcon(BitmapFactory.decodeResource(context.resources, CoreUiR.drawable.symbol_info_24)) setContentTitle(context.getString(R.string.MessageNotifier_message_delivery_paused)) setContentText(context.getString(R.string.MessageNotifier_verify_to_continue_messaging_on_signal)) setContentIntent(NotificationPendingIntentHelper.getActivity(context, 0, intent, PendingIntentFlags.mutable())) diff --git a/app/src/main/java/org/thoughtcrime/securesms/permissions/compose/Permissions.kt b/app/src/main/java/org/thoughtcrime/securesms/permissions/compose/Permissions.kt index f05f3371fa..2c85c30043 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/permissions/compose/Permissions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/permissions/compose/Permissions.kt @@ -11,12 +11,12 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.graphics.painter.Painter -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.rememberPermissionState import org.signal.core.ui.compose.Dialogs +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R /** @@ -41,7 +41,7 @@ object Permissions { ): Controller { return permissionHandler( permission = android.Manifest.permission.CAMERA, - icon = painterResource(id = R.drawable.symbol_camera_24), + icon = SignalIcons.Camera.painter, rationale = rationale, onPermissionGranted = onPermissionGranted ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPinSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPinSettingsFragment.kt index fa02a8ab29..b8e870af54 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPinSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPinSettingsFragment.kt @@ -14,9 +14,7 @@ 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.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.fragment.app.setFragmentResultListener import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle @@ -32,6 +30,7 @@ import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.showSnackbar import org.thoughtcrime.securesms.R @@ -161,7 +160,7 @@ private fun AdvancedPinSettingsFragmentContent( ) { Scaffolds.Settings( title = stringResource(R.string.preferences__advanced_pin_settings_title), - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.CallScreenTopBar__go_back), onNavigationClick = onNavigationClick, snackbarHost = { diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/CreateProfileFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/CreateProfileFragment.java index 1e60e89f82..3e99a86c11 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/CreateProfileFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/CreateProfileFragment.java @@ -22,6 +22,7 @@ import com.airbnb.lottie.SimpleColorFilter; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.EditTextUtil; import org.signal.core.util.StreamUtil; import org.signal.core.util.concurrent.SimpleTask; @@ -46,6 +47,7 @@ import org.thoughtcrime.securesms.util.text.AfterTextChanged; import java.io.IOException; import java.io.InputStream; +import java.util.Objects; import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.EXCLUDE_SYSTEM; import static org.thoughtcrime.securesms.profiles.edit.CreateProfileActivity.GROUP_ID; @@ -296,7 +298,7 @@ public class CreateProfileFragment extends LoggingFragment { binding.whoCanFindMeDescription.setText(R.string.PhoneNumberPrivacy_everyone); break; case NOT_DISCOVERABLE: - binding.whoCanFindMeIcon.setImageResource(R.drawable.symbol_lock_24); + binding.whoCanFindMeIcon.setImageResource(org.signal.core.ui.R.drawable.symbol_lock_24); binding.whoCanFindMeDescription.setText(R.string.PhoneNumberPrivacy_nobody); break; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt index a53a5b12d8..ff08924898 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/EditProfileFragment.kt @@ -49,6 +49,7 @@ import org.thoughtcrime.securesms.util.navigation.safeNavigate import org.thoughtcrime.securesms.util.views.SimpleProgressDialog import java.util.Arrays import java.util.Optional +import org.signal.core.ui.R as CoreUiR /** * Fragment for editing your profile after you're already registered. @@ -320,13 +321,13 @@ class EditProfileFragment : LoggingFragment() { private fun presentAboutEmoji(aboutEmoji: String?) { if (aboutEmoji.isNullOrEmpty()) { - binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.symbol_edit_24, null)) + binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, CoreUiR.drawable.symbol_edit_24, null)) } else { val emoji = EmojiUtil.convertToDrawable(requireContext(), aboutEmoji) if (emoji != null) { binding.manageProfileAboutIcon.setImageDrawable(emoji) } else { - binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.symbol_edit_24, null)) + binding.manageProfileAboutIcon.setImageDrawable(ResourcesCompat.getDrawable(resources, CoreUiR.drawable.symbol_edit_24, null)) } } } 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 4b0c36a621..c8c6180097 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,17 +21,16 @@ 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.unit.dp import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeDialogFragment import org.thoughtcrime.securesms.profiles.manage.EditProfileActivity @@ -80,7 +79,7 @@ private fun NewWaysToConnectDialogContent( Scaffolds.Settings( title = "", onNavigationClick = onNotNowClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_x_24) + navigationIcon = SignalIcons.X.imageVector ) { Column(modifier = Modifier.padding(it)) { LazyColumn(modifier = Modifier.weight(1f)) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPickerScaffold.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPickerScaffold.kt index d2f9e07f26..01a086198e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPickerScaffold.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPickerScaffold.kt @@ -26,13 +26,12 @@ 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.vector.ImageVector import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.AllDevicePreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.compose.ScreenTitlePane import org.thoughtcrime.securesms.window.AppScaffold @@ -62,7 +61,7 @@ fun RecipientPickerScaffold( Scaffolds.DefaultTopAppBar( title = if (!isSplitPane) title else "", titleContent = { _, titleText -> Text(text = titleText, style = MaterialTheme.typography.titleLarge) }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onNavigateUpClick, actions = { topAppBarActions() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt index f2b40ab975..b7a9fbf1ae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt @@ -42,6 +42,7 @@ import androidx.core.widget.TextViewCompat import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.getParcelableCompat import org.signal.core.util.isNotNullOrBlank import org.thoughtcrime.securesms.AvatarPreviewActivity @@ -220,7 +221,7 @@ private fun Content( val textColor = LocalContentColor.current AboutRow( - startIcon = ImageVector.vectorResource(R.drawable.symbol_edit_24), + startIcon = SignalIcons.Edit.imageVector, text = { Row { AndroidView(factory = ::EmojiTextView) { @@ -289,7 +290,7 @@ private fun Content( if (model.formattedE164.isNotNullOrBlank()) { AboutRow( - startIcon = ImageVector.vectorResource(R.drawable.symbol_phone_24), + startIcon = SignalIcons.Phone.imageVector, text = model.formattedE164, modifier = Modifier.fillMaxWidth() ) 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 7fbec651f4..3052457e02 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,12 +42,10 @@ 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 @@ -68,6 +66,7 @@ import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.TextFields import org.signal.core.util.E164Util import org.signal.core.util.getParcelableExtraCompat @@ -134,7 +133,7 @@ class FindByActivity : PassphraseRequiredActivity() { Scaffolds.Settings( title = stringResource(id = title), onNavigationClick = { finishAfterTransition() }, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24) + navigationIcon = SignalIcons.ArrowStart.imageVector ) { Content( paddingValues = it, @@ -390,7 +389,7 @@ private fun Content( contentAlignment = Alignment.Center ) { Buttons.Small(onClick = onQrCodeScanClicked) { - Icon(painter = painterResource(id = R.drawable.symbol_qrcode_24), contentDescription = stringResource(id = R.string.FindByActivity__qr_scan_button)) + Icon(painter = SignalIcons.QrCode.painter, contentDescription = stringResource(id = R.string.FindByActivity__qr_scan_button)) Spacer(modifier = Modifier.width(10.dp)) Text( text = stringResource(id = R.string.FindByActivity__qr_scan_button), diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/preparedevice/PrepareDeviceScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/preparedevice/PrepareDeviceScreen.kt index c3065befa2..10c9e39fef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/preparedevice/PrepareDeviceScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/preparedevice/PrepareDeviceScreen.kt @@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.registration.olddevice.QuickTransferOldDeviceState import org.thoughtcrime.securesms.util.DateUtils import java.util.Locale +import org.signal.core.ui.R as CoreUiR @Composable fun PrepareDeviceScreen( @@ -43,7 +44,7 @@ fun PrepareDeviceScreen( ) { Scaffolds.Default( onNavigationClick = { emitter(PrepareDeviceScreenEvents.NavigateBack) }, - navigationIconRes = R.drawable.symbol_arrow_start_24 + navigationIconRes = CoreUiR.drawable.symbol_arrow_start_24 ) { contentPadding -> Column( horizontalAlignment = Alignment.CenterHorizontally, diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/transferaccount/TransferScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/transferaccount/TransferScreen.kt index adac15a27d..55ca5e5fa0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/transferaccount/TransferScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/transferaccount/TransferScreen.kt @@ -37,6 +37,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R @@ -153,7 +154,7 @@ private fun TopAppBarContent(onBackClicked: () -> Unit) { navigationIcon = { IconButton(onClick = onBackClicked) { Icon( - painter = painterResource(R.drawable.symbol_x_24), + painter = SignalIcons.X.painter, tint = MaterialTheme.colorScheme.onSurface, contentDescription = null ) 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 052d4a887f..1466f2e2cd 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 @@ -55,6 +55,7 @@ import org.signal.core.ui.compose.IconButtons.IconButton import org.signal.core.ui.compose.LargeFontPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R /** @@ -77,7 +78,7 @@ fun CountryCodeSelectScreen( Text(text = title, style = MaterialTheme.typography.titleLarge) }, onNavigationClick = onDismissed, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_x_24), + navigationIcon = SignalIcons.X.imageVector, navigationContentDescription = stringResource(R.string.Material3SearchToolbar__close) ) } @@ -236,7 +237,7 @@ private fun SearchBar( if (text.isNotEmpty()) { IconButton(onClick = { onSearch("") }) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_x_24), + imageVector = SignalIcons.X.imageVector, contentDescription = null ) } @@ -247,7 +248,7 @@ private fun SearchBar( }) { if (showKeyboard) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_keyboard_24), + imageVector = SignalIcons.Keyboard.imageVector, contentDescription = null ) } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt index 4d3ce84d4f..106ffb71c8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt @@ -39,7 +39,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -60,6 +59,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCode @@ -235,17 +235,17 @@ private fun RegisterLinkDeviceQrScreen( .widthIn(160.dp, 320.dp) ) { InstructionRow( - icon = painterResource(R.drawable.symbol_settings_android_24), + icon = SignalIcons.Settings.painter, instruction = "Open Signal Settings on your device" ) InstructionRow( - icon = painterResource(R.drawable.symbol_link_24), + icon = SignalIcons.Link.painter, instruction = "Tap \"Linked devices\"" ) InstructionRow( - icon = painterResource(R.drawable.symbol_qrcode_24), + icon = SignalIcons.QrCode.painter, instruction = "Tap \"Link a new device\" and scan this code" ) } @@ -310,7 +310,7 @@ private fun InstructionRow( private fun InstructionRowPreview() { Previews.Preview { InstructionRow( - icon = painterResource(R.drawable.symbol_phone_24), + icon = SignalIcons.Phone.painter, instruction = "Instruction!" ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/NoBackupToRestoreFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/NoBackupToRestoreFragment.kt index 05ca3fa994..1582e53569 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/NoBackupToRestoreFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/NoBackupToRestoreFragment.kt @@ -39,6 +39,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.registration.proto.RegistrationProvisionMessage import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -138,9 +139,9 @@ private fun NoBackupToRestoreContent( ) { StepRow(icon = painterResource(R.drawable.symbol_device_phone_24), text = stringResource(id = R.string.NoBackupToRestore_step1)) - StepRow(icon = painterResource(R.drawable.symbol_backup_24), text = stringResource(id = R.string.NoBackupToRestore_step2)) + StepRow(icon = SignalIcons.Backup.painter, text = stringResource(id = R.string.NoBackupToRestore_step2)) - StepRow(icon = painterResource(R.drawable.symbol_check_circle_24), text = stringResource(id = R.string.NoBackupToRestore_step3)) + StepRow(icon = SignalIcons.CheckCircle.painter, text = stringResource(id = R.string.NoBackupToRestore_step3)) } if (state.isRegistering) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt index ae8b96b2c0..8a0c384ff3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt @@ -37,10 +37,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue 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.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -65,6 +63,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.ThreadUtil import org.signal.core.util.bytes import org.thoughtcrime.securesms.BaseActivity @@ -352,7 +351,7 @@ private fun BackupAvailableContent( ) } else { Icon( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_backup_24), + imageVector = SignalIcons.Backup.imageVector, contentDescription = null, tint = MaterialTheme.colorScheme.primary, modifier = Modifier diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreRow.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreRow.kt index ef82c49f31..60033b658e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreRow.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreRow.kt @@ -21,11 +21,11 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.painter.Painter -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -78,7 +78,7 @@ fun RestoreRow( private fun RestoreMethodRowPreview() { Previews.Preview { RestoreRow( - icon = painterResource(R.drawable.symbol_backup_24), + icon = SignalIcons.Backup.painter, title = stringResource(R.string.SelectRestoreMethodFragment__from_signal_backups), subtitle = stringResource(R.string.SelectRestoreMethodFragment__your_free_or_paid_signal_backup_plan) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt index bf50bb2537..6c72cb4a7a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt @@ -41,10 +41,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter -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.unit.dp import androidx.fragment.app.activityViewModels @@ -66,6 +63,7 @@ import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.signal.registration.proto.RegistrationProvisionMessage import org.thoughtcrime.securesms.R @@ -180,7 +178,7 @@ private fun RestoreViaQrScreen( IconButton(onClick = { controller.toggle() }) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_more_vertical_24), + imageVector = SignalIcons.MoreVertical.imageVector, contentDescription = null ) } @@ -302,17 +300,17 @@ private fun RestoreViaQrScreen( .widthIn(160.dp, 320.dp) ) { InstructionRow( - icon = painterResource(R.drawable.symbol_phone_24), + icon = SignalIcons.Phone.painter, instruction = stringResource(R.string.RestoreViaQr_instruction_1) ) InstructionRow( - icon = painterResource(R.drawable.symbol_camera_24), + icon = SignalIcons.Camera.painter, instruction = stringResource(R.string.RestoreViaQr_instruction_2) ) InstructionRow( - icon = painterResource(R.drawable.symbol_qrcode_24), + icon = SignalIcons.QrCode.painter, instruction = stringResource(R.string.RestoreViaQr_instruction_3) ) } @@ -430,7 +428,7 @@ private fun InstructionRow( private fun InstructionRowPreview() { Previews.Preview { InstructionRow( - icon = painterResource(R.drawable.symbol_phone_24), + icon = SignalIcons.Phone.painter, instruction = "Instruction!" ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/RestoreWelcomeBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/RestoreWelcomeBottomSheet.kt index 8b42781363..4f426ab649 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/RestoreWelcomeBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/welcome/RestoreWelcomeBottomSheet.kt @@ -32,6 +32,7 @@ import androidx.fragment.app.setFragmentResult import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.horizontalGutters import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -86,7 +87,7 @@ private fun Sheet( Spacer(modifier = Modifier.size(26.dp)) RestoreActionRow( - icon = painterResource(R.drawable.symbol_qrcode_24), + icon = SignalIcons.QrCode.painter, title = stringResource(R.string.WelcomeFragment_restore_action_i_have_my_old_phone), subtitle = stringResource(R.string.WelcomeFragment_restore_action_scan_qr), onRowClick = onHasOldPhone @@ -156,7 +157,7 @@ fun RestoreActionRow( private fun RestoreActionRowPreview() { Previews.Preview { RestoreActionRow( - icon = painterResource(R.drawable.symbol_qrcode_24), + icon = SignalIcons.QrCode.painter, title = stringResource(R.string.WelcomeFragment_restore_action_i_have_my_old_phone), subtitle = stringResource(R.string.WelcomeFragment_restore_action_scan_qr) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java b/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java index ce5dfa5dfc..c9e063d99f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/KeyCachingService.java @@ -32,6 +32,7 @@ import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.core.content.ContextCompat; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.concurrent.SignalExecutors; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.BuildConfig; @@ -49,6 +50,7 @@ import org.thoughtcrime.securesms.util.AppForegroundObserver; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.ServiceUtil; +import java.util.Objects; import java.util.concurrent.TimeUnit; /** @@ -279,7 +281,7 @@ public class KeyCachingService extends Service { builder.setPriority(Notification.PRIORITY_MIN); builder.setOngoing(true); - builder.addAction(R.drawable.symbol_lock_24, getString(R.string.KeyCachingService_lock), buildLockIntent()); + builder.addAction(org.signal.core.ui.R.drawable.symbol_lock_24, getString(R.string.KeyCachingService_lock), buildLockIntent()); builder.setContentIntent(buildLaunchIntent()); stopForeground(true); diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt index 6cec3e640b..a53e6ba5b0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareActivity.kt @@ -44,6 +44,7 @@ import org.thoughtcrime.securesms.util.ConversationUtil import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme import org.thoughtcrime.securesms.util.visible import java.util.concurrent.TimeUnit +import org.signal.core.ui.R as CoreUiR class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.Callback { @@ -109,7 +110,7 @@ class ShareActivity : PassphraseRequiredActivity(), MultiselectForwardFragment.C if (intent?.getBooleanExtra(EXTRA_NAVIGATION, false) == true) { toolbar.setTitle(getTitleFromExtras()) - toolbar.setNavigationIcon(R.drawable.symbol_arrow_start_24) + toolbar.setNavigationIcon(CoreUiR.drawable.symbol_arrow_start_24) toolbar.setNavigationOnClickListener { finish() } } else { toolbar.visible = false diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerManagementScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerManagementScreen.kt index 91b2e6d1e8..e4afaf6c56 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerManagementScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerManagementScreen.kt @@ -67,6 +67,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Snackbars import org.signal.core.ui.compose.copied.androidx.compose.DragAndDropEvent import org.signal.core.ui.compose.copied.androidx.compose.DraggableItem @@ -81,6 +82,7 @@ import org.thoughtcrime.securesms.stickers.StickerPreviewDataFactory import org.thoughtcrime.securesms.stickers.manage.AvailableStickerPack.DownloadStatus import org.thoughtcrime.securesms.window.getWindowSizeClass import java.text.NumberFormat +import org.signal.core.ui.R as CoreUiR object StickerManagementScreen { /** @@ -277,7 +279,7 @@ private fun TopAppBar( modifier = Modifier.padding(end = 16.dp) ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + imageVector = SignalIcons.ArrowStart.imageVector, contentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description) ) } @@ -325,7 +327,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) }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_x_24), + navigationIcon = SignalIcons.X.imageVector, navigationContentDescription = stringResource(R.string.StickerManagement_accessibility_exit_multi_select_mode), onNavigationClick = onExitClick ) @@ -546,7 +548,7 @@ private fun InstalledStickersContent( visible = multiSelectEnabled, items = listOf( ActionItem( - iconRes = R.drawable.symbol_check_circle_24, + iconRes = CoreUiR.drawable.symbol_check_circle_24, title = if (selectedPackIds.size == packs.size) { stringResource(R.string.StickerManagement_action_deselect_all) } else { @@ -555,7 +557,7 @@ private fun InstalledStickersContent( action = callbacks::onSelectAllToggle ), ActionItem( - iconRes = R.drawable.symbol_trash_24, + iconRes = CoreUiR.drawable.symbol_trash_24, title = stringResource(R.string.StickerManagement_action_delete_selected), action = { callbacks.onRemoveClick(selectedPackIds) } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerPackListItems.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerPackListItems.kt index f5eb42c8f8..45cd5f9bae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerPackListItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/manage/StickerPackListItems.kt @@ -34,6 +34,7 @@ import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.nullIfBlank import org.signal.glide.compose.GlideImage @@ -131,7 +132,7 @@ fun AvailableStickerPackRow( ) MenuItem( - icon = ImageVector.vectorResource(R.drawable.symbol_forward_24), + icon = SignalIcons.Forward.imageVector, text = stringResource(R.string.StickerManagement_menu_forward_pack), onClick = { onForwardClick(pack) @@ -199,7 +200,7 @@ fun InstalledStickerPackRow( modifier = modifier.background(SignalTheme.colors.colorSurface2) ) { MenuItem( - icon = ImageVector.vectorResource(R.drawable.symbol_forward_24), + icon = SignalIcons.Forward.imageVector, text = stringResource(R.string.StickerManagement_menu_forward_pack), onClick = { onForwardClick(pack) @@ -208,7 +209,7 @@ fun InstalledStickerPackRow( ) MenuItem( - icon = ImageVector.vectorResource(R.drawable.symbol_check_circle_24), + icon = SignalIcons.CheckCircle.imageVector, text = stringResource(R.string.StickerManagement_menu_select_pack), onClick = { onSelectionToggle(pack) @@ -217,7 +218,7 @@ fun InstalledStickerPackRow( ) MenuItem( - icon = ImageVector.vectorResource(R.drawable.symbol_trash_24), + icon = SignalIcons.Trash.imageVector, text = stringResource(R.string.StickerManagement_menu_remove_pack), onClick = { onRemoveClick(pack) @@ -402,7 +403,7 @@ private fun MenuItem( @Composable private fun MenuItemPreview() = Previews.Preview { MenuItem( - icon = ImageVector.vectorResource(R.drawable.symbol_forward_24), + icon = SignalIcons.Forward.imageVector, text = "Forward", onClick = { } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/preview/StickerPackPreviewActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/preview/StickerPackPreviewActivityV2.kt index 12be62e5f6..81c0232b78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/preview/StickerPackPreviewActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/preview/StickerPackPreviewActivityV2.kt @@ -52,6 +52,7 @@ import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.util.orNull import org.signal.core.util.toOptional import org.signal.glide.compose.GlideImage @@ -235,7 +236,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) }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = stringResource(R.string.DefaultTopAppBar__navigate_up_content_description), onNavigationClick = onNavigateUp, actions = { @@ -245,7 +246,7 @@ private fun TopAppBar( modifier = Modifier.padding(horizontal = 8.dp) ) { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_forward_24), + imageVector = SignalIcons.Forward.imageVector, contentDescription = stringResource(R.string.StickerManagement_menu_forward_pack) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt index 8f1701c9c4..45025c49ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/dialogs/StoryContextMenu.kt @@ -34,6 +34,7 @@ import org.thoughtcrime.securesms.util.DeleteDialog import org.thoughtcrime.securesms.util.MediaUtil import org.thoughtcrime.securesms.util.SaveAttachmentUtil import java.io.ByteArrayInputStream +import org.signal.core.ui.R as CoreUiR object StoryContextMenu { @@ -204,7 +205,7 @@ object StoryContextMenu { ) } else { add( - ActionItem(R.drawable.symbol_check_circle_24, context.getString(R.string.StoriesLandingItem__unhide_story)) { + ActionItem(CoreUiR.drawable.symbol_check_circle_24, context.getString(R.string.StoriesLandingItem__unhide_story)) { callbacks.onUnhide() } ) @@ -213,17 +214,17 @@ object StoryContextMenu { if (isFromSelf) { add( - ActionItem(R.drawable.symbol_forward_24, context.getString(R.string.StoriesLandingItem__forward)) { + ActionItem(CoreUiR.drawable.symbol_forward_24, context.getString(R.string.StoriesLandingItem__forward)) { callbacks.onForward() } ) add( - ActionItem(R.drawable.symbol_share_android_24, context.getString(R.string.StoriesLandingItem__share)) { + ActionItem(CoreUiR.drawable.symbol_share_android_24, context.getString(R.string.StoriesLandingItem__share)) { callbacks.onShare() } ) add( - ActionItem(R.drawable.symbol_trash_24, context.getString(R.string.delete)) { + ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.delete)) { callbacks.onDelete() } ) @@ -243,7 +244,7 @@ object StoryContextMenu { } add( - ActionItem(R.drawable.symbol_info_24, context.getString(R.string.StoriesLandingItem__info)) { + ActionItem(CoreUiR.drawable.symbol_info_24, context.getString(R.string.StoriesLandingItem__info)) { callbacks.onInfo() } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesItem.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesItem.kt index 6d0f42845e..23eee147f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesItem.kt @@ -26,6 +26,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible import java.util.Locale +import org.signal.core.ui.R as CoreUiR object MyStoriesItem { @@ -191,10 +192,10 @@ object MyStoriesItem { .offsetY(DimensionUnit.DP.toPixels(12f).toInt()) .show( listOf( - ActionItem(R.drawable.symbol_trash_24, context.getString(R.string.delete)) { model.onDeleteClick(model) }, - ActionItem(R.drawable.symbol_forward_24, context.getString(R.string.MyStories_forward)) { model.onForwardClick(model) }, - ActionItem(R.drawable.symbol_share_android_24, context.getString(R.string.StoriesLandingItem__share)) { model.onShareClick(model) }, - ActionItem(R.drawable.symbol_info_24, context.getString(R.string.StoriesLandingItem__info)) { model.onInfoClick(model, storyPreview) } + ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.delete)) { model.onDeleteClick(model) }, + ActionItem(CoreUiR.drawable.symbol_forward_24, context.getString(R.string.MyStories_forward)) { model.onForwardClick(model) }, + ActionItem(CoreUiR.drawable.symbol_share_android_24, context.getString(R.string.StoriesLandingItem__share)) { model.onShareClick(model) }, + ActionItem(CoreUiR.drawable.symbol_info_24, context.getString(R.string.StoriesLandingItem__info)) { model.onInfoClick(model, storyPreview) } ) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStoryItem.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStoryItem.kt index 5fdef7cb30..ae2211e4f7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStoryItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStoryItem.kt @@ -11,13 +11,12 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -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.PreviewLightDark import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows +import org.signal.core.ui.compose.SignalIcons import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.AvatarImageView import org.thoughtcrime.securesms.components.settings.PreferenceModel @@ -136,7 +135,7 @@ object PrivateStoryItem { }, icon = { Icon( - imageVector = ImageVector.vectorResource(R.drawable.symbol_plus_24), + imageVector = SignalIcons.Plus.imageVector, contentDescription = null, modifier = Modifier .size(40.dp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt index ff283fe3df..9c96249aff 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt @@ -17,12 +17,10 @@ import androidx.compose.runtime.livedata.observeAsState 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.platform.LocalContext import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment @@ -36,6 +34,7 @@ import org.signal.core.ui.compose.Dividers import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds +import org.signal.core.ui.compose.SignalIcons import org.signal.core.ui.compose.Texts import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage @@ -146,11 +145,11 @@ private fun PrivateStorySettingsScreen( Scaffolds.Settings( title = state.privateStory?.name.orEmpty(), onNavigationClick = callback::onNavigationClick, - navigationIcon = ImageVector.vectorResource(id = R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, actions = { IconButton(onClick = callback::onEditClick) { Icon( - imageVector = ImageVector.vectorResource(id = R.drawable.symbol_edit_24), + imageVector = SignalIcons.Edit.imageVector, contentDescription = stringResource(R.string.EditPrivateStoryNameFragment__edit_story_name) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyItem.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyItem.kt index 26f75dda5c..ca34a51989 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyItem.kt @@ -39,6 +39,7 @@ import org.thoughtcrime.securesms.util.changeConstraints import org.thoughtcrime.securesms.util.padding import org.thoughtcrime.securesms.util.visible import java.util.Locale +import org.signal.core.ui.R as CoreUiR typealias OnCopyClick = (CharSequence) -> Unit typealias OnDeleteClick = (MessageRecord) -> Unit @@ -205,7 +206,7 @@ object StoryGroupReplyItem { val actions = mutableListOf() if (model.onCopyClick != null) { - actions += ActionItem(R.drawable.symbol_copy_android_24, context.getString(R.string.StoryGroupReplyItem__copy)) { + actions += ActionItem(CoreUiR.drawable.symbol_copy_android_24, context.getString(R.string.StoryGroupReplyItem__copy)) { val toCopy: CharSequence = when (model) { is TextModel -> model.text.message.getDisplayBody(context) else -> model.messageRecord.getDisplayBody(context) @@ -213,7 +214,7 @@ object StoryGroupReplyItem { model.onCopyClick.invoke(toCopy) } } - actions += ActionItem(R.drawable.symbol_trash_24, context.getString(R.string.StoryGroupReplyItem__delete)) { model.onDeleteClick(model.messageRecord) } + actions += ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.StoryGroupReplyItem__delete)) { model.onDeleteClick(model.messageRecord) } SignalContextMenu.Builder(itemView, itemView.rootView as ViewGroup) .preferredHorizontalPosition(SignalContextMenu.HorizontalPosition.START) diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java b/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java index 29b8043741..4696cd596b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/CommunicationActions.java @@ -421,7 +421,7 @@ public class CommunicationActions { callContext.getPermissionsBuilder() .request(Manifest.permission.RECORD_AUDIO) .ifNecessary() - .withRationaleDialog(callContext.getContext().getString(R.string.ConversationActivity_allow_access_microphone), callContext.getContext().getString(R.string.ConversationActivity__to_call_signal_needs_access_to_your_microphone), R.drawable.symbol_phone_24) + .withRationaleDialog(callContext.getContext().getString(R.string.ConversationActivity_allow_access_microphone), callContext.getContext().getString(R.string.ConversationActivity__to_call_signal_needs_access_to_your_microphone), org.signal.core.ui.R.drawable.symbol_phone_24) .withPermanentDenialDialog(callContext.getContext().getString(R.string.ConversationActivity__to_call_signal_needs_access_to_your_microphone), null, R.string.ConversationActivity_allow_access_microphone, R.string.ConversationActivity__to_start_call, callContext.getFragmentManager()) .onAnyDenied(() -> Toast.makeText(callContext.getContext(), R.string.ConversationActivity_signal_needs_microphone_access_voice_call, Toast.LENGTH_LONG).show()) .onAllGranted(() -> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java b/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java index ac715b502e..4c3d140dbe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java @@ -22,9 +22,12 @@ import androidx.annotation.NonNull; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import org.signal.core.ui.compose.SignalIcons; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.registration.ui.RegistrationActivity; +import java.util.Objects; + public class Dialogs { public static void showAlertDialog(Context context, String title, String message) { new MaterialAlertDialogBuilder(context) @@ -38,7 +41,7 @@ public class Dialogs { new MaterialAlertDialogBuilder(context) .setTitle(title) .setMessage(message) - .setIcon(R.drawable.symbol_info_24) + .setIcon(org.signal.core.ui.R.drawable.symbol_info_24) .setPositiveButton(android.R.string.ok, null) .show(); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/verify/VerifyDisplayFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/verify/VerifyDisplayFragment.kt index 5e3d01680c..e4d6ef7b84 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/verify/VerifyDisplayFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/verify/VerifyDisplayFragment.kt @@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.visible import java.nio.charset.StandardCharsets import java.util.Locale +import org.signal.core.ui.R as CoreUiR /** * Fragment to display a user's identity key. @@ -123,13 +124,13 @@ class VerifyDisplayFragment : Fragment() { } AutomaticVerificationStatus.UNAVAILABLE_PERMANENT -> { binding.autoVerifyText.text = getString(R.string.verify_display_fragment__encryption_unavailable) - binding.autoVerifyIcon.setImageResource(R.drawable.symbol_info_24) + binding.autoVerifyIcon.setImageResource(CoreUiR.drawable.symbol_info_24) ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))) binding.autoVerifyMore.visible = true } AutomaticVerificationStatus.UNAVAILABLE_TEMPORARY -> { binding.autoVerifyText.text = getString(R.string.verify_display_fragment__encryption_unavailable) - binding.autoVerifyIcon.setImageResource(R.drawable.symbol_info_24) + binding.autoVerifyIcon.setImageResource(CoreUiR.drawable.symbol_info_24) ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))) binding.autoVerifyMore.visible = true } diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperCropActivity.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperCropActivity.java index c4fea529b9..eb5a2b125f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperCropActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperCropActivity.java @@ -21,6 +21,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; +import org.signal.core.ui.compose.SignalIcons; import org.signal.core.util.logging.Log; import org.signal.imageeditor.core.ImageEditorView; import org.signal.imageeditor.core.model.EditorElement; @@ -102,7 +103,7 @@ public final class WallpaperCropActivity extends BaseActivity { Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar supportActionBar = Objects.requireNonNull(getSupportActionBar()); - supportActionBar.setHomeAsUpIndicator(ContextCompat.getDrawable(this, R.drawable.symbol_arrow_start_24)); + supportActionBar.setHomeAsUpIndicator(ContextCompat.getDrawable(this, org.signal.core.ui.R.drawable.symbol_arrow_start_24)); supportActionBar.setDisplayHomeAsUpEnabled(true); blur.setOnCheckedChangeListener((v, checked) -> viewModel.setBlur(checked)); diff --git a/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffoldWithTopBar.kt b/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffoldWithTopBar.kt index d8e09e02c4..0e8ab24ec4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffoldWithTopBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffoldWithTopBar.kt @@ -17,13 +17,11 @@ 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.vector.ImageVector -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.style.TextAlign import org.signal.core.ui.compose.AllDevicePreviews import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Scaffolds -import org.thoughtcrime.securesms.R +import org.signal.core.ui.compose.SignalIcons @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3AdaptiveApi::class) @AllDevicePreviews @@ -39,7 +37,7 @@ private fun AppScaffoldWithTopBarPreview() { Scaffolds.DefaultTopAppBar( title = "Hello World!", titleContent = { _, title -> Text(text = title, style = MaterialTheme.typography.titleLarge) }, - navigationIcon = ImageVector.vectorResource(R.drawable.symbol_arrow_start_24), + navigationIcon = SignalIcons.ArrowStart.imageVector, navigationContentDescription = "", onNavigationClick = { } ) diff --git a/app/src/main/res/drawable/symbol_camera_24.xml b/app/src/main/res/drawable/symbol_camera_24.xml deleted file mode 100644 index 9270ddabc5..0000000000 --- a/app/src/main/res/drawable/symbol_camera_24.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/symbol_phone_24.xml b/app/src/main/res/drawable/symbol_phone_24.xml deleted file mode 100644 index c011052eb4..0000000000 --- a/app/src/main/res/drawable/symbol_phone_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/symbol_qrcode_24.xml b/app/src/main/res/drawable/symbol_qrcode_24.xml deleted file mode 100644 index 9a2b327532..0000000000 --- a/app/src/main/res/drawable/symbol_qrcode_24.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - diff --git a/core/ui/src/main/java/org/signal/core/ui/compose/SignalIcons.kt b/core/ui/src/main/java/org/signal/core/ui/compose/SignalIcons.kt index b0776f64e8..7e46f500a4 100644 --- a/core/ui/src/main/java/org/signal/core/ui/compose/SignalIcons.kt +++ b/core/ui/src/main/java/org/signal/core/ui/compose/SignalIcons.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import org.signal.core.ui.R @@ -30,10 +31,28 @@ import org.signal.core.ui.R * Signal icon library with all available icons. */ enum class SignalIcons(private val icon: SignalIcon) : SignalIcon by icon { - Keyboard(icon(R.drawable.ic_keyboard_24)), + ArrowStart(icon(R.drawable.symbol_arrow_start_24)), + At(icon(R.drawable.symbol_at_24)), + Backup(icon(R.drawable.symbol_backup_24)), Camera(icon(R.drawable.symbol_camera_24)), + CheckCircle(icon(R.drawable.symbol_check_circle_24)), + Copy(icon(R.drawable.symbol_copy_android_24)), + Edit(icon(R.drawable.symbol_edit_24)), + ErrorCircle(icon(R.drawable.symbol_error_circle_fill_24)), + Forward(icon(R.drawable.symbol_forward_24)), + Info(icon(R.drawable.symbol_info_24)), + Keyboard(icon(R.drawable.ic_keyboard_24)), + Link(icon(R.drawable.symbol_link_24)), + Lock(icon(R.drawable.symbol_lock_24)), + MoreVertical(icon(R.drawable.symbol_more_vertical_24)), Phone(icon(R.drawable.symbol_phone_24)), - QrCode(icon(R.drawable.symbol_qrcode_24)) + Plus(icon(R.drawable.symbol_plus_24)), + QrCode(icon(R.drawable.symbol_qrcode_24)), + Search(icon(R.drawable.symbol_search_24)), + Settings(icon(R.drawable.symbol_settings_android_24)), + Share(icon(R.drawable.symbol_share_android_24)), + Trash(icon(R.drawable.symbol_trash_24)), + X(icon(R.drawable.symbol_x_24)) } private fun icon(@DrawableRes id: Int) = SignalIcon.DrawableIcon(id) @@ -43,6 +62,9 @@ sealed interface SignalIcon { @get:Composable val painter: Painter + @get:Composable + val imageVector: ImageVector + /** * Icon backed by an XML drawable resource. */ @@ -51,6 +73,10 @@ sealed interface SignalIcon { @get:Composable override val painter: Painter get() = painterResource(drawableId) + + @get:Composable + override val imageVector: ImageVector + get() = ImageVector.vectorResource(drawableId) } /** @@ -61,6 +87,10 @@ sealed interface SignalIcon { @get:Composable override val painter: Painter get() = rememberVectorPainter(image) + + @get:Composable + override val imageVector: ImageVector + get() = image } } diff --git a/app/src/main/res/drawable/symbol_arrow_start_24.xml b/core/ui/src/main/res/drawable/symbol_arrow_start_24.xml similarity index 90% rename from app/src/main/res/drawable/symbol_arrow_start_24.xml rename to core/ui/src/main/res/drawable/symbol_arrow_start_24.xml index 8b33a69334..7d24539b3b 100644 --- a/app/src/main/res/drawable/symbol_arrow_start_24.xml +++ b/core/ui/src/main/res/drawable/symbol_arrow_start_24.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/symbol_at_24.xml b/core/ui/src/main/res/drawable/symbol_at_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_at_24.xml rename to core/ui/src/main/res/drawable/symbol_at_24.xml diff --git a/app/src/main/res/drawable/symbol_backup_24.xml b/core/ui/src/main/res/drawable/symbol_backup_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_backup_24.xml rename to core/ui/src/main/res/drawable/symbol_backup_24.xml diff --git a/app/src/main/res/drawable/symbol_check_circle_24.xml b/core/ui/src/main/res/drawable/symbol_check_circle_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_check_circle_24.xml rename to core/ui/src/main/res/drawable/symbol_check_circle_24.xml diff --git a/app/src/main/res/drawable/symbol_copy_android_24.xml b/core/ui/src/main/res/drawable/symbol_copy_android_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_copy_android_24.xml rename to core/ui/src/main/res/drawable/symbol_copy_android_24.xml diff --git a/app/src/main/res/drawable/symbol_edit_24.xml b/core/ui/src/main/res/drawable/symbol_edit_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_edit_24.xml rename to core/ui/src/main/res/drawable/symbol_edit_24.xml diff --git a/app/src/main/res/drawable/symbol_error_circle_fill_24.xml b/core/ui/src/main/res/drawable/symbol_error_circle_fill_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_error_circle_fill_24.xml rename to core/ui/src/main/res/drawable/symbol_error_circle_fill_24.xml diff --git a/app/src/main/res/drawable/symbol_forward_24.xml b/core/ui/src/main/res/drawable/symbol_forward_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_forward_24.xml rename to core/ui/src/main/res/drawable/symbol_forward_24.xml diff --git a/app/src/main/res/drawable/symbol_info_24.xml b/core/ui/src/main/res/drawable/symbol_info_24.xml similarity index 88% rename from app/src/main/res/drawable/symbol_info_24.xml rename to core/ui/src/main/res/drawable/symbol_info_24.xml index 8fedd42b29..749476dff6 100644 --- a/app/src/main/res/drawable/symbol_info_24.xml +++ b/core/ui/src/main/res/drawable/symbol_info_24.xml @@ -4,10 +4,10 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/symbol_link_24.xml b/core/ui/src/main/res/drawable/symbol_link_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_link_24.xml rename to core/ui/src/main/res/drawable/symbol_link_24.xml diff --git a/app/src/main/res/drawable/symbol_lock_24.xml b/core/ui/src/main/res/drawable/symbol_lock_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_lock_24.xml rename to core/ui/src/main/res/drawable/symbol_lock_24.xml diff --git a/app/src/main/res/drawable/symbol_more_vertical_24.xml b/core/ui/src/main/res/drawable/symbol_more_vertical_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_more_vertical_24.xml rename to core/ui/src/main/res/drawable/symbol_more_vertical_24.xml diff --git a/app/src/main/res/drawable/symbol_plus_24.xml b/core/ui/src/main/res/drawable/symbol_plus_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_plus_24.xml rename to core/ui/src/main/res/drawable/symbol_plus_24.xml diff --git a/app/src/main/res/drawable/symbol_search_24.xml b/core/ui/src/main/res/drawable/symbol_search_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_search_24.xml rename to core/ui/src/main/res/drawable/symbol_search_24.xml diff --git a/app/src/main/res/drawable/symbol_settings_android_24.xml b/core/ui/src/main/res/drawable/symbol_settings_android_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_settings_android_24.xml rename to core/ui/src/main/res/drawable/symbol_settings_android_24.xml diff --git a/app/src/main/res/drawable/symbol_share_android_24.xml b/core/ui/src/main/res/drawable/symbol_share_android_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_share_android_24.xml rename to core/ui/src/main/res/drawable/symbol_share_android_24.xml diff --git a/app/src/main/res/drawable/symbol_trash_24.xml b/core/ui/src/main/res/drawable/symbol_trash_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_trash_24.xml rename to core/ui/src/main/res/drawable/symbol_trash_24.xml diff --git a/app/src/main/res/drawable/symbol_x_24.xml b/core/ui/src/main/res/drawable/symbol_x_24.xml similarity index 100% rename from app/src/main/res/drawable/symbol_x_24.xml rename to core/ui/src/main/res/drawable/symbol_x_24.xml