diff --git a/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt b/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt index 76adbcc1ea..42bb57d1b5 100644 --- a/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt +++ b/app/src/debug/java/org/thoughtcrime/securesms/components/settings/app/internal/conversation/springboard/InternalConversationSpringboardFragment.kt @@ -14,12 +14,12 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.vectorResource -import androidx.compose.ui.tooling.preview.Preview import androidx.navigation.fragment.findNavController import androidx.navigation.navGraphViewModels +import org.signal.core.ui.compose.NightPreview +import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Rows import org.signal.core.ui.compose.Scaffolds -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -47,12 +47,12 @@ class InternalConversationSpringboardFragment : ComposeFragment() { } } -@Preview +@NightPreview @Composable private fun ContentPreview() { val hasWallpaper = remember { mutableStateOf(false) } - SignalTheme(isDarkMode = true) { + Previews.Preview { Content(onBackPressed = {}, onLaunchTestFragment = {}, hasWallpaper = hasWallpaper) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index fc2c227abf..9b02d34db2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -82,7 +82,6 @@ import kotlinx.coroutines.flow.distinctUntilChangedBy import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.core.util.getSerializableCompat import org.signal.core.util.logging.Log @@ -105,6 +104,7 @@ import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePay import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePayRepository import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.ConversationIntents import org.thoughtcrime.securesms.conversation.NewConversationActivity import org.thoughtcrime.securesms.conversation.v2.MotionEventRelay diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt index 7c799b01c6..19aa2fa5ae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/ui/verify/VerifyBackupKeyActivity.kt @@ -27,7 +27,6 @@ import androidx.compose.ui.text.withStyle 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.theme.SignalTheme import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.BiometricDeviceAuthentication import org.thoughtcrime.securesms.BiometricDeviceLockContract @@ -35,6 +34,7 @@ import org.thoughtcrime.securesms.DevicePinAuthEducationSheet import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.backup.v2.ui.subscription.EnterKeyScreen +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.util.CommunicationActions import kotlin.random.Random diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt index 4b07f02c09..732d4f43f5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/expired/MonthlyDonationCanceledBottomSheetDialogFragment.kt @@ -33,8 +33,8 @@ import androidx.core.os.bundleOf 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.models.Badge @@ -42,6 +42,7 @@ import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity import org.thoughtcrime.securesms.components.settings.app.subscription.BadgeImage112 import org.thoughtcrime.securesms.components.settings.app.subscription.manage.ManageDonationsFragment import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.database.InAppPaymentTable import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.util.BottomSheetUtil @@ -107,7 +108,7 @@ class MonthlyDonationCanceledBottomSheetDialogFragment : ComposeBottomSheetDialo @Preview(name = "Dark Theme", group = "ShortName", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable fun MonthlyDonationCanceledPreview() { - SignalTheme { + Previews.Preview { Surface { MonthlyDonationCanceled( badge = Badge( diff --git a/app/src/main/java/org/thoughtcrime/securesms/banner/BannerManager.kt b/app/src/main/java/org/thoughtcrime/securesms/banner/BannerManager.kt index 759152d24a..03a8dae61e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/banner/BannerManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/banner/BannerManager.kt @@ -15,8 +15,8 @@ import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.flow.Flow -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.logging.Log +import org.thoughtcrime.securesms.compose.SignalTheme /** * A class that can be instantiated with a list of [Flow]s that produce [Banner]s, then applied to a [ComposeView], typically within a [Fragment]. diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt index 3c1431c9a1..7cf2088827 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsActivity.kt @@ -13,9 +13,9 @@ import androidx.activity.enableEdgeToEdge import androidx.compose.runtime.remember import androidx.core.os.bundleOf import androidx.fragment.app.FragmentActivity -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.calls.links.EditCallLinkNameDialogFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.main.MainNavigationDetailLocation import org.thoughtcrime.securesms.main.MainNavigationListLocation import org.thoughtcrime.securesms.main.MainNavigationRouter diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt index 1c63a6cb27..05a74cedb8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/links/details/CallLinkDetailsScreen.kt @@ -34,10 +34,10 @@ import kotlinx.coroutines.launch import org.signal.core.ui.compose.DayNightPreviews 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.Rows import org.signal.core.ui.compose.Scaffolds import org.signal.core.ui.compose.Snackbars -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.ringrtc.CallLinkState.Restrictions import org.thoughtcrime.securesms.R @@ -344,7 +344,7 @@ private fun CallLinkDetailsScreenPreview() { ) } - SignalTheme { + Previews.Preview { CallLinkDetailsScreen( CallLinkDetailsState( false, diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt index 8a5d072593..75168e20c9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/new/NewCallActivity.kt @@ -35,12 +35,12 @@ import org.signal.core.ui.compose.AllDevicePreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.calls.new.NewCallUiState.CallType import org.thoughtcrime.securesms.calls.new.NewCallUiState.UserMessage import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.recipients.ui.RecipientLookupFailureMessage import org.thoughtcrime.securesms.recipients.ui.RecipientPicker import org.thoughtcrime.securesms.recipients.ui.RecipientPickerCallbacks diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBarView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBarView.kt index d3cb86bb81..f7d7cfa948 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBarView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/compose/ActionModeTopBarView.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.AbstractComposeView -import org.signal.core.ui.compose.theme.SignalTheme +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.util.DynamicTheme /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/RoundCheckbox.kt b/app/src/main/java/org/thoughtcrime/securesms/components/compose/RoundCheckbox.kt index 8ab9d3fb88..5cfedccf2b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/RoundCheckbox.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/compose/RoundCheckbox.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.semantics.semantics 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.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R /** @@ -105,12 +105,12 @@ fun RoundCheckbox( @DayNightPreviews @Composable -private fun RoundCheckboxCheckedPreview() = SignalTheme { +private fun RoundCheckboxCheckedPreview() = Previews.Preview { RoundCheckbox(checked = true, onCheckedChange = {}) } @DayNightPreviews @Composable -private fun RoundCheckboxUncheckedPreview() = SignalTheme { +private fun RoundCheckboxUncheckedPreview() = Previews.Preview { RoundCheckbox(checked = false, onCheckedChange = {}) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt index aea7671063..335d3a0701 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/appicon/AppIconSelectionFragment.kt @@ -50,8 +50,8 @@ import androidx.navigation.fragment.findNavController import kotlinx.collections.immutable.ImmutableList 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.theme.SignalTheme import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.appearance.appicon.util.AppIconPreset @@ -309,7 +309,7 @@ fun CaveatWarning(onClick: () -> Unit, modifier: Modifier = Modifier) { @DayNightPreviews @Composable private fun MainScreenPreview() { - SignalTheme { + Previews.Preview { Surface { IconSelectionScreen(AppIconPreset.DEFAULT, onItemConfirmed = {}, onWarningClick = {}) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt index 5504f2fe18..700b2b9414 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/help/LicenseFragment.kt @@ -23,8 +23,8 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.core.Single 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.theme.SignalTheme import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment @@ -75,7 +75,7 @@ fun LicenseScreen(licenseTextLines: List, modifier: Modifier = Modifier) @DayNightPreviews @Composable fun LicenseFragmentPreview() { - SignalTheme { + Previews.Preview { LicenseScreen(listOf("Lorem ipsum", "Delor")) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt index 90a6cbc108..f4b4a2579d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalPendingOneTimeDonationConfigurationFragment.kt @@ -27,9 +27,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController 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.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.internal.donor.DonationErrorValueCodeSelector import org.thoughtcrime.securesms.components.settings.app.internal.donor.DonationErrorValueTypeSelector @@ -80,7 +80,7 @@ class InternalPendingOneTimeDonationConfigurationFragment : ComposeFragment() { @Preview @Composable private fun ContentPreview() { - SignalTheme { + Previews.Preview { Surface { Content( state = PendingOneTimeDonation.Builder().error(DonationErrorValue()).build(), diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt index 41d66a2356..5cdd25b5bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalStoryDialogLauncherFragment.kt @@ -15,9 +15,9 @@ 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.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.stories.dialogs.StoryDialogs import org.thoughtcrime.securesms.util.DynamicTheme diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt index b2e2ff5895..8d57640af9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalTerminalDonationConfigurationFragment.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.navigation.fragment.findNavController 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.theme.SignalTheme 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 @@ -48,7 +48,7 @@ class InternalTerminalDonationConfigurationFragment : ComposeFragment() { @Preview @Composable private fun InternalTerminalDonationConfigurationContentPreview() { - SignalTheme { + Previews.Preview { Surface { InternalTerminalDonationConfigurationContent( onAddClick = {} diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt index aeb43d63a7..02a1890f4c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/donor/InternalDonorErrorConfigurationFragment.kt @@ -25,12 +25,12 @@ 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.theme.SignalTheme 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 +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.util.DynamicTheme /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt index f261c8de1a..f10cc9d53b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/search/InternalSearchFragment.kt @@ -30,7 +30,7 @@ import androidx.fragment.app.viewModels import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import org.signal.core.ui.compose.DayNightPreviews -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.recipients.ui.bottomsheet.RecipientBottomSheetDialogFragment @@ -110,7 +110,7 @@ fun ResultItem(result: InternalSearchResult, modifier: Modifier = Modifier) { @DayNightPreviews @Composable fun InternalSearchScreenPreview() { - SignalTheme { + Previews.Preview { InternalSearchFragmentScreen( query = "", results = persistentListOf( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/svr/InternalSvrPlaygroundFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/svr/InternalSvrPlaygroundFragment.kt index 356ecaf30e..72a990b428 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/svr/InternalSvrPlaygroundFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/svr/InternalSvrPlaygroundFragment.kt @@ -21,12 +21,12 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import kotlinx.collections.immutable.persistentListOf +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.theme.SignalTheme import org.thoughtcrime.securesms.compose.ComposeFragment class InternalSvrPlaygroundFragment : ComposeFragment() { @@ -116,10 +116,10 @@ fun SvrPlaygroundScreen( } } -@Preview +@NightPreview @Composable fun SvrPlaygroundScreenLightTheme() { - SignalTheme(isDarkMode = false) { + Previews.Preview { Surface { SvrPlaygroundScreen( state = InternalSvrPlaygroundState( @@ -130,10 +130,10 @@ fun SvrPlaygroundScreenLightTheme() { } } -@Preview +@NightPreview @Composable fun SvrPlaygroundScreenDarkTheme() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Surface { SvrPlaygroundScreen( state = InternalSvrPlaygroundState( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt index 408c988a4b..924569866d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt @@ -43,7 +43,7 @@ class PrivacySettingsViewModel( } fun setIncognitoKeyboard(enabled: Boolean) { - sharedPreferences.edit().putBoolean(TextSecurePreferences.INCOGNITO_KEYBORAD_PREF, enabled).apply() + sharedPreferences.edit().putBoolean(TextSecurePreferences.INCOGNITO_KEYBOARD_PREF, enabled).apply() refresh() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt index 8f1f3344ec..072612388f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsFragment.kt @@ -35,9 +35,9 @@ 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.horizontalGutters -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.groups.ui.GroupChangeFailureReason import org.thoughtcrime.securesms.groups.ui.GroupErrors import org.thoughtcrime.securesms.util.DynamicTheme diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt index 16d759d4a4..1d5f4fb8a2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/pnp/PhoneNumberPrivacySettingsFragment.kt @@ -28,10 +28,10 @@ import androidx.navigation.fragment.findNavController import com.google.android.material.dialog.MaterialAlertDialogBuilder import kotlinx.coroutines.launch 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeFragment import org.thoughtcrime.securesms.compose.StatusBarColorNestedScrollConnection @@ -203,7 +203,7 @@ private fun Screen( @Preview(name = "Dark Theme", group = "Screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewSharingAndDiscoverable() { - SignalTheme { + Previews.Preview { Screen( state = PhoneNumberPrivacySettingsState( phoneNumberSharing = true, @@ -217,7 +217,7 @@ private fun ScreenPreviewSharingAndDiscoverable() { @Preview(name = "Dark Theme", group = "Screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewNotSharingDiscoverable() { - SignalTheme { + Previews.Preview { Screen( state = PhoneNumberPrivacySettingsState( phoneNumberSharing = false, @@ -231,7 +231,7 @@ private fun ScreenPreviewNotSharingDiscoverable() { @Preview(name = "Dark Theme", group = "Screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewNotSharingNotDiscoverable() { - SignalTheme { + Previews.Preview { Screen( state = PhoneNumberPrivacySettingsState( phoneNumberSharing = false, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt index 370a34c8b0..af88e0457c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/storage/ManageStorageSettingsFragment.kt @@ -62,12 +62,12 @@ 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.bytes import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.billing.upgrade.UpgradeToEnableOptimizedStorageSheet import org.thoughtcrime.securesms.billing.upgrade.UpgradeToPaidTierBottomSheet import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.database.MediaTable import org.thoughtcrime.securesms.keyvalue.KeepMessagesDuration import org.thoughtcrime.securesms.keyvalue.SignalStore diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPendingBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPendingBottomSheet.kt index 56be41f378..187ce0cf70 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPendingBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPendingBottomSheet.kt @@ -29,8 +29,8 @@ import androidx.navigation.fragment.navArgs 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.Badges import org.thoughtcrime.securesms.badges.models.Badge @@ -81,7 +81,7 @@ class DonationPendingBottomSheet : ComposeBottomSheetDialogFragment() { @DayNightPreviews @Composable fun DonationPendingBottomSheetContentPreview() { - SignalTheme { + Previews.Preview { Surface { DonationPendingBottomSheetContent( badge = Badge( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt index 041e8ddcab..78a3aeb983 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/completed/TerminalDonationBottomSheet.kt @@ -37,7 +37,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.DayNightPreviews -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.BadgeRepository import org.thoughtcrime.securesms.badges.models.Badge @@ -128,7 +128,7 @@ class TerminalDonationBottomSheet : ComposeBottomSheetDialogFragment() { @DayNightPreviews @Composable private fun DonationPaymentFailureBottomSheet() { - SignalTheme { + Previews.Preview { Surface { DonationPaymentFailureBottomSheet( badge = null, @@ -226,7 +226,7 @@ private fun DonationPaymentFailureBottomSheet( @DayNightPreviews @Composable private fun DonationCompletedSheetContentPreview() { - SignalTheme { + Previews.Preview { Surface { DonationCompletedSheetContent( badge = null, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt index 403608501b..52b0e50c10 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/details/BankTransferDetailsFragment.kt @@ -50,9 +50,9 @@ import androidx.navigation.fragment.navArgs import androidx.navigation.navGraphViewModels 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.TemporaryScreenshotSecurity @@ -187,7 +187,7 @@ class BankTransferDetailsFragment : ComposeFragment(), InAppPaymentCheckoutDeleg @DayNightPreviews @Composable private fun BankTransferDetailsContentPreview() { - SignalTheme { + Previews.Preview { BankTransferDetailsContent( state = BankTransferDetailsState( name = "Miles Morales", diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt index 87c50908e2..2f09587ad3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/transfer/mandate/BankTransferMandateFragment.kt @@ -55,6 +55,7 @@ import kotlinx.coroutines.launch 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.Texts import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R @@ -129,7 +130,7 @@ class BankTransferMandateFragment : ComposeFragment() { @DayNightPreviews @Composable fun BankTransferScreenPreview() { - SignalTheme { + Previews.Preview { BankTransferScreen( bankMandate = "Test ".repeat(500), failedToLoadMandate = false, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt index 1512939d47..fb1adb1e10 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/QrCodeBadge.kt @@ -37,7 +37,7 @@ import androidx.compose.ui.text.style.TextAlign 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.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R /** @@ -165,7 +165,7 @@ fun QrCodeBadge( @Preview(name = "Dark Theme", group = "ShortName", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun PreviewWithCodeShort() { - SignalTheme { + Previews.Preview { Surface { Column { QrCodeBadge( @@ -188,7 +188,7 @@ private fun PreviewWithCodeShort() { @Preview(group = "LongName") @Composable private fun PreviewWithCodeLong() { - SignalTheme { + Previews.Preview { Surface { Column { QrCodeBadge( @@ -212,7 +212,7 @@ private fun PreviewWithCodeLong() { @Preview(group = "Colors", heightDp = 1500) @Composable private fun PreviewAllColorsP1() { - SignalTheme(isDarkMode = false) { + Previews.Preview { Surface { Column { SampleCode(colorScheme = UsernameQrCodeColorScheme.Blue) @@ -230,7 +230,7 @@ private fun PreviewAllColorsP1() { @Preview(group = "Colors", heightDp = 1500) @Composable private fun PreviewAllColorsP2() { - SignalTheme(isDarkMode = false) { + Previews.Preview { Surface { Column { SampleCode(colorScheme = UsernameQrCodeColorScheme.Pink) @@ -258,7 +258,7 @@ private fun SampleCode(colorScheme: UsernameQrCodeColorScheme) { @Preview(name = "Dark Theme", group = "Loading", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun PreviewLoading() { - SignalTheme { + Previews.Preview { Surface { QrCodeBadge( data = QrCodeState.Loading, @@ -273,7 +273,7 @@ private fun PreviewLoading() { @Preview(name = "Dark Theme", group = "NotSet", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun PreviewNotSet() { - SignalTheme { + Previews.Preview { Surface { QrCodeBadge( data = QrCodeState.NotSet, diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt index 512ae68230..d257bd9696 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/colorpicker/UsernameLinkQrColorPickerFragment.kt @@ -44,7 +44,7 @@ import kotlinx.collections.immutable.ImmutableList 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.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeBadge import org.thoughtcrime.securesms.components.settings.app.usernamelinks.UsernameQrCodeColorScheme @@ -186,7 +186,7 @@ class UsernameLinkQrColorPickerFragment : ComposeFragment() { @DayNightPreviews @Composable private fun PreviewColorPickerItem() { - SignalTheme { + Previews.Preview { Surface { Row(verticalAlignment = Alignment.CenterVertically) { ColorPickerItem(color = UsernameQrCodeColorScheme.Blue, selected = false, onClick = {}) @@ -199,7 +199,7 @@ class UsernameLinkQrColorPickerFragment : ComposeFragment() { @DayNightPreviews @Composable private fun PreviewColorPicker() { - SignalTheme { + Previews.Preview { Surface { ColorPicker( colors = UsernameQrCodeColorScheme.entries.toImmutableList(), diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt index ef145904ee..a4dfe254ed 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkSettingsFragment.kt @@ -64,6 +64,7 @@ import kotlinx.coroutines.CoroutineScope 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.Snackbars import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.concurrent.LifecycleDisposable @@ -349,7 +350,7 @@ private fun ResetDialog(onConfirm: () -> Unit, onDismiss: () -> Unit) { @DayNightPreviews @Composable private fun AppBarPreview() { - SignalTheme { + Previews.Preview { Surface { Column { TopAppBarContent(activeTab = ActiveTab.Code) @@ -362,7 +363,7 @@ private fun AppBarPreview() { @DayNightPreviews @Composable private fun MainScreenPreview() { - SignalTheme { + Previews.Preview { MainScreen( state = UsernameLinkSettingsState( activeTab = ActiveTab.Code, @@ -378,7 +379,7 @@ private fun MainScreenPreview() { @DayNightPreviews @Composable private fun ResetDialogPreview() { - SignalTheme { + Previews.Preview { Surface { ResetDialog(onConfirm = {}, onDismiss = {}) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt index 1d26e8cc16..1fbfbea45c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareBottomSheet.kt @@ -31,7 +31,7 @@ import androidx.core.os.bundleOf import androidx.fragment.app.FragmentManager import androidx.fragment.app.setFragmentResult import org.signal.core.ui.compose.BottomSheets -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.webrtc.requests.CallLinkIncomingRequestSheet import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -148,7 +148,7 @@ private fun ButtonRow(icon: Painter, text: String, modifier: Modifier = Modifier @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreview() { - SignalTheme { + Previews.Preview { Surface { Content( usernameLink = "https://signal.me#eufzLWmFFUYAOqnVJ4Zlt0KqXf87r59FC1hZ3r7WipjKvgzMBg7DBlY5DB5hQTjsw0" @@ -161,7 +161,7 @@ private fun ContentPreview() { @Preview(name = "Dark Theme", group = "button row", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ButtonRowPreview() { - SignalTheme { + Previews.Preview { Surface { ButtonRow(icon = painterResource(R.drawable.symbol_share_android_24), text = "Share") } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt index 1ee7ca2514..a39905282f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameLinkShareScreen.kt @@ -35,7 +35,7 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.Dialogs -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeBadge import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeData @@ -67,15 +67,19 @@ fun UsernameLinkShareScreen( UsernameLinkResetResult.NetworkUnavailable -> { ResetLinkResultDialog(stringResource(R.string.UsernameLinkSettings_reset_link_result_network_unavailable), onDismiss = onLinkResultHandled) } + UsernameLinkResetResult.NetworkError -> { ResetLinkResultDialog(stringResource(R.string.UsernameLinkSettings_reset_link_result_network_error), onDismiss = onLinkResultHandled) } + UsernameLinkResetResult.UnexpectedError -> { ResetLinkResultDialog(stringResource(R.string.UsernameLinkSettings_reset_link_result_unknown_error), onDismiss = onLinkResultHandled) } + is UsernameLinkResetResult.Success -> { ResetLinkResultDialog(stringResource(R.string.UsernameLinkSettings_reset_link_result_success), onDismiss = onLinkResultHandled) } + else -> {} } @@ -216,7 +220,7 @@ private fun ResetLinkResultDialog(message: String, onDismiss: () -> Unit) { @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreview() { - SignalTheme { + Previews.Preview { Surface { UsernameLinkShareScreen( state = previewState(), @@ -235,7 +239,7 @@ private fun ScreenPreview() { @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewResetSuccess() { - SignalTheme { + Previews.Preview { Surface { UsernameLinkShareScreen( state = previewState().copy(usernameLinkResetResult = UsernameLinkResetResult.Success(UsernameLinkComponents(Util.getSecretBytes(32), UUID.randomUUID()))), @@ -254,7 +258,7 @@ private fun ScreenPreviewResetSuccess() { @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewResetNetworkError() { - SignalTheme { + Previews.Preview { Surface { UsernameLinkShareScreen( state = previewState().copy(usernameLinkResetResult = UsernameLinkResetResult.NetworkError), @@ -273,7 +277,7 @@ private fun ScreenPreviewResetNetworkError() { @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewResetNetworkUnavailable() { - SignalTheme { + Previews.Preview { Surface { UsernameLinkShareScreen( state = previewState().copy(usernameLinkResetResult = UsernameLinkResetResult.NetworkUnavailable), @@ -292,7 +296,7 @@ private fun ScreenPreviewResetNetworkUnavailable() { @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ScreenPreviewResetUnexpectedError() { - SignalTheme { + Previews.Preview { Surface { UsernameLinkShareScreen( state = previewState().copy(usernameLinkResetResult = UsernameLinkResetResult.UnexpectedError), @@ -311,7 +315,7 @@ private fun ScreenPreviewResetUnexpectedError() { @Preview(name = "Dark Theme", group = "LinkRow", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun LinkRowPreview() { - SignalTheme { + Previews.Preview { Surface { Column(modifier = Modifier.padding(8.dp)) { LinkRow( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt index 33625fc570..bf9dace14d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/UsernameQrScannerActivity.kt @@ -38,11 +38,10 @@ 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.theme.SignalTheme import org.signal.core.util.concurrent.LifecycleDisposable import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.components.settings.app.usernamelinks.main.UsernameQrScannerActivity.Contract +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.permissions.PermissionCompat import org.thoughtcrime.securesms.permissions.Permissions import org.thoughtcrime.securesms.recipients.Recipient diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt index 16b6120280..214856daca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/CallInfoView.kt @@ -56,13 +56,12 @@ 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.Rows -import org.signal.core.ui.compose.theme.LocalExtendedColors -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatar import org.thoughtcrime.securesms.avatar.fallback.FallbackAvatarImage import org.thoughtcrime.securesms.components.AvatarImageView import org.thoughtcrime.securesms.components.webrtc.v2.WebRtcCallViewModel +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.colors.AvatarColor import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.events.CallParticipant @@ -135,7 +134,7 @@ object CallInfoView { @Preview @Composable private fun CallInfoPreview() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Surface { val remoteParticipants = listOf(CallParticipant(recipient = Recipient.UNKNOWN)) CallInfo( @@ -344,7 +343,7 @@ private fun getCallSheetLabel(state: ParticipantsState): String { @Preview @Composable private fun CallParticipantRowPreview() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Surface { CallParticipantRow( CallParticipant(recipient = Recipient.UNKNOWN), @@ -357,7 +356,7 @@ private fun CallParticipantRowPreview() { @Preview @Composable private fun HandRaisedRowPreview() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Surface { HandRaisedRow(Recipient.UNKNOWN, "Peter Parker", canLowerHand = true) } @@ -604,7 +603,7 @@ private fun TwoUnknownAvatars() { modifier = Modifier .size(38.dp) .align(Alignment.CenterEnd) - .border(width = 2.dp, color = LocalExtendedColors.current.colorSurface1, shape = CircleShape) + .border(width = 2.dp, color = SignalTheme.colors.colorSurface1, shape = CircleShape) ) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/RaiseHandSnackbar.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/RaiseHandSnackbar.kt index fa4f784dc8..f8c260d58d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/RaiseHandSnackbar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/controls/RaiseHandSnackbar.kt @@ -45,10 +45,10 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import kotlinx.coroutines.delay import kotlinx.coroutines.flow.map -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.ringrtc.GroupCall import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.webrtc.v2.WebRtcCallViewModel +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.events.CallParticipant import org.thoughtcrime.securesms.events.GroupCallRaiseHandEvent diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt index a353108539..1c6695b2c9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt @@ -26,7 +26,6 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import org.signal.core.ui.compose.rememberIsInPipMode -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.components.webrtc.CallParticipantListUpdate import org.thoughtcrime.securesms.components.webrtc.CallParticipantsState @@ -35,6 +34,7 @@ import org.thoughtcrime.securesms.components.webrtc.WebRtcControls import org.thoughtcrime.securesms.components.webrtc.controls.CallInfoView import org.thoughtcrime.securesms.components.webrtc.controls.ControlsAndInfoViewModel import org.thoughtcrime.securesms.components.webrtc.controls.RaiseHandSnackbar +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.events.WebRtcViewModel import org.thoughtcrime.securesms.keyvalue.SignalStore diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeBottomSheetDialogFragment.kt index a144637b9a..f4748e0a8e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeBottomSheetDialogFragment.kt @@ -12,7 +12,6 @@ import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.compose.ui.unit.dp -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.components.FixedRoundedCornerBottomSheetDialogFragment import org.thoughtcrime.securesms.util.DynamicTheme diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeDialogFragment.kt index dbe8b9b95f..5945ebb761 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeDialogFragment.kt @@ -9,7 +9,6 @@ import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.fragment.app.DialogFragment -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.util.DynamicTheme /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFragment.kt index bb6b4c5f59..4f6cc25481 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFragment.kt @@ -7,7 +7,6 @@ import android.view.ViewGroup import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import androidx.fragment.compose.content -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.LoggingFragment import org.thoughtcrime.securesms.util.DynamicTheme diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFullScreenDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFullScreenDialogFragment.kt index db0f8518f8..a29b0b4cda 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFullScreenDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/ComposeFullScreenDialogFragment.kt @@ -9,7 +9,6 @@ import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.fragment.app.DialogFragment -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.util.DynamicTheme import org.thoughtcrime.securesms.util.WindowUtil diff --git a/app/src/main/java/org/thoughtcrime/securesms/compose/SignalTheme.kt b/app/src/main/java/org/thoughtcrime/securesms/compose/SignalTheme.kt new file mode 100644 index 0000000000..ba4341201e --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/compose/SignalTheme.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2025 Signal Messenger, LLC + * SPDX-License-Identifier: AGPL-3.0-only + */ + +package org.thoughtcrime.securesms.compose + +import android.content.res.Configuration +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalContext +import org.signal.core.ui.compose.theme.ExtendedColors +import org.thoughtcrime.securesms.util.TextSecurePreferences + +private typealias CoreSignalTheme = org.signal.core.ui.compose.theme.SignalTheme + +@Composable +fun SignalTheme( + isDarkMode: Boolean = LocalConfiguration.current.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES, + content: @Composable () -> Unit +) { + val context = LocalContext.current + val incognitoKeyboardEnabled = remember { + TextSecurePreferences.isIncognitoKeyboardEnabled(context) + } + + org.signal.core.ui.compose.theme.SignalTheme( + isDarkMode = isDarkMode, + incognitoKeyboardEnabled = incognitoKeyboardEnabled, + content = content + ) +} + +object SignalTheme { + val colors: ExtendedColors + @Composable + get() = CoreSignalTheme.colors +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt index 059f3261ff..b9c55e2776 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt @@ -41,11 +41,11 @@ import org.signal.core.ui.compose.AllDevicePreviews import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.BlockUnblockDialog import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.NewConversationUiState.UserMessage import org.thoughtcrime.securesms.groups.ui.creategroup.CreateGroupActivity import org.thoughtcrime.securesms.recipients.Recipient diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt index eb820090ef..aced935b6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt @@ -49,9 +49,9 @@ import androidx.compose.ui.unit.sp 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.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.compose.RoundCheckbox +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.polls.PollOption import org.thoughtcrime.securesms.polls.PollRecord @@ -206,6 +206,7 @@ private fun PollOption( ) } } + VoteState.PENDING_REMOVE -> { CircularProgressIndicator( modifier = Modifier.padding(top = 4.dp, end = 8.dp).size(24.dp), @@ -213,6 +214,7 @@ private fun PollOption( color = pollColors.checkbox ) } + VoteState.ADDED, VoteState.REMOVED, VoteState.NONE -> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/RecipientSearchBar.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/RecipientSearchBar.kt index 950494a5da..d5f05dece2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/RecipientSearchBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/RecipientSearchBar.kt @@ -22,11 +22,9 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.ExperimentalComposeUiApi 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.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.input.ImeAction @@ -34,17 +32,15 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import org.signal.core.ui.compose.DayNightPreviews import org.signal.core.ui.compose.IconButtons.IconButton -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.components.compose.ProvideIncognitoKeyboard -import org.thoughtcrime.securesms.util.TextSecurePreferences /** * A search input field for finding recipients. * * Replaces [org.thoughtcrime.securesms.components.ContactFilterView]. */ -@OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class, ExperimentalComposeUiApi::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable fun RecipientSearchBar( hint: String = stringResource(R.string.RecipientSearchBar__search_name_or_number), @@ -63,50 +59,46 @@ fun RecipientSearchBar( ) } - ProvideIncognitoKeyboard( - enabled = TextSecurePreferences.isIncognitoKeyboardEnabled(LocalContext.current) - ) { - SearchBar( - state = state, - inputField = { - TextField( - value = query, - onValueChange = onQueryChange, - placeholder = { Text(hint) }, - singleLine = true, - shape = SearchBarDefaults.inputFieldShape, - colors = TextFieldDefaults.colors( - unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, - disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant, - focusedIndicatorColor = Color.Transparent, - disabledIndicatorColor = Color.Transparent, - unfocusedIndicatorColor = Color.Transparent - ), - keyboardOptions = keyboardOptions, - keyboardActions = KeyboardActions( - onSearch = { onSearch(query) } - ), - trailingIcon = { - val modifier = Modifier.padding(end = 4.dp) - if (query.isNotEmpty()) { - ClearQueryButton( - onClearQuery = { onQueryChange("") }, - modifier = modifier - ) - } else { - KeyboardToggleButton( - keyboardType = keyboardOptions.keyboardType, - onKeyboardTypeChange = { keyboardOptions = keyboardOptions.copy(keyboardType = it) }, - modifier = modifier - ) - } + SearchBar( + state = state, + inputField = { + TextField( + value = query, + onValueChange = onQueryChange, + placeholder = { Text(hint) }, + singleLine = true, + shape = SearchBarDefaults.inputFieldShape, + colors = TextFieldDefaults.colors( + unfocusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, + focusedContainerColor = MaterialTheme.colorScheme.surfaceVariant, + disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant, + focusedIndicatorColor = Color.Transparent, + disabledIndicatorColor = Color.Transparent, + unfocusedIndicatorColor = Color.Transparent + ), + keyboardOptions = keyboardOptions, + keyboardActions = KeyboardActions( + onSearch = { onSearch(query) } + ), + trailingIcon = { + val modifier = Modifier.padding(end = 4.dp) + if (query.isNotEmpty()) { + ClearQueryButton( + onClearQuery = { onQueryChange("") }, + modifier = modifier + ) + } else { + KeyboardToggleButton( + keyboardType = keyboardOptions.keyboardType, + onKeyboardTypeChange = { keyboardOptions = keyboardOptions.copy(keyboardType = it) }, + modifier = modifier + ) } - ) - }, - modifier = modifier - ) - } + } + ) + }, + modifier = modifier + ) } @Composable @@ -161,7 +153,7 @@ private fun ClearQueryButton( @Composable @DayNightPreviews -private fun RecipientSearchBarPreview() = SignalTheme { +private fun RecipientSearchBarPreview() = Previews.Preview { RecipientSearchBar( query = "", onQueryChange = {}, diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt index db78ca1425..ce9f43b7d7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt @@ -48,6 +48,7 @@ import kotlinx.coroutines.launch 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.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -99,7 +100,7 @@ private val tips = listOf( @DayNightPreviews @Composable private fun SafetyTipsContentPreview() { - SignalTheme { + Previews.Preview { Surface { SafetyTipsContent() } @@ -224,7 +225,7 @@ private fun SafetyTipsContent(forGroup: Boolean = false, modifier: Modifier = Mo @Preview(name = "Dark Theme", group = "screen", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun SafetyTipPreview() { - SignalTheme { + Previews.Preview { Surface { SafetyTip(tips[0]) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.kt index df2737b378..6b853170df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.kt @@ -48,9 +48,9 @@ import org.signal.core.ui.compose.AllDevicePreviews 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.theme.SignalTheme import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.contacts.SelectedContact import org.thoughtcrime.securesms.groups.SelectionLimits import org.thoughtcrime.securesms.groups.ui.creategroup.CreateGroupUiState.NavTarget diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt index a7decd83f1..308aa62b54 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/incommon/GroupsInCommonActivity.kt @@ -44,11 +44,11 @@ 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.theme.SignalTheme import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.compose.StatusBarColorNestedScrollConnection import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.recipients.RecipientId diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/QualitySelectorBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/QualitySelectorBottomSheet.kt index 76aad4d544..441fc38090 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/QualitySelectorBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/QualitySelectorBottomSheet.kt @@ -28,7 +28,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.fragment.app.viewModels import org.signal.core.ui.compose.BottomSheets -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel @@ -114,7 +114,7 @@ private fun ButtonLabel(title: String, description: String) { @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun PreviewQualitySelectorBottomSheetStandard() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Content(SentMediaQuality.STANDARD) {} } } @@ -122,7 +122,7 @@ private fun PreviewQualitySelectorBottomSheetStandard() { @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun PreviewQualitySelectorBottomSheetHigh() { - SignalTheme(isDarkMode = true) { + Previews.Preview { Content(SentMediaQuality.HIGH) {} } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/megaphone/MegaphoneComponent.kt b/app/src/main/java/org/thoughtcrime/securesms/megaphone/MegaphoneComponent.kt index 4f09adab16..c802c40839 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/megaphone/MegaphoneComponent.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/megaphone/MegaphoneComponent.kt @@ -49,9 +49,9 @@ import kotlinx.coroutines.withContext 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.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.emoji.Emojifier +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.main.EmptyMegaphoneActionController import org.thoughtcrime.securesms.megaphone.Megaphones.Event import org.thoughtcrime.securesms.util.DynamicTheme diff --git a/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt index 3379d1d70c..c1dce63e3b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/nicknames/NicknameActivity.kt @@ -52,11 +52,11 @@ 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.TextFields -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.getParcelableCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme import org.thoughtcrime.securesms.util.viewModel diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/TurnOnNotificationsBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/TurnOnNotificationsBottomSheet.kt index 331d2c5272..3dd32509ad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/TurnOnNotificationsBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/TurnOnNotificationsBottomSheet.kt @@ -39,7 +39,7 @@ import androidx.core.os.bundleOf 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.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -118,7 +118,7 @@ class TurnOnNotificationsBottomSheet private constructor() : ComposeBottomSheetD @DayNightPreviews @Composable private fun TurnOnNotificationsSheetContentPreview() { - SignalTheme { + Previews.Preview { Surface { TurnOnNotificationsSheetContent( titleRes = R.string.TurnOnNotificationsBottomSheet__turn_on_notifications, diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt index d4a35df0df..f2b40ab975 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/about/AboutSheet.kt @@ -41,7 +41,7 @@ import androidx.core.os.bundleOf import androidx.core.widget.TextViewCompat import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.DayNightPreviews -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.signal.core.util.getParcelableCompat import org.signal.core.util.isNotNullOrBlank import org.thoughtcrime.securesms.AvatarPreviewActivity @@ -407,7 +407,7 @@ private fun AboutRow( @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewDefault() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -437,7 +437,7 @@ private fun ContentPreviewDefault() { @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewWithUserSetDisplayName() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -467,7 +467,7 @@ private fun ContentPreviewWithUserSetDisplayName() { @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewForSelf() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -497,7 +497,7 @@ private fun ContentPreviewForSelf() { @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewInContactsNotProfileSharing() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -527,7 +527,7 @@ private fun ContentPreviewInContactsNotProfileSharing() { @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewGroupsInCommonNoE164() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -557,7 +557,7 @@ private fun ContentPreviewGroupsInCommonNoE164() { @Preview(name = "Dark Theme", group = "content", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun ContentPreviewNotAConnection() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -586,7 +586,7 @@ private fun ContentPreviewNotAConnection() { @DayNightPreviews @Composable private fun ContentPreviewNotAConnectionNoGroups() { - SignalTheme { + Previews.Preview { Surface { Content( model = AboutModel( @@ -616,7 +616,7 @@ private fun ContentPreviewNotAConnectionNoGroups() { @Preview(name = "Dark Theme", group = "about row", uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun AboutRowPreview() { - SignalTheme { + Previews.Preview { Surface { AboutRow( startIcon = ImageVector.vectorResource(R.drawable.symbol_person_24), diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt index b1569bc059..7fbec651f4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/findby/FindByActivity.kt @@ -69,12 +69,12 @@ 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.TextFields -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.E164Util import org.signal.core.util.getParcelableExtraCompat import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.main.UsernameQrScannerActivity +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.invites.InviteActions import org.thoughtcrime.securesms.phonenumbers.PhoneNumberVisualTransformation import org.thoughtcrime.securesms.recipients.RecipientId diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/TransferAccountActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/TransferAccountActivity.kt index f7e6b8ac10..d9e42c334c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/TransferAccountActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/olddevice/TransferAccountActivity.kt @@ -52,13 +52,13 @@ import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.Texts import org.signal.core.ui.compose.horizontalGutters -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.BiometricDeviceAuthentication import org.thoughtcrime.securesms.BiometricDeviceLockContract import org.thoughtcrime.securesms.MainActivity import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.devicetransfer.olddevice.OldDeviceTransferActivity import org.thoughtcrime.securesms.fonts.SignalSymbols import org.thoughtcrime.securesms.fonts.SignalSymbols.SignalSymbol diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt index b3c414850b..4d3ce84d4f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/link/RegisterLinkDeviceQrFragment.kt @@ -61,13 +61,12 @@ 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.horizontalGutters -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCode import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.registration.ui.RegistrationViewModel import org.thoughtcrime.securesms.registration.ui.shared.RegistrationScreen -import java.lang.IllegalStateException /** * Crude show QR code on link device to allow linking from primary device. diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt index dae5a7ae13..06b2927aa7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RemoteRestoreActivity.kt @@ -64,7 +64,6 @@ 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.theme.SignalTheme import org.signal.core.util.ThreadUtil import org.signal.core.util.bytes import org.thoughtcrime.securesms.BaseActivity @@ -78,6 +77,7 @@ import org.thoughtcrime.securesms.components.contactsupport.ContactSupportCallba import org.thoughtcrime.securesms.components.contactsupport.ContactSupportDialog import org.thoughtcrime.securesms.components.contactsupport.ContactSupportViewModel import org.thoughtcrime.securesms.components.contactsupport.SendSupportEmailEffect +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.v2.registerForLifecycle import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.registration.ui.shared.RegistrationScreen diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt index c0530c9844..bf50bb2537 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/RestoreViaQrFragment.kt @@ -67,12 +67,12 @@ import org.signal.core.ui.compose.Dialogs import org.signal.core.ui.compose.DropdownMenus import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.horizontalGutters -import org.signal.core.ui.compose.theme.SignalTheme import org.signal.registration.proto.RegistrationProvisionMessage import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCode import org.thoughtcrime.securesms.components.settings.app.usernamelinks.QrCodeData import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.registration.data.network.RegisterAccountResult import org.thoughtcrime.securesms.registration.ui.RegistrationViewModel import org.thoughtcrime.securesms.registration.ui.shared.RegistrationScreen diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/SelectRestoreMethodScreen.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/SelectRestoreMethodScreen.kt index 65d0776163..15d22eb61d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/SelectRestoreMethodScreen.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/restore/SelectRestoreMethodScreen.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import org.signal.core.ui.compose.DayNightPreviews -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.Previews import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.registration.ui.shared.RegistrationScreen @@ -56,7 +56,7 @@ fun SelectRestoreMethodScreen( @DayNightPreviews @Composable private fun SelectRestoreMethodScreenPreview() { - SignalTheme { + Previews.Preview { SelectRestoreMethodScreen(listOf(RestoreMethod.FROM_SIGNAL_BACKUPS, RestoreMethod.FROM_OLD_DEVICE, RestoreMethod.FROM_LOCAL_BACKUP_V1)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt index aaa0c022a7..81cfa8cfdf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.kt @@ -78,11 +78,11 @@ 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 import org.signal.core.ui.compose.copied.androidx.compose.rememberDragDropState -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.menu.ActionItem import org.thoughtcrime.securesms.components.menu.SignalBottomActionBar +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragment import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragmentArgs import org.thoughtcrime.securesms.database.model.StickerPackId diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackListItems.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackListItems.kt index 528e23a8d2..c402c7caa0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackListItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackListItems.kt @@ -279,7 +279,7 @@ private fun StickerPackInfo( @DayNightPreviews @Composable -private fun StickerPackSectionHeaderPreview() = SignalTheme { +private fun StickerPackSectionHeaderPreview() = Previews.Preview { StickerPackSectionHeader( text = "Signal artist series" ) @@ -287,7 +287,7 @@ private fun StickerPackSectionHeaderPreview() = SignalTheme { @DayNightPreviews @Composable -private fun AvailableStickerPackRowPreviewBlessed() = SignalTheme { +private fun AvailableStickerPackRowPreviewBlessed() = Previews.Preview { AvailableStickerPackRow( pack = StickerPreviewDataFactory.availablePack( title = "Swoon / Faces", @@ -300,7 +300,7 @@ private fun AvailableStickerPackRowPreviewBlessed() = SignalTheme { @DayNightPreviews @Composable -private fun AvailableStickerPackRowPreviewNotBlessed() = SignalTheme { +private fun AvailableStickerPackRowPreviewNotBlessed() = Previews.Preview { AvailableStickerPackRow( pack = StickerPreviewDataFactory.availablePack( title = "Day by Day", @@ -314,7 +314,7 @@ private fun AvailableStickerPackRowPreviewNotBlessed() = SignalTheme { @DayNightPreviews @Composable -private fun AvailableStickerPackRowPreviewDownloading() = SignalTheme { +private fun AvailableStickerPackRowPreviewDownloading() = Previews.Preview { AvailableStickerPackRow( pack = StickerPreviewDataFactory.availablePack( title = "Bandit the Cat", @@ -328,7 +328,7 @@ private fun AvailableStickerPackRowPreviewDownloading() = SignalTheme { @DayNightPreviews @Composable -private fun AvailableStickerPackRowPreviewDownloaded() = SignalTheme { +private fun AvailableStickerPackRowPreviewDownloaded() = Previews.Preview { AvailableStickerPackRow( pack = StickerPreviewDataFactory.availablePack( title = "Bandit the Cat", @@ -342,7 +342,7 @@ private fun AvailableStickerPackRowPreviewDownloaded() = SignalTheme { @DayNightPreviews @Composable -private fun InstalledStickerPackRowPreview() = SignalTheme { +private fun InstalledStickerPackRowPreview() = Previews.Preview { InstalledStickerPackRow( multiSelectEnabled = false, menuController = DropdownMenus.MenuController(), @@ -356,7 +356,7 @@ private fun InstalledStickerPackRowPreview() = SignalTheme { @DayNightPreviews @Composable -private fun InstalledStickerPackRowSelectModePreview() = SignalTheme { +private fun InstalledStickerPackRowSelectModePreview() = Previews.Preview { InstalledStickerPackRow( multiSelectEnabled = true, menuController = DropdownMenus.MenuController(), diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt index b3e7c8632a..3d53a44b0a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivityV2.kt @@ -51,12 +51,12 @@ 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.theme.SignalTheme import org.signal.core.util.orNull import org.signal.core.util.toOptional import org.thoughtcrime.securesms.PassphraseRequiredActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.GlideImage +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragment import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragmentArgs import org.thoughtcrime.securesms.database.model.StickerPackId diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt index ff676fcdad..ff283fe3df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsFragment.kt @@ -37,11 +37,11 @@ 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.Texts -import org.signal.core.ui.compose.theme.SignalTheme import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.avatar.AvatarImage import org.thoughtcrime.securesms.components.WrapperDialogFragment import org.thoughtcrime.securesms.compose.ComposeFragment +import org.thoughtcrime.securesms.compose.SignalTheme import org.thoughtcrime.securesms.database.model.DistributionListId import org.thoughtcrime.securesms.database.model.DistributionListPrivacyMode import org.thoughtcrime.securesms.database.model.DistributionListRecord diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java index b9f89ee0f8..eca301e652 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -7,7 +7,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.hardware.Camera.CameraInfo; import android.net.Uri; -import android.os.Build; import android.provider.Settings; import androidx.annotation.ArrayRes; @@ -92,7 +91,7 @@ public class TextSecurePreferences { public static final String DIRECT_CAPTURE_CAMERA_ID = "pref_direct_capture_camera_id"; public static final String ALWAYS_RELAY_CALLS_PREF = "pref_turn_only"; public static final String READ_RECEIPTS_PREF = "pref_read_receipts"; - public static final String INCOGNITO_KEYBORAD_PREF = "pref_incognito_keyboard"; + public static final String INCOGNITO_KEYBOARD_PREF = "pref_incognito_keyboard"; public static final String UNAUTHORIZED_RECEIVED = "pref_unauthorized_received"; private static final String SUCCESSFUL_DIRECTORY_PREF = "pref_successful_directory"; @@ -159,7 +158,7 @@ public class TextSecurePreferences { private static final String HAS_SEEN_VIDEO_RECORDING_TOOLTIP = "camerax.fragment.has.dismissed.video.recording.tooltip"; private static final String[] booleanPreferencesToBackup = {SCREEN_SECURITY_PREF, - INCOGNITO_KEYBORAD_PREF, + INCOGNITO_KEYBOARD_PREF, ALWAYS_RELAY_CALLS_PREF, READ_RECEIPTS_PREF, TYPING_INDICATORS, @@ -407,7 +406,7 @@ public class TextSecurePreferences { } public static boolean isIncognitoKeyboardEnabled(Context context) { - return getBooleanPreference(context, INCOGNITO_KEYBORAD_PREF, false); + return getBooleanPreference(context, INCOGNITO_KEYBOARD_PREF, false); } public static boolean isReadReceiptsEnabled(Context context) { diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/BottomSheets.kt b/core-ui/src/main/java/org/signal/core/ui/compose/BottomSheets.kt index dd251a4149..139dd8040a 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/BottomSheets.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/BottomSheets.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import org.signal.core.ui.compose.theme.SignalTheme object BottomSheets { /** @@ -37,7 +36,7 @@ object BottomSheets { @Preview @Composable private fun HandlePreview() { - SignalTheme(isDarkMode = false) { + Previews.Preview { BottomSheets.Handle() } } diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt index 7a34b0898c..254cfffa57 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt @@ -231,7 +231,10 @@ private fun SampleBox( darkMode: Boolean, content: @Composable BoxScope.() -> Unit ) { - SignalTheme(isDarkMode = darkMode) { + SignalTheme( + isDarkMode = darkMode, + incognitoKeyboardEnabled = false + ) { Surface { Box(modifier = Modifier.padding(8.dp)) { content() diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Dividers.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Dividers.kt index 701fd63a31..ac63b65a81 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Dividers.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Dividers.kt @@ -18,7 +18,6 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import org.signal.core.ui.compose.theme.SignalTheme /** * Thin divider lines for separating content. @@ -55,7 +54,7 @@ object Dividers { @DayNightPreviews @Composable private fun DefaultPreview() { - SignalTheme { + Previews.Preview { Dividers.Default() } } @@ -63,7 +62,7 @@ private fun DefaultPreview() { @DayNightPreviews @Composable private fun VerticalPreview() { - SignalTheme { + Previews.Preview { Dividers.Vertical(modifier = Modifier.height(20.dp)) } } diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Previews.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Previews.kt index b4e61825ac..8b83dc7c1d 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Previews.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Previews.kt @@ -24,7 +24,9 @@ object Previews { val dir = if (forceRtl) LayoutDirection.Rtl else LocalLayoutDirection.current CompositionLocalProvider(LocalLayoutDirection provides dir) { - SignalTheme { + SignalTheme( + incognitoKeyboardEnabled = false + ) { Surface { content() } @@ -40,7 +42,7 @@ object Previews { val dir = if (forceRtl) LayoutDirection.Rtl else LocalLayoutDirection.current CompositionLocalProvider(LocalLayoutDirection provides dir) { - SignalTheme { + SignalTheme(incognitoKeyboardEnabled = false) { Surface { Box(modifier = Modifier.background(color = SignalTheme.colors.colorSurface1)) { content() diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ProvideIncognitoKeyboard.kt b/core-ui/src/main/java/org/signal/core/ui/compose/ProvideIncognitoKeyboard.kt similarity index 93% rename from app/src/main/java/org/thoughtcrime/securesms/components/compose/ProvideIncognitoKeyboard.kt rename to core-ui/src/main/java/org/signal/core/ui/compose/ProvideIncognitoKeyboard.kt index 45640095a3..2a37e22e00 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/compose/ProvideIncognitoKeyboard.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/ProvideIncognitoKeyboard.kt @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -package org.thoughtcrime.securesms.components.compose +package org.signal.core.ui.compose import android.os.Build import android.view.inputmethod.EditorInfo @@ -16,7 +16,7 @@ import androidx.compose.ui.platform.PlatformTextInputMethodRequest * When [enabled]=true, this function sets the [EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING] flag for all text fields within its content to enable the * incognito keyboard. * - * This workaround is needed until it's possible to configure granular IME options for a [TextField]. + * This workaround is needed until it's possible to configure granular IME options for a [androidx.compose.material3.TextField]. * https://issuetracker.google.com/issues/359257538 */ @OptIn(ExperimentalComposeUiApi::class) diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt index 2e8ed4d4fb..8410671538 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Scaffolds.kt @@ -113,7 +113,7 @@ object Scaffolds { @DayNightPreviews @Composable private fun SettingsScaffoldPreview() { - SignalTheme { + Previews.Preview { val vector = remember { ImageVector.Builder( defaultWidth = 24.dp, @@ -148,7 +148,7 @@ private fun SettingsScaffoldPreview() { @DayNightPreviews @Composable private fun SettingsScaffoldNoNavIconPreview() { - SignalTheme { + Previews.Preview { Scaffolds.Settings( "Settings Scaffold", onNavigationClick = {}, diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Snackbars.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Snackbars.kt index b3fb30c866..685adeefce 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Snackbars.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Snackbars.kt @@ -14,7 +14,6 @@ import androidx.compose.material3.SnackbarVisuals import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import org.signal.core.ui.compose.theme.LocalSnackbarColors -import org.signal.core.ui.compose.theme.SignalTheme /** * Properly themed Snackbars. Since these use internal color state, we need to @@ -46,7 +45,7 @@ object Snackbars { @DayNightPreviews @Composable private fun SnackbarPreview() { - SignalTheme { + Previews.Preview { Snackbars.Default(snackbarData = SampleSnackbarData) } } diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Texts.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Texts.kt index efcca515ef..a66019edc7 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Texts.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Texts.kt @@ -22,7 +22,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.text.getSpans import org.signal.core.ui.R -import org.signal.core.ui.compose.theme.SignalTheme object Texts { /** @@ -85,7 +84,7 @@ object Texts { @Preview @Composable private fun SectionHeaderPreview() { - SignalTheme(isDarkMode = false) { + Previews.Preview { Texts.SectionHeader("Header") } } diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt b/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt index fd9465fcb4..f5ac49486d 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt @@ -1,6 +1,7 @@ package org.signal.core.ui.compose.theme import android.content.res.Configuration +import androidx.annotation.Discouraged import androidx.compose.foundation.layout.Column import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text @@ -15,6 +16,7 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.sp +import org.signal.core.ui.compose.ProvideIncognitoKeyboard private val typography = Typography().run { copy( @@ -184,27 +186,34 @@ private val darkSnackbarColors = SnackbarColors( dismissActionContentColor = darkColorScheme.onSurfaceVariant ) +@Discouraged("Use org.thoughtcrime.securesms.compose.SignalTheme instead.") @Composable fun SignalTheme( isDarkMode: Boolean = LocalConfiguration.current.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES, + incognitoKeyboardEnabled: Boolean, content: @Composable () -> Unit ) { val extendedColors = if (isDarkMode) darkExtendedColors else lightExtendedColors val snackbarColors = if (isDarkMode) darkSnackbarColors else lightSnackbarColors - CompositionLocalProvider(LocalExtendedColors provides extendedColors, LocalSnackbarColors provides snackbarColors) { - MaterialTheme( - colorScheme = if (isDarkMode) darkColorScheme else lightColorScheme, - typography = typography, - content = content - ) + ProvideIncognitoKeyboard(enabled = incognitoKeyboardEnabled) { + CompositionLocalProvider(LocalExtendedColors provides extendedColors, LocalSnackbarColors provides snackbarColors) { + MaterialTheme( + colorScheme = if (isDarkMode) darkColorScheme else lightColorScheme, + typography = typography, + content = content + ) + } } } @Preview(showBackground = true) @Composable private fun TypographyPreview() { - SignalTheme(isDarkMode = false) { + SignalTheme( + isDarkMode = false, + incognitoKeyboardEnabled = false + ) { Column { Text( text = "Headline Small", @@ -258,6 +267,7 @@ private fun TypographyPreview() { } } +@Discouraged("Use org.thoughtcrime.securesms.compose.SignalTheme instead.") object SignalTheme { val colors: ExtendedColors @Composable