Centralize common icons into SignalIcons.

This commit is contained in:
jeffrey-signal
2026-01-28 09:48:47 -05:00
committed by Greyson Parrelli
parent e6918b592e
commit ce46c44b5d
152 changed files with 411 additions and 426 deletions

View File

@@ -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)
)

View File

@@ -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,

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()
}

View File

@@ -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

View File

@@ -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)
)
}

View File

@@ -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(

View File

@@ -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
)

View File

@@ -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 ->

View File

@@ -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 ->

View File

@@ -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"
)
)

View File

@@ -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

View File

@@ -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),

View File

@@ -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

View File

@@ -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
},

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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

View File

@@ -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)

View File

@@ -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
)

View File

@@ -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
) {

View File

@@ -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()

View File

@@ -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);

View File

@@ -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)
)
}

View File

@@ -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
)

View File

@@ -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)
)

View File

@@ -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(

View File

@@ -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

View File

@@ -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))

View File

@@ -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))

View File

@@ -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
)
}

View File

@@ -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(

View File

@@ -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)
)
}

View File

@@ -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

View File

@@ -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()
}
)

View File

@@ -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(

View File

@@ -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(

View File

@@ -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

View File

@@ -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(

View File

@@ -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))

View File

@@ -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
) {

View File

@@ -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)

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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

View File

@@ -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
)

View File

@@ -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
)

View File

@@ -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)

View File

@@ -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
)
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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(

View File

@@ -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) }

View File

@@ -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)

View File

@@ -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,

View File

@@ -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

View File

@@ -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
)
}

View File

@@ -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(

View File

@@ -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)

View File

@@ -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
)

View File

@@ -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)
)
}

View File

@@ -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")
}
}
}

View File

@@ -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)
)

View File

@@ -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)
)
}

View File

@@ -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(

View File

@@ -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(

View File

@@ -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

View File

@@ -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
)
}

View File

@@ -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
)

View File

@@ -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<ActionItem> {
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<ActionItem> {
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)
}
)

View File

@@ -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;
}

View File

@@ -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<ActionItem>().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()
}
)

View File

@@ -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()
}
)

View File

@@ -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<ActionItem> {
val canCopy = message.multiselectCollection.toSet().any { it !is Attachments && message.messageRecord.body.isNotEmpty() }
val items: MutableList<ActionItem> = 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) }))

View File

@@ -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) {

View File

@@ -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))

View File

@@ -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()
}

View File

@@ -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(

View File

@@ -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)

View File

@@ -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), () -> {

View File

@@ -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

View File

@@ -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)

View File

@@ -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(

View File

@@ -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)
)

View File

@@ -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(

View File

@@ -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)
)
},

View File

@@ -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)
)
}

View File

@@ -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)
));
}
}

View File

@@ -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)
)

View File

@@ -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() }

View File

@@ -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)
)
}

View File

@@ -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()))

View File

@@ -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
)

View File

@@ -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 = {

View File

@@ -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;
}

Some files were not shown because too many files have changed in this diff Show More