mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
Respect incognito keyboard setting in Compose UIs.
This commit is contained in:
committed by
Cody Henthorne
parent
d5150d44e3
commit
9f0f8b7cbc
@@ -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
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* Copyright 2025 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.components.compose
|
||||
|
||||
import android.os.Build
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.platform.InterceptPlatformTextInput
|
||||
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].
|
||||
* https://issuetracker.google.com/issues/359257538
|
||||
*/
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun ProvideIncognitoKeyboard(
|
||||
enabled: Boolean,
|
||||
content: @Composable () -> Unit
|
||||
) {
|
||||
if (enabled) {
|
||||
InterceptPlatformTextInput(
|
||||
interceptor = { request, nextHandler ->
|
||||
val modifiedRequest = PlatformTextInputMethodRequest { outAttributes ->
|
||||
request.createInputConnection(outAttributes).also {
|
||||
if (Build.VERSION.SDK_INT >= 26) {
|
||||
outAttributes.imeOptions = outAttributes.imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING
|
||||
}
|
||||
}
|
||||
}
|
||||
nextHandler.startInputMethod(modifiedRequest)
|
||||
}
|
||||
) {
|
||||
content()
|
||||
}
|
||||
} else {
|
||||
content()
|
||||
}
|
||||
}
|
||||
@@ -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 = {})
|
||||
}
|
||||
|
||||
@@ -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 = {})
|
||||
}
|
||||
|
||||
@@ -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<String>, modifier: Modifier = Modifier)
|
||||
@DayNightPreviews
|
||||
@Composable
|
||||
fun LicenseFragmentPreview() {
|
||||
SignalTheme {
|
||||
Previews.Preview {
|
||||
LicenseScreen(listOf("Lorem ipsum", "Delor"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 = {}
|
||||
|
||||
@@ -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
|
||||
|
||||
/**
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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 = {})
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user