From 81d5901e722b55d28b83c21f43b38abbd1619b16 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 14 Jun 2024 17:28:52 +0930 Subject: [PATCH] Rename Palette to Colors --- .../DisappearingMessagesActivity.kt | 5 ++-- .../ui/DisappearingMessages.kt | 4 +-- .../ui/DisappearingMessagesPreview.kt | 6 ++-- .../newmessage/NewMessageFragment.kt | 16 +++++------ .../start/InviteFriendFragment.kt | 14 +++++----- .../start/NewConversationHomeFragment.kt | 10 +++---- .../conversation/v2/MessageDetailActivity.kt | 11 ++++---- .../securesms/home/HomeActivity.kt | 20 ++++++------- .../securesms/onboarding/LandingActivity.kt | 12 ++++---- .../MessageNotificationsActivity.kt | 7 ++--- .../RecoveryPasswordActivity.kt | 14 +++++----- .../securesms/preferences/QRCodeActivity.kt | 6 ++-- .../securesms/preferences/SettingsActivity.kt | 4 +-- .../org/thoughtcrime/securesms/ui/Carousel.kt | 2 +- .../securesms/ui/{Palette.kt => Colors.kt} | 26 ++++++++--------- .../thoughtcrime/securesms/ui/Components.kt | 13 ++++----- .../org/thoughtcrime/securesms/ui/Themes.kt | 28 ++++++++----------- .../org/thoughtcrime/securesms/ui/Util.kt | 14 ++++------ .../securesms/ui/components/AppBar.kt | 6 ++-- .../securesms/ui/components/Button.kt | 20 ++++++------- .../securesms/ui/components/QR.kt | 4 +-- .../securesms/ui/components/QrImage.kt | 8 +++--- .../ui/components/SessionOutlinedButton.kt | 26 ++++++++--------- .../securesms/ui/components/SessionTabRow.kt | 17 ++++++----- .../securesms/ui/components/Text.kt | 7 ++--- 25 files changed, 142 insertions(+), 158 deletions(-) rename app/src/main/java/org/thoughtcrime/securesms/ui/{Palette.kt => Colors.kt} (93%) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt index 8661e22fc9..f66512d79f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt @@ -18,8 +18,7 @@ import org.thoughtcrime.securesms.conversation.disappearingmessages.ui.Disappear import org.thoughtcrime.securesms.conversation.disappearingmessages.ui.UiState import org.thoughtcrime.securesms.database.RecipientDatabase import org.thoughtcrime.securesms.database.ThreadDatabase -import org.thoughtcrime.securesms.ui.SessionMaterialTheme -import org.thoughtcrime.securesms.ui.setContentWithTheme +import org.thoughtcrime.securesms.ui.setThemedContent import javax.inject.Inject @AndroidEntryPoint @@ -46,7 +45,7 @@ class DisappearingMessagesActivity: PassphraseRequiredActionBarActivity() { setUpToolbar() - binding.container.setContentWithTheme { DisappearingMessagesScreen() } + binding.container.setThemedContent { DisappearingMessagesScreen() } lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt index ef6f026e07..f0a31d6682 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp import network.loki.messenger.R import network.loki.messenger.libsession_util.util.ExpiryMode import org.thoughtcrime.securesms.ui.Callbacks -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.NoOpCallbacks import org.thoughtcrime.securesms.ui.OptionsCard import org.thoughtcrime.securesms.ui.RadioOption @@ -55,7 +55,7 @@ fun DisappearingMessages( text = stringResource(R.string.activity_disappearing_messages_group_footer), style = extraSmall, fontWeight = FontWeight(400), - color = LocalPalette.current.textSecondary, + color = LocalColors.current.textSecondary, textAlign = TextAlign.Center, modifier = Modifier.fillMaxWidth()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt index 87b02865e8..7e93e7f33c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt @@ -11,7 +11,7 @@ import network.loki.messenger.libsession_util.util.ExpiryMode import org.thoughtcrime.securesms.conversation.disappearingmessages.ExpiryType import org.thoughtcrime.securesms.conversation.disappearingmessages.State import org.thoughtcrime.securesms.ui.PreviewTheme -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider @Preview(widthDp = 450, heightDp = 700) @@ -51,9 +51,9 @@ class StatePreviewParameterProvider : PreviewParameterProvider { @Preview @Composable fun PreviewThemes( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { DisappearingMessages( State(expiryMode = ExpiryMode.AfterSend(43200)).toUiState(), modifier = Modifier.size(400.dp, 600.dp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/newmessage/NewMessageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/newmessage/NewMessageFragment.kt index 45dc82cf07..e8bb24403d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/newmessage/NewMessageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/newmessage/NewMessageFragment.kt @@ -43,8 +43,8 @@ import org.thoughtcrime.securesms.dependencies.DatabaseComponent import org.thoughtcrime.securesms.showOpenUrlDialog import org.thoughtcrime.securesms.ui.LoadingArcOr import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.LocalColors +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.components.AppBar @@ -54,7 +54,7 @@ import org.thoughtcrime.securesms.ui.components.SessionOutlinedTextField import org.thoughtcrime.securesms.ui.components.SessionTabRow import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.onCreateComposeView +import org.thoughtcrime.securesms.ui.createThemedComposeView class NewMessageFragment : Fragment() { @@ -75,7 +75,7 @@ class NewMessageFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? - ): View = onCreateComposeView { + ): View = requireContext().createThemedComposeView { val uiState by viewModel.state.collectAsState(State()) NewMessage( uiState, @@ -101,9 +101,9 @@ class NewMessageFragment : Fragment() { @Preview @Composable private fun PreviewNewMessage( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { NewMessage(State()) } } @@ -122,7 +122,7 @@ private fun NewMessage( ) { val pagerState = rememberPagerState { TITLES.size } - Column(modifier = Modifier.background(LocalPalette.current.backgroundSecondary)) { + Column(modifier = Modifier.background(LocalColors.current.backgroundSecondary)) { AppBar(stringResource(R.string.messageNew), onClose = onClose, onBack = onBack) SessionTabRow(pagerState, TITLES) HorizontalPager(pagerState) { @@ -161,7 +161,7 @@ fun EnterAccountId( BorderlessButtonWithIcon( text = stringResource(R.string.messageNewDescription), iconRes = R.drawable.ic_circle_question_mark, - contentColor = LocalPalette.current.textSecondary, + contentColor = LocalColors.current.textSecondary, modifier = Modifier .contentDescription(R.string.AccessibilityId_help_desk_link) .fillMaxWidth() diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/InviteFriendFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/InviteFriendFragment.kt index 9c32fe3594..2a9aedbd42 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/InviteFriendFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/InviteFriendFragment.kt @@ -29,14 +29,14 @@ import network.loki.messenger.R import org.session.libsession.utilities.TextSecurePreferences import org.thoughtcrime.securesms.preferences.copyPublicKey import org.thoughtcrime.securesms.preferences.sendInvitationToUseSession -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.base import org.thoughtcrime.securesms.ui.components.AppBar import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.components.SlimOutlineCopyButton import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.onCreateComposeView +import org.thoughtcrime.securesms.ui.createThemedComposeView import org.thoughtcrime.securesms.ui.small @AndroidEntryPoint @@ -46,7 +46,7 @@ class InviteFriendFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? - ): View = onCreateComposeView { + ): View = createThemedComposeView { InviteFriend( TextSecurePreferences.getLocalNumber(LocalContext.current)!!, onBack = { delegate.onDialogBackPressed() }, @@ -73,7 +73,7 @@ private fun InviteFriend( copyPublicKey: () -> Unit = {}, sendInvitation: () -> Unit = {}, ) { - Column(modifier = Modifier.background(LocalPalette.current.backgroundSecondary)) { + Column(modifier = Modifier.background(LocalColors.current.backgroundSecondary)) { AppBar(stringResource(R.string.invite_a_friend), onBack = onBack, onClose = onClose) Column( modifier = Modifier.padding(horizontal = 24.dp), @@ -83,7 +83,7 @@ private fun InviteFriend( modifier = Modifier .border( width = 1.dp, - color = LocalPalette.current.textSecondary, + color = LocalColors.current.textSecondary, shape = RoundedCornerShape(size = 13.dp) ) .fillMaxWidth() @@ -104,7 +104,7 @@ private fun InviteFriend( stringResource(R.string.invite_your_friend_to_chat_with_you_on_session_by_sharing_your_account_id_with_them), textAlign = TextAlign.Center, style = small, - color = LocalPalette.current.textSecondary, + color = LocalColors.current.textSecondary, modifier = Modifier.padding(horizontal = 8.dp) ) Row(horizontalArrangement = spacedBy(20.dp)) { @@ -118,7 +118,7 @@ private fun InviteFriend( SlimOutlineCopyButton( modifier = Modifier.weight(1f), - color = LocalPalette.current.text, + color = LocalColors.current.text, onClick = copyPublicKey ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/NewConversationHomeFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/NewConversationHomeFragment.kt index 8378934a1d..529affaeed 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/start/NewConversationHomeFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/start/NewConversationHomeFragment.kt @@ -19,12 +19,12 @@ import network.loki.messenger.R import org.session.libsession.utilities.TextSecurePreferences import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.ItemButton -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.LocalDimensions import org.thoughtcrime.securesms.ui.components.AppBar import org.thoughtcrime.securesms.ui.components.QrImage import org.thoughtcrime.securesms.ui.contentDescription -import org.thoughtcrime.securesms.ui.onCreateComposeView +import org.thoughtcrime.securesms.ui.createThemedComposeView import org.thoughtcrime.securesms.ui.small import org.thoughtcrime.securesms.ui.xl import javax.inject.Inject @@ -41,11 +41,11 @@ class NewConversationHomeFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? - ): View = onCreateComposeView { NewConversationScreen() } + ): View = createThemedComposeView { NewConversationScreen() } @Composable fun NewConversationScreen() { - Column(modifier = Modifier.background(LocalPalette.current.backgroundSecondary)) { + Column(modifier = Modifier.background(LocalColors.current.backgroundSecondary)) { AppBar(stringResource(R.string.dialog_new_conversation_title), onClose = { delegate.onDialogClosePressed() }) ItemButton(textId = R.string.messageNew, icon = R.drawable.ic_message) { delegate.onNewMessageSelected() } Divider(startIndent = LocalDimensions.current.dividerIndent) @@ -66,7 +66,7 @@ class NewConversationHomeFragment : Fragment() { Spacer(modifier = Modifier.height(LocalDimensions.current.itemSpacingTiny)) Text( text = stringResource(R.string.qrYoursDescription), - color = LocalPalette.current.textSecondary, + color = LocalColors.current.textSecondary, style = small ) Spacer(modifier = Modifier.height(LocalDimensions.current.itemSpacingSmall)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt index 1b635fc234..0bbf7e66e0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt @@ -28,7 +28,6 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.Icon -import androidx.compose.material.MaterialTheme import androidx.compose.material.Surface import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -65,9 +64,9 @@ import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.GetString import org.thoughtcrime.securesms.ui.HorizontalPagerIndicator import org.thoughtcrime.securesms.ui.ItemButton -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.PreviewTheme -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.TitledText import org.thoughtcrime.securesms.ui.base @@ -312,9 +311,9 @@ fun ExpandButton(modifier: Modifier = Modifier, onClick: () -> Unit) { @Preview @Composable fun PreviewMessageDetails( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { MessageDetails( state = MessageDetailsState( nonImageAttachmentFileDetails = listOf( @@ -361,7 +360,7 @@ fun FileDetails(fileDetails: List) { fun TitledErrorText(titledText: TitledText?) { TitledText( titledText, - style = base.copy(color = LocalPalette.current.danger) + style = base.copy(color = LocalColors.current.danger) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt index af85baeed7..a837f7aeab 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt @@ -94,8 +94,8 @@ import org.thoughtcrime.securesms.showMuteDialog import org.thoughtcrime.securesms.showSessionDialog import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.LocalColors +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.SessionShieldIcon @@ -104,7 +104,7 @@ import org.thoughtcrime.securesms.ui.components.SlimOutlineButton import org.thoughtcrime.securesms.ui.contentDescription import org.thoughtcrime.securesms.ui.h4 import org.thoughtcrime.securesms.ui.h8 -import org.thoughtcrime.securesms.ui.setContentWithTheme +import org.thoughtcrime.securesms.ui.setThemedContent import org.thoughtcrime.securesms.ui.small import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities import org.thoughtcrime.securesms.util.IP2Country @@ -206,7 +206,7 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), binding.sessionToolbar.disableClipping() // Set up seed reminder view lifecycleScope.launchWhenStarted { - binding.seedReminderView.setContentWithTheme { + binding.seedReminderView.setThemedContent { if (!textSecurePreferences.getHasViewedSeed()) SeedReminder() } } @@ -223,7 +223,7 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), } // Set up empty state view - binding.emptyStateContainer.setContentWithTheme { + binding.emptyStateContainer.setThemedContent { EmptyView(ApplicationContext.getInstance(this).newAccount) } @@ -364,9 +364,9 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), @Preview @Composable fun PreviewMessageDetails( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { SeedReminder() } } @@ -379,11 +379,11 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), Modifier .fillMaxWidth() .height(4.dp) - .background(LocalPalette.current.primary) + .background(LocalColors.current.primary) ) Row( Modifier - .background(LocalPalette.current.backgroundSecondary) + .background(LocalColors.current.backgroundSecondary) .padding( horizontal = LocalDimensions.current.marginSmall, vertical = LocalDimensions.current.marginExtraSmall @@ -438,7 +438,7 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), Text( stringResource(R.string.welcome_to_session), style = base, - color = LocalPalette.current.primary, + color = LocalColors.current.primary, textAlign = TextAlign.Center ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/LandingActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/LandingActivity.kt index 3c4e046f8c..e576b7356a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/LandingActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/LandingActivity.kt @@ -46,8 +46,8 @@ import org.thoughtcrime.securesms.onboarding.pickname.startPickDisplayNameActivi import org.thoughtcrime.securesms.service.KeyCachingService import org.thoughtcrime.securesms.showOpenUrlDialog import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.LocalColors +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.components.BorderlessHtmlButton @@ -95,9 +95,9 @@ class LandingActivity : BaseActionBarActivity() { @Preview @Composable private fun LandingScreen( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { LandingScreen() } } @@ -223,8 +223,8 @@ private fun MessageText(text: String, isOutgoing: Boolean, modifier: Modifier) { Box(modifier = modifier then Modifier.fillMaxWidth()) { MessageText( text, - color = if (isOutgoing) LocalPalette.current.backgroundBubbleSent else LocalPalette.current.backgroundBubbleReceived, - textColor = if (isOutgoing) LocalPalette.current.textBubbleSent else LocalPalette.current.textBubbleReceived, + color = if (isOutgoing) LocalColors.current.backgroundBubbleSent else LocalColors.current.backgroundBubbleReceived, + textColor = if (isOutgoing) LocalColors.current.textBubbleSent else LocalColors.current.textBubbleReceived, modifier = Modifier.align(if (isOutgoing) Alignment.TopEnd else Alignment.TopStart) ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotificationsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotificationsActivity.kt index 57ca4b0fdd..d7c34263ad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotificationsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/messagenotifications/MessageNotificationsActivity.kt @@ -9,7 +9,6 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -27,7 +26,7 @@ import org.thoughtcrime.securesms.BaseActionBarActivity import org.thoughtcrime.securesms.home.HomeActivity import org.thoughtcrime.securesms.notifications.PushRegistry import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.base @@ -74,9 +73,9 @@ class MessageNotificationsActivity : BaseActionBarActivity() { @Preview @Composable fun MessageNotificationsScreenPreview( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { MessageNotificationsScreen() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/onboarding/recoverypassword/RecoveryPasswordActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/onboarding/recoverypassword/RecoveryPasswordActivity.kt index 227a96c1ce..087685f890 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/onboarding/recoverypassword/RecoveryPasswordActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/onboarding/recoverypassword/RecoveryPasswordActivity.kt @@ -33,8 +33,8 @@ import org.thoughtcrime.securesms.BaseActionBarActivity import org.thoughtcrime.securesms.showSessionDialog import org.thoughtcrime.securesms.ui.CellWithPaddingAndMargin import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.LocalColors +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.SessionShieldIcon @@ -91,9 +91,9 @@ class RecoveryPasswordActivity : BaseActionBarActivity() { @Preview @Composable fun PreviewRecoveryPasswordScreen( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { RecoveryPasswordScreen(seed = "Voyage urban toyed maverick peculiar tuxedo penguin tree grass building listen speak withdraw terminal plane") } } @@ -189,13 +189,13 @@ private fun RecoveryPassword(seed: String) { .padding(vertical = LocalDimensions.current.marginSmall) .border( width = 1.dp, - color = LocalPalette.current.borders, + color = LocalColors.current.borders, shape = RoundedCornerShape(11.dp) ) .padding(LocalDimensions.current.marginSmall), textAlign = TextAlign.Center, style = extraSmallMonospace, - color = LocalPalette.current.run { if (isLight) text else primary }, + color = LocalColors.current.run { if (isLight) text else primary }, ) } @@ -222,7 +222,7 @@ private fun HideRecoveryPasswordCell(onHide: () -> Unit = {}) { .wrapContentWidth() .align(Alignment.CenterVertically) .contentDescription(R.string.AccessibilityId_hide_recovery_password_button), - color = LocalPalette.current.danger, + color = LocalColors.current.danger, onClick = onHide ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt index 93417dcbe7..9344dc52d1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/QRCodeActivity.kt @@ -8,13 +8,11 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState -import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.receiveAsFlow @@ -27,7 +25,7 @@ import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity import org.thoughtcrime.securesms.conversation.v2.ConversationActivityV2 import org.thoughtcrime.securesms.database.threadDatabase import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.components.MaybeScanQrCode import org.thoughtcrime.securesms.ui.components.QrImage import org.thoughtcrime.securesms.ui.components.SessionTabRow @@ -94,7 +92,7 @@ private fun Tabs(sessionId: String, errors: Flow, onScan: (String) -> Un fun QrPage(string: String) { Column( modifier = Modifier - .background(LocalPalette.current.backgroundSecondary) + .background(LocalColors.current.backgroundSecondary) .padding(horizontal = LocalDimensions.current.marginMedium) .fillMaxSize() ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt index 31f33006ea..910d62a368 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt @@ -81,7 +81,7 @@ import org.thoughtcrime.securesms.ui.LocalDimensions import org.thoughtcrime.securesms.ui.components.OutlineButton import org.thoughtcrime.securesms.ui.components.OutlineCopyButton import org.thoughtcrime.securesms.ui.destructiveButtonColors -import org.thoughtcrime.securesms.ui.setContentWithTheme +import org.thoughtcrime.securesms.ui.setThemedContent import org.thoughtcrime.securesms.util.BitmapDecodingException import org.thoughtcrime.securesms.util.BitmapUtil import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities @@ -132,7 +132,7 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { versionTextView.text = String.format(getString(R.string.version_s), "${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE} - $gitCommitFirstSixChars)") } - binding.composeView.setContentWithTheme { + binding.composeView.setThemedContent { Buttons() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt index 252cd4a8e2..2f46e37200 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt @@ -56,7 +56,7 @@ fun BoxScope.HorizontalPagerIndicator(pagerState: PagerState) { pagerState = pagerState, pageCount = pagerState.pageCount, activeColor = Color.White, - inactiveColor = LocalPalette.current.textSecondary) + inactiveColor = LocalColors.current.textSecondary) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Palette.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt similarity index 93% rename from app/src/main/java/org/thoughtcrime/securesms/ui/Palette.kt rename to app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt index d5d772ff97..6b45a5680b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Palette.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Colors.kt @@ -68,9 +68,9 @@ val disabledLight = Color(0xFF6D6D6D) val blackAlpha40 = Color.Black.copy(alpha = 0.4f) -val LocalPalette = staticCompositionLocalOf { ClassicDark() } +val LocalColors = staticCompositionLocalOf { ClassicDark() } -interface Palette { +interface Colors { val isLight: Boolean val primary: Color val danger: Color @@ -94,14 +94,14 @@ fun sessionColors( isLight: Boolean, isClassic: Boolean, primary: Color -): Palette = when { +): Colors = when { isClassic && isLight -> ::ClassicLight isLight -> ::OceanLight isClassic -> ::ClassicDark else -> ::OceanDark }(primary) -data class ClassicDark(override val primary: Color = primaryGreen): Palette { +data class ClassicDark(override val primary: Color = primaryGreen): Colors { override val isLight = false override val danger = dangerDark override val disabled = disabledDark @@ -119,7 +119,7 @@ data class ClassicDark(override val primary: Color = primaryGreen): Palette { override val qrCodeBackground = text } -data class ClassicLight(override val primary: Color = primaryGreen): Palette { +data class ClassicLight(override val primary: Color = primaryGreen): Colors { override val isLight = true override val danger = dangerLight override val disabled = disabledLight @@ -137,7 +137,7 @@ data class ClassicLight(override val primary: Color = primaryGreen): Palette { override val qrCodeBackground = backgroundSecondary } -data class OceanDark(override val primary: Color = primaryBlue): Palette { +data class OceanDark(override val primary: Color = primaryBlue): Colors { override val isLight = false override val danger = dangerDark override val disabled = disabledDark @@ -155,7 +155,7 @@ data class OceanDark(override val primary: Color = primaryBlue): Palette { override val qrCodeBackground = text } -data class OceanLight(override val primary: Color = primaryBlue): Palette { +data class OceanLight(override val primary: Color = primaryBlue): Colors { override val isLight = true override val danger = dangerLight override val disabled = disabledLight @@ -177,7 +177,7 @@ data class OceanLight(override val primary: Color = primaryBlue): Palette { fun transparentButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent) @Composable -fun destructiveButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent, contentColor = LocalPalette.current.danger) +fun destructiveButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent, contentColor = LocalColors.current.danger) @Composable fun Colors(name: String, colors: List) { @@ -193,9 +193,9 @@ fun Colors(name: String, colors: List) { @Preview @Composable fun PreviewThemeColors( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { ThemeColors() } + PreviewTheme(colors) { ThemeColors() } } @Composable @@ -229,7 +229,7 @@ private fun ThemeColors() { } @Composable -fun Palette.outlinedTextFieldColors( +fun Colors.outlinedTextFieldColors( isError: Boolean ) = TextFieldDefaults.outlinedTextFieldColors( textColor = if (isError) danger else text, @@ -239,10 +239,10 @@ fun Palette.outlinedTextFieldColors( placeholderColor = if (isError) danger else textSecondary ) -val Palette.divider get() = text.copy(alpha = TabRowDefaults.DividerOpacity) +val Colors.divider get() = text.copy(alpha = TabRowDefaults.DividerOpacity) @Composable -fun Palette.radioButtonColors() = RadioButtonDefaults.colors( +fun Colors.radioButtonColors() = RadioButtonDefaults.colors( selectedColor = primary, unselectedColor = text, disabledColor = disabled diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt index 9564814aeb..d166c3fcb7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt @@ -30,7 +30,6 @@ import androidx.compose.material.Card import androidx.compose.material.CircularProgressIndicator import androidx.compose.material.Icon import androidx.compose.material.LocalContentColor -import androidx.compose.material.MaterialTheme import androidx.compose.material.RadioButton import androidx.compose.material.Text import androidx.compose.material.TextButton @@ -212,7 +211,7 @@ fun CellWithPaddingAndMargin( content: @Composable () -> Unit ) { Card( - backgroundColor = LocalPalette.current.backgroundSecondary, + backgroundColor = LocalColors.current.backgroundSecondary, shape = RoundedCornerShape(16.dp), elevation = 0.dp, modifier = Modifier @@ -226,7 +225,7 @@ fun CellWithPaddingAndMargin( @Composable fun TitledRadioButton(option: RadioOption, onClick: () -> Unit) { - val color = if (option.enabled) LocalPalette.current.text else LocalPalette.current.disabled + val color = if (option.enabled) LocalColors.current.text else LocalColors.current.disabled Row( horizontalArrangement = Arrangement.spacedBy(16.dp), modifier = Modifier @@ -260,7 +259,7 @@ fun TitledRadioButton(option: RadioOption, onClick: () -> Unit) { .height(26.dp) .align(Alignment.CenterVertically), enabled = option.enabled, - colors = LocalPalette.current.radioButtonColors() + colors = LocalColors.current.radioButtonColors() ) } } @@ -326,7 +325,7 @@ fun Modifier.fadingEdges( fun Divider(modifier: Modifier = Modifier, startIndent: Dp = 0.dp) { androidx.compose.material.Divider( modifier = modifier.padding(horizontal = LocalDimensions.current.marginExtraSmall), - color = LocalPalette.current.divider, + color = LocalColors.current.divider, startIndent = startIndent ) } @@ -368,8 +367,8 @@ fun ProgressArc(progress: Float, modifier: Modifier = Modifier) { fun Arc( modifier: Modifier = Modifier, percentage: Float = 0.25f, - fillColor: Color = LocalPalette.current.primary, - backgroundColor: Color = LocalPalette.current.borders, + fillColor: Color = LocalColors.current.primary, + backgroundColor: Color = LocalColors.current.borders, strokeWidth: Dp = 18.dp, sweepAngle: Float = 310f, startAngle: Float = (360f - sweepAngle) / 2 + 90f diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Themes.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Themes.kt index 93306f0cc2..31fb463da7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Themes.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Themes.kt @@ -7,11 +7,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.selection.LocalTextSelectionColors import androidx.compose.foundation.text.selection.TextSelectionColors -import androidx.compose.material.Colors -import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.LocalContentColor -import androidx.compose.material.LocalMinimumInteractiveComponentEnforcement -import androidx.compose.material.LocalTextStyle import androidx.compose.material.MaterialTheme import androidx.compose.material.Shapes import androidx.compose.runtime.Composable @@ -34,26 +30,26 @@ fun SessionMaterialTheme( } /** - * Apply a given [Palette], and our typography and shapes as a Material 2 Compose Theme. + * Apply a given [Colors], and our typography and shapes as a Material 2 Compose Theme. **/ @Composable fun SessionMaterialTheme( - palette: Palette, + colors: Colors, content: @Composable () -> Unit ) { MaterialTheme( - colors = palette.toMaterialColors(), + colors = colors.toMaterialColors(), typography = sessionTypography, shapes = sessionShapes, ) { val textSelectionColors = TextSelectionColors( - handleColor = LocalPalette.current.primary, - backgroundColor = LocalPalette.current.primary.copy(alpha = 0.5f) + handleColor = LocalColors.current.primary, + backgroundColor = LocalColors.current.primary.copy(alpha = 0.5f) ) CompositionLocalProvider( - LocalPalette provides palette, - LocalContentColor provides palette.text, + LocalColors provides colors, + LocalContentColor provides colors.text, LocalTextSelectionColors provides textSelectionColors, ) { content() @@ -61,7 +57,7 @@ fun SessionMaterialTheme( } } -private fun Palette.toMaterialColors() = Colors( +private fun Colors.toMaterialColors() = androidx.compose.material.Colors( primary = background, primaryVariant = backgroundSecondary, secondary = background, @@ -89,16 +85,16 @@ val sessionShapes = Shapes( */ @Composable fun PreviewTheme( - palette: Palette = LocalPalette.current, + colors: Colors = LocalColors.current, content: @Composable () -> Unit ) { - SessionMaterialTheme(palette) { - Box(modifier = Modifier.background(color = LocalPalette.current.background)) { + SessionMaterialTheme(colors) { + Box(modifier = Modifier.background(color = LocalColors.current.background)) { content() } } } -class SessionColorsParameterProvider : PreviewParameterProvider { +class SessionColorsParameterProvider : PreviewParameterProvider { override val values = sequenceOf(ClassicDark(), ClassicLight(), OceanDark(), OceanLight()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Util.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Util.kt index 7c31fa0dcc..d7aaf5430c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Util.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Util.kt @@ -1,25 +1,23 @@ package org.thoughtcrime.securesms.ui import android.app.Activity +import android.content.Context import androidx.compose.runtime.Composable import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment fun Activity.setComposeContent(content: @Composable () -> Unit) { ComposeView(this) - .apply { setContent { SessionMaterialTheme { content() } } } + .apply { setThemedContent(content) } .let(::setContentView) } -fun Fragment.onCreateComposeView(content: @Composable () -> Unit): ComposeView = ComposeView(requireContext()).apply { - setContent { - SessionMaterialTheme { - content() - } - } +fun Fragment.createThemedComposeView(content: @Composable () -> Unit): ComposeView = requireContext().createThemedComposeView(content) +fun Context.createThemedComposeView(content: @Composable () -> Unit): ComposeView = ComposeView(this).apply { + setThemedContent(content) } -fun ComposeView.setContentWithTheme(content: @Composable () -> Unit) = setContent { +fun ComposeView.setThemedContent(content: @Composable () -> Unit) = setContent { SessionMaterialTheme { content() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt index 32edd5b61e..7207d2574f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/AppBar.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import network.loki.messenger.R -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.h4 @@ -24,9 +24,9 @@ import org.thoughtcrime.securesms.ui.h4 @Preview @Composable fun AppBarPreview( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { AppBar(title = "Title", {}, {}) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt index be95cf69fb..e2ba7addb3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Button.kt @@ -11,12 +11,10 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.ButtonDefaults -import androidx.compose.material.LocalTextStyle import androidx.compose.material.RadioButton import androidx.compose.material.Text import androidx.compose.material.TextButton import androidx.compose.runtime.Composable -import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -26,7 +24,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import kotlinx.coroutines.flow.filter import org.thoughtcrime.securesms.ui.GetString -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.baseBold import org.thoughtcrime.securesms.ui.contentDescription import org.thoughtcrime.securesms.ui.extraSmall @@ -38,7 +36,7 @@ import org.thoughtcrime.securesms.ui.small @Composable fun BorderlessButton( modifier: Modifier = Modifier, - contentColor: Color = LocalPalette.current.text, + contentColor: Color = LocalColors.current.text, backgroundColor: Color = Color.Transparent, onClick: () -> Unit, content: @Composable () -> Unit @@ -58,7 +56,7 @@ fun BorderlessButton( text: String, modifier: Modifier = Modifier, contentDescription: GetString = GetString(text), - contentColor: Color = LocalPalette.current.text, + contentColor: Color = LocalColors.current.text, backgroundColor: Color = Color.Transparent, onClick: () -> Unit ) { @@ -83,7 +81,7 @@ fun BorderlessButtonWithIcon( @DrawableRes iconRes: Int, modifier: Modifier = Modifier, style: TextStyle = baseBold, - contentColor: Color = LocalPalette.current.text, + contentColor: Color = LocalColors.current.text, backgroundColor: Color = Color.Transparent, onClick: () -> Unit ) { @@ -101,7 +99,7 @@ fun BorderlessButtonWithIcon( fun BorderlessHtmlButton( textId: Int, modifier: Modifier = Modifier, - contentColor: Color = LocalPalette.current.text, + contentColor: Color = LocalColors.current.text, backgroundColor: Color = Color.Transparent, onClick: () -> Unit ) { @@ -136,10 +134,10 @@ fun NotificationRadioButton( .weight(1f) .contentDescription(contentDescription), type = ButtonType.Outline, - color = LocalPalette.current.text, + color = LocalColors.current.text, border = BorderStroke( width = ButtonDefaults.OutlinedBorderSize, - color = if (selected) LocalPalette.current.primary else LocalPalette.current.borders + color = if (selected) LocalColors.current.primary else LocalColors.current.borders ), shape = RoundedCornerShape(8.dp) ) { @@ -151,7 +149,7 @@ fun NotificationRadioButton( tag?.let { Text( stringResource(it), - color = LocalPalette.current.primary, + color = LocalColors.current.primary, style = h9 ) } @@ -161,7 +159,7 @@ fun NotificationRadioButton( selected = selected, modifier = Modifier.align(Alignment.CenterVertically), onClick = onClick, - colors = LocalPalette.current.radioButtonColors() + colors = LocalColors.current.radioButtonColors() ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt index 6bc79f4a81..62cec593bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QR.kt @@ -57,7 +57,7 @@ import kotlinx.coroutines.flow.filter import network.loki.messenger.R import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.ui.LocalDimensions -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.base import java.util.concurrent.Executors @@ -76,7 +76,7 @@ fun MaybeScanQrCode( ) { Box( modifier = Modifier.fillMaxSize() - .background(LocalPalette.current.background) + .background(LocalColors.current.background) ) { LocalSoftwareKeyboardController.current?.hide() diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QrImage.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QrImage.kt index 133303d158..0084a59035 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/QrImage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/QrImage.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.unit.dp import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import network.loki.messenger.R -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.util.QRCodeUtilities @Composable @@ -53,10 +53,10 @@ fun QrImage( } Card( - backgroundColor = LocalPalette.current.qrCodeBackground, + backgroundColor = LocalColors.current.qrCodeBackground, elevation = 0.dp, modifier = modifier - ) { Content(bitmap, icon, backgroundColor = LocalPalette.current.qrCodeBackground) } + ) { Content(bitmap, icon, backgroundColor = LocalColors.current.qrCodeBackground) } } @Composable @@ -64,7 +64,7 @@ private fun Content( bitmap: Bitmap?, icon: Int, modifier: Modifier = Modifier, - qrColor: Color = LocalPalette.current.qrCodeContent, + qrColor: Color = LocalColors.current.qrCodeContent, backgroundColor: Color, ) { Box( diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionOutlinedButton.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionOutlinedButton.kt index 0832131d5a..e0241bfa0d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionOutlinedButton.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionOutlinedButton.kt @@ -28,7 +28,7 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest import network.loki.messenger.R import org.thoughtcrime.securesms.ui.LaunchedEffectAsync -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.contentDescription import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds @@ -39,11 +39,11 @@ interface ButtonType { val elevation: ButtonElevation? @Composable get object Outline: ButtonType { - @Composable override fun border(color: Color, enabled: Boolean) = BorderStroke(1.dp, if (enabled) color else LocalPalette.current.disabled) + @Composable override fun border(color: Color, enabled: Boolean) = BorderStroke(1.dp, if (enabled) color else LocalColors.current.disabled) @Composable override fun buttonColors(color: Color) = ButtonDefaults.buttonColors( contentColor = color, backgroundColor = Color.Unspecified, - disabledContentColor = LocalPalette.current.disabled, + disabledContentColor = LocalColors.current.disabled, disabledBackgroundColor = Color.Unspecified ) override val elevation: ButtonElevation? @Composable get() = null @@ -51,9 +51,9 @@ interface ButtonType { object Fill: ButtonType { @Composable override fun border(color: Color, enabled: Boolean) = null @Composable override fun buttonColors(color: Color) = ButtonDefaults.buttonColors( - contentColor = LocalPalette.current.background, + contentColor = LocalColors.current.background, backgroundColor = color, - disabledContentColor = LocalPalette.current.disabled, + disabledContentColor = LocalColors.current.disabled, disabledBackgroundColor = Color.Unspecified ) override val elevation: ButtonElevation? @Composable get() = ButtonDefaults.elevation() @@ -117,33 +117,33 @@ fun Button( } @Composable fun FillButton(text: String, modifier: Modifier = Modifier, enabled: Boolean = true, onClick: () -> Unit) { - Button(text, onClick, LocalPalette.current.buttonOutline, ButtonType.Fill, modifier, enabled) + Button(text, onClick, LocalColors.current.buttonOutline, ButtonType.Fill, modifier, enabled) } @Composable fun PrimaryFillButton(text: String, modifier: Modifier = Modifier, enabled: Boolean = true, onClick: () -> Unit) { - Button(text, onClick, LocalPalette.current.primary, ButtonType.Fill, modifier, enabled) + Button(text, onClick, LocalColors.current.primary, ButtonType.Fill, modifier, enabled) } -@Composable fun OutlineButton(text: String, modifier: Modifier = Modifier, color: Color = LocalPalette.current.buttonOutline, enabled: Boolean = true, onClick: () -> Unit) { +@Composable fun OutlineButton(text: String, modifier: Modifier = Modifier, color: Color = LocalColors.current.buttonOutline, enabled: Boolean = true, onClick: () -> Unit) { Button(text, onClick, color, ButtonType.Outline, modifier, enabled) } @Composable fun PrimaryOutlineButton(text: String, modifier: Modifier = Modifier, enabled: Boolean = true, onClick: () -> Unit) { - Button(text, onClick, LocalPalette.current.primary, ButtonType.Outline, modifier, enabled) + Button(text, onClick, LocalColors.current.primary, ButtonType.Outline, modifier, enabled) } -@Composable fun SlimOutlineButton(text: String, modifier: Modifier = Modifier, color: Color = LocalPalette.current.buttonOutline, enabled: Boolean = true, onClick: () -> Unit) { +@Composable fun SlimOutlineButton(text: String, modifier: Modifier = Modifier, color: Color = LocalColors.current.buttonOutline, enabled: Boolean = true, onClick: () -> Unit) { Button(text, onClick, color, ButtonType.Outline, modifier, enabled, SlimButtonSize) } -@Composable fun SlimOutlineButton(onClick: () -> Unit, modifier: Modifier = Modifier, color: Color = LocalPalette.current.buttonOutline, enabled: Boolean = true, content: @Composable () -> Unit) { +@Composable fun SlimOutlineButton(onClick: () -> Unit, modifier: Modifier = Modifier, color: Color = LocalColors.current.buttonOutline, enabled: Boolean = true, content: @Composable () -> Unit) { Button(onClick, color, ButtonType.Outline, modifier, enabled, SlimButtonSize) { content() } } @Composable fun SlimOutlineCopyButton( modifier: Modifier = Modifier, - color: Color = LocalPalette.current.buttonOutline, + color: Color = LocalColors.current.buttonOutline, onClick: () -> Unit ) { OutlineCopyButton(modifier, SlimButtonSize, color, onClick) @@ -153,7 +153,7 @@ fun SlimOutlineCopyButton( fun OutlineCopyButton( modifier: Modifier = Modifier, size: ButtonSize = LargeButtonSize, - color: Color = LocalPalette.current.buttonOutline, + color: Color = LocalColors.current.buttonOutline, onClick: () -> Unit ) { val interactionSource = remember { MutableInteractionSource() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt index 90574e8ccd..533df09b44 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/SessionTabRow.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.height import androidx.compose.foundation.pager.PagerState import androidx.compose.foundation.pager.rememberPagerState -import androidx.compose.material.MaterialTheme import androidx.compose.material.Tab import androidx.compose.material.TabRow import androidx.compose.material.TabRowDefaults @@ -19,9 +18,9 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import network.loki.messenger.R -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.PreviewTheme -import org.thoughtcrime.securesms.ui.Palette +import org.thoughtcrime.securesms.ui.Colors import org.thoughtcrime.securesms.ui.SessionColorsParameterProvider import org.thoughtcrime.securesms.ui.divider import org.thoughtcrime.securesms.ui.h8 @@ -34,8 +33,8 @@ fun SessionTabRow(pagerState: PagerState, titles: List) { TabRow( backgroundColor = Color.Unspecified, selectedTabIndex = pagerState.currentPage, - contentColor = LocalPalette.current.text, - divider = { TabRowDefaults.Divider(color = LocalPalette.current.divider) }, + contentColor = LocalColors.current.text, + divider = { TabRowDefaults.Divider(color = LocalColors.current.divider) }, modifier = Modifier .height(48.dp) .background(color = Color.Unspecified) @@ -45,8 +44,8 @@ fun SessionTabRow(pagerState: PagerState, titles: List) { Tab( i == pagerState.currentPage, onClick = { animationScope.launch { pagerState.animateScrollToPage(i) } }, - selectedContentColor = LocalPalette.current.text, - unselectedContentColor = LocalPalette.current.text, + selectedContentColor = LocalColors.current.text, + unselectedContentColor = LocalColors.current.text, ) { Text( stringResource(id = it), @@ -61,9 +60,9 @@ fun SessionTabRow(pagerState: PagerState, titles: List) { @androidx.compose.ui.tooling.preview.Preview @Composable fun PreviewSessionTabRow( - @PreviewParameter(SessionColorsParameterProvider::class) palette: Palette + @PreviewParameter(SessionColorsParameterProvider::class) colors: Colors ) { - PreviewTheme(palette) { + PreviewTheme(colors) { val pagerState = rememberPagerState { TITLES.size } SessionTabRow(pagerState = pagerState, titles = TITLES) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt index f57eed920a..7777104b90 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/Text.kt @@ -9,7 +9,6 @@ import androidx.compose.foundation.text.InlineTextContent import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.appendInlineContent import androidx.compose.material.Icon -import androidx.compose.material.MaterialTheme import androidx.compose.material.OutlinedTextField import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -24,7 +23,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import org.thoughtcrime.securesms.ui.LocalPalette +import org.thoughtcrime.securesms.ui.LocalColors import org.thoughtcrime.securesms.ui.LocalDimensions import org.thoughtcrime.securesms.ui.base import org.thoughtcrime.securesms.ui.baseBold @@ -51,7 +50,7 @@ fun SessionOutlinedTextField( style = base ) }, - colors = LocalPalette.current.outlinedTextFieldColors(error != null), + colors = LocalColors.current.outlinedTextFieldColors(error != null), singleLine = true, keyboardActions = KeyboardActions( onDone = { onContinue() }, @@ -68,7 +67,7 @@ fun SessionOutlinedTextField( modifier = Modifier.padding(top = LocalDimensions.current.marginExtraExtraSmall), textAlign = TextAlign.Center, style = baseBold, - color = LocalPalette.current.danger + color = LocalColors.current.danger ) } }