diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b7eaa5..e271aa9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,7 @@ jobs: run: | python3 tools/test_export_patches.py -v python3 tools/test_conversation_patch.py -v + python3 tools/test_signal_830_patch.py -v python3 -m py_compile tools/export_patches.py tools/test_export_patches.py bash -n tools/export.sh tools/materialize.sh @@ -124,6 +125,7 @@ jobs: --tests 'org.thoughtcrime.securesms.profiles.manage.EditProfileActivityThemeLifecycleTest' --tests 'org.thoughtcrime.securesms.util.RemoteConfig*Test*' --tests 'org.thoughtcrime.securesms.util.VesperConfigTest' + --tests 'org.thoughtcrime.securesms.util.VesperLogPreferencesTest' --stacktrace - name: Build release APKs diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 7db6bfd..d779907 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - signal: [pinned, v8.29.2] + signal: [pinned, v8.30.0] steps: - name: Check out Vesper patchset @@ -35,6 +35,7 @@ jobs: run: | python3 tools/test_export_patches.py -v python3 tools/test_conversation_patch.py -v + python3 tools/test_signal_830_patch.py -v python3 -m py_compile tools/export_patches.py tools/test_export_patches.py bash -n tools/export.sh tools/materialize.sh @@ -100,6 +101,7 @@ jobs: --tests 'org.thoughtcrime.securesms.profiles.manage.EditProfileActivityThemeLifecycleTest' --tests 'org.thoughtcrime.securesms.util.RemoteConfig*Test*' --tests 'org.thoughtcrime.securesms.util.VesperConfigTest' + --tests 'org.thoughtcrime.securesms.util.VesperLogPreferencesTest' --stacktrace - name: Build release APKs diff --git a/patches/0001-feat-add-Material-You-dynamic-theming.patch b/patches/0001-feat-add-Material-You-dynamic-theming.patch index 11fdc87..0116bab 100644 --- a/patches/0001-feat-add-Material-You-dynamic-theming.patch +++ b/patches/0001-feat-add-Material-You-dynamic-theming.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: amber Date: Sat, 25 Jul 2026 18:30:41 +0100 -Subject: [PATCH 01/28] feat: add Material You dynamic theming +Subject: [PATCH 01/29] feat: add Material You dynamic theming Adapted from Molly work by Oscar Mira and other Molly contributors. @@ -82,7 +82,7 @@ Signed-off-by: amber create mode 100644 app/src/main/java/org/thoughtcrime/securesms/util/DynamicMediaPreviewTheme.java diff --git a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java -index 4982c26..22721e7 100644 +index 4982c2605f..22721e75df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java @@ -35,6 +35,8 @@ import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto; @@ -123,7 +123,7 @@ index 4982c26..22721e7 100644 WindowUtil.clearLightStatusBar(getWindow()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt -index e3a9873..dab325a 100644 +index 7bad7aeea0..8e6b049790 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -53,7 +53,6 @@ import androidx.compose.ui.Modifier @@ -178,7 +178,7 @@ index e3a9873..dab325a 100644 MainNavigationBar( state = mainNavigationState, diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/photo/PhotoEditorActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/photo/PhotoEditorActivity.kt -index 59263d8..232813e 100644 +index 59263d882f..232813e2f9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/photo/PhotoEditorActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/photo/PhotoEditorActivity.kt @@ -10,8 +10,21 @@ import androidx.fragment.app.Fragment @@ -204,7 +204,7 @@ index 59263d8..232813e 100644 override fun attachBaseContext(newBase: Context) { delegate.localNightMode = AppCompatDelegate.MODE_NIGHT_YES diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt -index 7b8a165..acc7ed6 100644 +index 7b8a165745..acc7ed68e6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogAdapter.kt @@ -5,7 +5,6 @@ import android.text.style.TextAppearanceSpan @@ -232,7 +232,7 @@ index 7b8a165..acc7ed6 100644 ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java -index bebf8b9..f8de387 100644 +index bebf8b99d8..f8de387889 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java @@ -25,6 +25,8 @@ import com.airbnb.lottie.LottieAnimationView; @@ -262,7 +262,7 @@ index bebf8b9..f8de387 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java -index 6acd230..7f9e0ca 100644 +index 6acd230877..7f9e0cacb5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/FromTextView.java @@ -7,8 +7,7 @@ import android.util.AttributeSet; @@ -297,7 +297,7 @@ index 6acd230..7f9e0ca 100644 } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java -index 16fc244..bb178f0 100644 +index 16fc24488a..bb178f0242 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/InputPanel.java @@ -1,7 +1,5 @@ @@ -317,7 +317,7 @@ index 16fc244..bb178f0 100644 import org.signal.core.ui.view.Stub; import org.signal.core.util.ThreadUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/menu/ActionItem.kt b/app/src/main/java/org/thoughtcrime/securesms/components/menu/ActionItem.kt -index c64b263..57ac1a1 100644 +index c64b263888..57ac1a1c7b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/menu/ActionItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/menu/ActionItem.kt @@ -1,8 +1,6 @@ @@ -338,7 +338,7 @@ index c64b263..57ac1a1 100644 val action: Runnable ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/menu/ContextMenuList.kt b/app/src/main/java/org/thoughtcrime/securesms/components/menu/ContextMenuList.kt -index 7fbfb2a..e0052cd 100644 +index 7fbfb2a6bb..e0052cd511 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/menu/ContextMenuList.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/menu/ContextMenuList.kt @@ -3,9 +3,9 @@ package org.thoughtcrime.securesms.components.menu @@ -362,7 +362,7 @@ index 7fbfb2a..e0052cd 100644 title.setTextColor(tintColor) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/quotes/QuoteViewColorTheme.kt b/app/src/main/java/org/thoughtcrime/securesms/components/quotes/QuoteViewColorTheme.kt -index 63e92e2..249a807 100644 +index 63e92e2e81..249a8071ba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/quotes/QuoteViewColorTheme.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/quotes/QuoteViewColorTheme.kt @@ -1,46 +1,46 @@ @@ -439,7 +439,7 @@ index 63e92e2..249a807 100644 companion object { @JvmStatic diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsIcon.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsIcon.kt -index 69f4bb0..0708b35 100644 +index 69f4bb0d25..0708b35bc9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsIcon.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsIcon.kt @@ -6,10 +6,10 @@ import android.graphics.PorterDuffColorFilter @@ -500,7 +500,7 @@ index 69f4bb0..0708b35 100644 @JvmStatic fun from(drawable: Drawable): DSLSettingsIcon = FromDrawable(drawable) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt -index 79388aa..aaeb87f 100644 +index 79388aa17d..aaeb87f2bb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsFragment.kt @@ -25,6 +25,7 @@ import org.signal.core.ui.compose.SignalIcons @@ -563,7 +563,7 @@ index 79388aa..aaeb87f 100644 language = "en-US", isCompactNavigationBar = false diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsState.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsState.kt -index 9e080f6..d65ba28 100644 +index 9e080f65b8..d65ba284d3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsState.kt @@ -4,6 +4,7 @@ import org.thoughtcrime.securesms.keyvalue.SettingsValues @@ -575,7 +575,7 @@ index 9e080f6..d65ba28 100644 val language: String, val isCompactNavigationBar: Boolean diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsViewModel.kt -index 85398c0..131b3f3 100644 +index 85398c05e6..131b3f3426 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/appearance/AppearanceSettingsViewModel.kt @@ -21,9 +21,9 @@ class AppearanceSettingsViewModel : ViewModel() { @@ -600,7 +600,7 @@ index 85398c0..131b3f3 100644 PlainTextKeyValueStore.language, SignalStore.settings.useCompactNavigationBar diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt -index 8e840e8..c2d21f2 100644 +index 8e840e8eea..c2d21f258d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt @@ -118,8 +118,8 @@ class DonateToSignalFragment : @@ -615,7 +615,7 @@ index 8e840e8..c2d21f2 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt -index 8a4c723..17df36c 100644 +index 8a4c723124..17df36c361 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt @@ -138,8 +138,8 @@ class ManageDonationsFragment : @@ -630,7 +630,7 @@ index 8a4c723..17df36c 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/QrImageSelectionActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/QrImageSelectionActivity.kt -index 9608821..9e57182 100644 +index 960882133d..9e57182fc2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/QrImageSelectionActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/usernamelinks/main/QrImageSelectionActivity.kt @@ -16,11 +16,19 @@ import androidx.appcompat.app.AppCompatDelegate @@ -662,44 +662,28 @@ index 9608821..9e57182 100644 enableEdgeToEdge() setContentView(R.layout.username_qr_image_selection_activity) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/WebRtcCallActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/WebRtcCallActivity.kt -index 3dd7490..8fada10 100644 +index dfe206f9db..36679fddb7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/WebRtcCallActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/WebRtcCallActivity.kt -@@ -84,6 +84,8 @@ import org.thoughtcrime.securesms.safety.SafetyNumberBottomSheet - import org.thoughtcrime.securesms.service.webrtc.CallLinkDisconnectReason - import org.thoughtcrime.securesms.service.webrtc.SignalCallManager +@@ -87,2 +87,4 @@ import org.thoughtcrime.securesms.service.webrtc.SignalCallManager import org.thoughtcrime.securesms.sms.MessageSender +import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme +import org.thoughtcrime.securesms.util.DynamicTheme import org.thoughtcrime.securesms.util.FullscreenHelper - import org.thoughtcrime.securesms.util.RemoteConfig - import org.thoughtcrime.securesms.util.TextSecurePreferences -@@ -137,6 +139,7 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re - private var ephemeralStateDisposable = Disposable.empty() - private val callPermissionsDialogController = CallPermissionsDialogController() +@@ -147,2 +149,3 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re private val eventBusSubscriber = EventBusSubscriber() + private val theme: DynamicTheme = DynamicNoActionBarTheme() private val mediaProjectionLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> - if (result.resultCode == RESULT_OK && result.data != null) { - AppDependencies.signalCallManager.startScreenShare(result.data!!) -@@ -155,6 +158,7 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re - - @SuppressLint("MissingInflatedId") +@@ -165,2 +168,3 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re override fun onCreate(savedInstanceState: Bundle?) { + theme.onCreate(this) val callIntent: CallIntent = getCallIntent() - Log.i(TAG, "onCreate(${callIntent.isStartedFromFullScreen})") - -@@ -270,6 +274,7 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re - override fun onResume() { - Log.i(TAG, "onResume()") +@@ -280,2 +284,3 @@ class WebRtcCallActivity : BaseActivity(), SafetyNumberChangeDialog.Callback, Re super.onResume() + theme.onResume(this) - initializeScreenshotSecurity() - diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchModels.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchModels.kt -index 0ac0d01..05fffba 100644 +index 0ac0d01c12..05fffba34f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchModels.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchModels.kt @@ -439,7 +439,7 @@ object ContactSearchModels { @@ -712,7 +696,7 @@ index 0ac0d01..05fffba 100644 } ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java -index 899fd99..cc2f8de 100644 +index 1941426655..82f00a5dad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -129,6 +129,7 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreview; @@ -764,7 +748,7 @@ index 899fd99..cc2f8de 100644 private void setFooter(@NonNull MessageRecord current, @NonNull Optional next, @NonNull Locale locale, boolean isGroupThread, boolean hasWallpaper) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java -index af7845c..d6d9e1c 100644 +index af7845c763..d6d9e1cd9a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java @@ -855,11 +855,11 @@ public final class ConversationUpdateItem extends FrameLayout @@ -791,7 +775,7 @@ index af7845c..d6d9e1c 100644 collapsedButton.setVisibility(VISIBLE); 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 d0970aa..765b8b0 100644 +index d0970aa94a..765b8b0bbf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/NewConversationActivity.kt @@ -68,11 +68,24 @@ import org.thoughtcrime.securesms.recipients.ui.RecipientSelection @@ -820,7 +804,7 @@ index d0970aa..765b8b0 100644 @JvmOverloads @JvmStatic diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt -index 5b58874..10a6aab 100644 +index 5b58874ee0..10a6aab945 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorPreviewView.kt @@ -10,7 +10,6 @@ import android.view.View @@ -847,16 +831,14 @@ index 5b58874..10a6aab 100644 ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt -index f38ce40..66a0e85 100644 +index 0329e18b7e..78666e4768 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt -@@ -427,2 +427,3 @@ import androidx.compose.ui.graphics.Color as ComposeColor +@@ -429,2 +429,3 @@ import androidx.compose.ui.graphics.Color as ComposeColor import org.signal.core.ui.R as CoreUiR +import com.google.android.material.R as MaterialR -@@ -2081,9 +2082,9 @@ class ConversationFragment : - if (!resources.isSplitPane() || isFullScreenPane) { - binding.toolbar.setNavigationIcon(CoreUiR.drawable.symbol_arrow_start_24) +@@ -2198,5 +2199,5 @@ class ConversationFragment : binding.toolbar.navigationIcon?.setTint( - ContextCompat.getColor( + ThemeUtil.getThemedColor( @@ -864,26 +846,17 @@ index f38ce40..66a0e85 100644 - if (viewModel.wallpaperSnapshot != null) CoreUiR.color.signal_colorNeutralInverse else CoreUiR.color.signal_colorOnSurface + if (viewModel.wallpaperSnapshot != null) CoreUiR.color.signal_colorNeutralInverse else MaterialR.attr.colorOnSurfaceVariant ) - ) - binding.toolbar.setNavigationContentDescription(R.string.ConversationFragment__content_description_back_button) -@@ -2167,12 +2168,12 @@ class ConversationFragment : - - val wallpaperEnabled = chatWallpaper != null || recipient.isReleaseNotes +@@ -2284,3 +2285,3 @@ class ConversationFragment : - val toolbarTint = ContextCompat.getColor( + val toolbarTint = ThemeUtil.getThemedColor( requireContext(), - if (wallpaperEnabled) { - CoreUiR.color.signal_colorNeutralInverse +@@ -2289,3 +2290,3 @@ class ConversationFragment : } else { - CoreUiR.color.signal_colorOnSurface + MaterialR.attr.colorOnSurface } - ) - -@@ -2198,9 +2199,9 @@ class ConversationFragment : - ) - +@@ -2315,5 +2316,5 @@ class ConversationFragment : binding.scrollDateHeader.setTextColor( - ContextCompat.getColor( + ThemeUtil.getThemedColor( @@ -891,11 +864,7 @@ index f38ce40..66a0e85 100644 - if (wallpaperEnabled) R.color.sticky_header_foreground_wallpaper else CoreUiR.color.signal_colorOnSurfaceVariant + if (wallpaperEnabled) R.color.sticky_header_foreground_wallpaper else MaterialR.attr.colorOnSurfaceVariant ) - ) - -@@ -2240,10 +2241,10 @@ class ConversationFragment : - val navColor = if (hasWallpaper) { - R.color.conversation_navigation_wallpaper +@@ -2357,6 +2358,6 @@ class ConversationFragment : } else { - CoreUiR.color.signal_colorBackground + MaterialR.attr.colorSurface @@ -904,25 +873,18 @@ index f38ce40..66a0e85 100644 - chatScrims.navigationBarColor = ContextCompat.getColor(requireContext(), navColor) + chatScrims.navigationBarColor = ThemeUtil.getThemedColor(requireContext(), navColor) chatScrims.attachmentKeyboardColor = androidx.compose.ui.graphics.Color( - ContextCompat.getColor( - requireContext(), -@@ -4655,12 +4656,12 @@ class ConversationFragment : - } - } +@@ -4799,3 +4800,3 @@ class ConversationFragment : - val toolbarTextAndIconColor = ContextCompat.getColor( + val toolbarTextAndIconColor = ThemeUtil.getThemedColor( requireContext(), - if (viewModel.wallpaperSnapshot != null) { - CoreUiR.color.signal_colorNeutralInverse +@@ -4804,3 +4805,3 @@ class ConversationFragment : } else { - CoreUiR.color.signal_colorOnSurface + MaterialR.attr.colorOnSurface } - ) - diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationToolbarOnScrollHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationToolbarOnScrollHelper.kt -index 3835de8..8301f06 100644 +index 3835de8cc1..8301f069c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationToolbarOnScrollHelper.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationToolbarOnScrollHelper.kt @@ -7,7 +7,7 @@ import androidx.lifecycle.LifecycleOwner @@ -975,7 +937,7 @@ index 3835de8..8301f06 100644 } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DisabledInputView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DisabledInputView.kt -index 7872237..5998b0f 100644 +index 7872237f35..5998b0f3bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DisabledInputView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/DisabledInputView.kt @@ -13,9 +13,9 @@ import android.view.View @@ -1007,7 +969,7 @@ index 7872237..5998b0f 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ChatFolderAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ChatFolderAdapter.kt -index a383e0d..52d1067 100644 +index a383e0d872..52d106744d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ChatFolderAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ChatFolderAdapter.kt @@ -13,6 +13,8 @@ import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory @@ -1039,7 +1001,7 @@ index a383e0d..52d1067 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java -index 3f6101f..42f176c 100644 +index 3f6101fbee..42f176cf56 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java @@ -16,8 +16,6 @@ @@ -1060,7 +1022,7 @@ index 3f6101f..42f176c 100644 import org.thoughtcrime.securesms.BindableConversationListItem; import org.thoughtcrime.securesms.OverlayTransformation; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt -index 60e3f66..da3cae0 100644 +index 60e3f66b0b..da3cae06a2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/ConversationListFilterPullView.kt @@ -26,6 +26,8 @@ import kotlin.math.max @@ -1084,7 +1046,7 @@ index 60e3f66..da3cae0 100644 fun setPillText(@StringRes textId: Int) { binding.filterText.setText(textId) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/FilterCircleView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/FilterCircleView.kt -index 4dc14cf..19ad9ec 100644 +index 4dc14cff90..19ad9ec5cb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/FilterCircleView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/chatfilter/FilterCircleView.kt @@ -17,6 +17,8 @@ import org.signal.core.util.dp @@ -1112,7 +1074,7 @@ index 4dc14cf..19ad9ec 100644 private var circleColorAnimator: ValueAnimator? = null private var strokeColorAnimator: ValueAnimator? = null diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt -index 0b2327b..e4e6041 100644 +index 0b2327b9c3..e4e604106b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/KeyboardPageSearchView.kt @@ -9,7 +9,6 @@ import android.view.View @@ -1148,35 +1110,20 @@ index 0b2327b..e4e6041 100644 ImageViewCompat.setImageTintList(clearButton, iconTint) input.setHintTextColor(iconTint) diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SettingsValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SettingsValues.kt -index c18fb1a..f4cbf92 100644 +index c9e44baaa4..843ce4c68e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SettingsValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/SettingsValues.kt -@@ -35,6 +35,8 @@ class SettingsValues internal constructor(store: KeyValueStore, context: Context - const val THREAD_TRIM_LENGTH = "pref_trim_length" - const val THREAD_TRIM_ENABLED = "pref_trim_threads" +@@ -40,2 +40,4 @@ class SettingsValues internal constructor(store: KeyValueStore, private val cont + const val DYNAMIC_COLORS_ENABLED = "settings.dynamicColors" + private const val IGNORE_REMOTE_DELETE = "settings.ignore.remote.delete" const val THEME = "settings.theme" - const val MESSAGE_FONT_SIZE = "settings.message.font.size" - const val PREFER_SYSTEM_EMOJI = "settings.use.system.emoji" -@@ -113,6 +115,8 @@ class SettingsValues internal constructor(store: KeyValueStore, context: Context - THREAD_TRIM_LENGTH, - THREAD_TRIM_ENABLED, +@@ -137,2 +139,4 @@ class SettingsValues internal constructor(store: KeyValueStore, private val cont THEME, + DYNAMIC_COLORS_ENABLED, + IGNORE_REMOTE_DELETE, MESSAGE_FONT_SIZE, - PREFER_SYSTEM_EMOJI, - ENTER_KEY_SENDS, -@@ -193,10 +197,25 @@ class SettingsValues internal constructor(store: KeyValueStore, context: Context - var theme: Theme - get() = Theme.deserialize(getString(THEME, TextSecurePreferences.getTheme(AppDependencies.application))) - set(value) { -- putString(THEME, value.serialize()) -- configurationSettingChanged.postValue(THEME) -+ setTheme(value, isDynamicColorsEnabled) - } +@@ -224,2 +228,18 @@ class SettingsValues internal constructor(store: KeyValueStore, private val cont + fun setTheme(theme: Theme, useDynamicColors: Boolean) { + putString(THEME, theme.serialize()) @@ -1194,11 +1141,15 @@ index c18fb1a..f4cbf92 100644 + putBoolean(IGNORE_REMOTE_DELETE, enabled) + } + - var messageFontSize: Int - get() = getInteger(MESSAGE_FONT_SIZE, TextSecurePreferences.getMessageBodyTextSize(AppDependencies.application)) + var theme: Theme +@@ -227,4 +247,3 @@ class SettingsValues internal constructor(store: KeyValueStore, private val cont set(value) { +- putString(THEME, value.serialize()) +- configurationSettingChanged.postValue(THEME) ++ setTheme(value, isDynamicColorsEnabled) + } diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java -index 6d9f12e..21b6482 100644 +index 6d9f12eea0..21b64822c2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java @@ -261,7 +261,7 @@ public class SubmitDebugLogActivity extends BaseActivity { @@ -1232,7 +1183,7 @@ index 6d9f12e..21b6482 100644 DebugLogsViewer.onFilterLevel(logWebView, "[]"); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationBar.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationBar.kt -index eb38610..554a286 100644 +index eb38610d0d..554a2863ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationBar.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigationBar.kt @@ -20,8 +20,10 @@ import androidx.compose.foundation.shape.RoundedCornerShape @@ -1295,7 +1246,7 @@ index eb38610..554a286 100644 icon = { NavigationDestinationIcon( diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/AvatarSelectionActivity.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/AvatarSelectionActivity.java -index 01de188..002b52b 100644 +index 01de1886ad..002b52b900 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/AvatarSelectionActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/AvatarSelectionActivity.java @@ -26,6 +26,8 @@ import org.thoughtcrime.securesms.mms.PushMediaConstraints; @@ -1330,7 +1281,7 @@ index 01de188..002b52b 100644 super.onCreate(savedInstanceState); diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt -index c333d12..a6f66ab 100644 +index c333d12197..a6f66ab725 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/stories/ChooseStoryTypeBottomSheet.kt @@ -40,9 +40,9 @@ class ChooseStoryTypeBottomSheet : DSLSettingsBottomSheetFragment( @@ -1358,7 +1309,7 @@ index c333d12..a6f66ab 100644 ), onClick = { diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestBarColorTheme.kt b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestBarColorTheme.kt -index 68e1def..28c54a9 100644 +index 68e1def4f0..28c54a942e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestBarColorTheme.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestBarColorTheme.kt @@ -1,40 +1,41 @@ @@ -1421,7 +1372,7 @@ index 68e1def..28c54a9 100644 companion object { @JvmStatic diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java -index 05305ae..34ffc1e 100644 +index 05305aeb85..34ffc1eebb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.payments.preferences.model; @@ -1454,7 +1405,7 @@ index 05305ae..34ffc1e 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java -index c26ddbf..855d5e1 100644 +index c26ddbf4ba..855d5e12a7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java @@ -4,8 +4,7 @@ import android.view.View; @@ -1477,7 +1428,7 @@ index c26ddbf..855d5e1 100644 itemView.setOnClickListener(v -> callbacks.onPaymentItem(model)); diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/EditProxyFragment.java b/app/src/main/java/org/thoughtcrime/securesms/preferences/EditProxyFragment.java -index b709e56..2794bb4 100644 +index b709e562b8..2794bb4fd2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/EditProxyFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/EditProxyFragment.java @@ -20,14 +20,15 @@ import androidx.navigation.Navigation; @@ -1508,7 +1459,7 @@ index b709e56..2794bb4 100644 case CONNECTED: proxyStatus.setText(R.string.preferences_connected_to_proxy); diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/UsernameEditFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/UsernameEditFragment.java -index 76cc7dc..9d29648 100644 +index 76cc7dc4d6..9d29648622 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/UsernameEditFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/UsernameEditFragment.java @@ -182,8 +182,8 @@ public class UsernameEditFragment extends LoggingFragment { @@ -1523,7 +1474,7 @@ index 76cc7dc..9d29648 100644 binding.usernameTextFocusedStroke.setBackgroundColor(color); binding.usernameTextWrapper.setHintTextColor(ColorStateList.valueOf(color)); diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.kt -index 59bf8c3..4822091 100644 +index 59bf8c3a04..4822091569 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.kt @@ -61,7 +61,6 @@ import org.whispersystems.signalservice.api.util.OptionalUtil @@ -1544,7 +1495,7 @@ index 59bf8c3..4822091 100644 if (isLtr) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt -index a47bf1d..87877ad 100644 +index a47bf1df9f..87877ad391 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/RecipientPicker.kt @@ -323,7 +323,7 @@ private suspend fun showItemContextMenu( @@ -1593,7 +1544,7 @@ index a47bf1d..87877ad 100644 ) add(blockItem) diff --git a/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java b/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java -index c4d56a9..38a4145 100644 +index c4d56a9faa..38a41459e9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java @@ -26,6 +26,8 @@ import org.thoughtcrime.securesms.PassphraseRequiredActivity; @@ -1626,7 +1577,7 @@ index c4d56a9..38a4145 100644 private final Handler handler = new Handler(Looper.getMainLooper()); private final Runnable durationUpdateRunnable = () -> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorStickerSelectActivity.java b/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorStickerSelectActivity.java -index 28f099e..93e1b5f 100644 +index 28f099e86e..93e1b5f172 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorStickerSelectActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/scribbles/ImageEditorStickerSelectActivity.java @@ -26,11 +26,20 @@ import org.thoughtcrime.securesms.scribbles.stickers.FeatureSticker; @@ -1659,7 +1610,7 @@ index 28f099e..93e1b5f 100644 super.onCreate(savedInstanceState); setContentView(R.layout.scribble_select_new_sticker_activity); diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerActivity.kt -index ed76d94..2afe86a 100644 +index ed76d94e02..2afe86ab00 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerActivity.kt @@ -30,6 +30,8 @@ import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner @@ -1693,7 +1644,7 @@ index ed76d94..2afe86a 100644 if (StoryMutePolicy.isContentMuted) { viewModel.mute() diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicConversationSettingsTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicConversationSettingsTheme.java -index 75411f8..25a4de3 100644 +index 75411f8dfb..25a4de392a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicConversationSettingsTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicConversationSettingsTheme.java @@ -9,4 +9,9 @@ public class DynamicConversationSettingsTheme extends DynamicTheme { @@ -1708,7 +1659,7 @@ index 75411f8..25a4de3 100644 } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicMediaPreviewTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicMediaPreviewTheme.java new file mode 100644 -index 0000000..5758653 +index 0000000000..5758653f63 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicMediaPreviewTheme.java @@ -0,0 +1,18 @@ @@ -1731,7 +1682,7 @@ index 0000000..5758653 + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java -index 53e27e7..9cbbb13 100644 +index 53e27e72a5..9cbbb139a6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java @@ -9,4 +9,9 @@ public class DynamicNoActionBarTheme extends DynamicTheme { @@ -1745,7 +1696,7 @@ index 53e27e7..9cbbb13 100644 + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java -index f5d5f07..ce691bf 100644 +index f5d5f07b68..ce691bfcf6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java @@ -9,4 +9,9 @@ public class DynamicRegistrationTheme extends DynamicTheme { @@ -1759,7 +1710,7 @@ index f5d5f07..ce691bf 100644 + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java -index e58338b..a49c595 100644 +index e58338bee0..a49c5956dd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java @@ -9,6 +9,8 @@ import androidx.annotation.NonNull; @@ -1805,7 +1756,7 @@ index e58338b..a49c595 100644 return Build.VERSION.SDK_INT >= 29; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt -index d83c1c7..b634764 100644 +index d83c1c75ec..b634764cd4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt @@ -1,10 +1,9 @@ @@ -1945,7 +1896,7 @@ index d83c1c7..b634764 100644 + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/SpanUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/SpanUtil.java -index f8a7609..28a2e4a 100644 +index f8a7609237..28a2e4aa60 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/SpanUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/SpanUtil.java @@ -201,7 +201,7 @@ public final class SpanUtil { @@ -1967,7 +1918,7 @@ index f8a7609..28a2e4a 100644 }, start, start + clickable.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperImageSelectionActivity.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperImageSelectionActivity.java -index a3519df..fd7da4a 100644 +index a3519dfce6..fd7da4afea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperImageSelectionActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/crop/WallpaperImageSelectionActivity.java @@ -14,12 +14,21 @@ import org.thoughtcrime.securesms.R; @@ -2001,7 +1952,7 @@ index a3519df..fd7da4a 100644 super.onCreate(savedInstanceState); diff --git a/app/src/main/res/drawable/signal_context_menu_background.xml b/app/src/main/res/drawable/signal_context_menu_background.xml -index 4b7312a..337ea4d 100644 +index 4b7312abba..337ea4d08f 100644 --- a/app/src/main/res/drawable/signal_context_menu_background.xml +++ b/app/src/main/res/drawable/signal_context_menu_background.xml @@ -4,6 +4,6 @@ @@ -2015,7 +1966,7 @@ index 4b7312a..337ea4d 100644 \ No newline at end of file + diff --git a/app/src/main/res/layout/contact_photo_preview_activity.xml b/app/src/main/res/layout/contact_photo_preview_activity.xml -index 752aac4..8af1f64 100644 +index 752aac4be3..8af1f644e4 100644 --- a/app/src/main/res/layout/contact_photo_preview_activity.xml +++ b/app/src/main/res/layout/contact_photo_preview_activity.xml @@ -4,8 +4,7 @@ @@ -2029,7 +1980,7 @@ index 752aac4..8af1f64 100644 @drawable/ic_splash diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml -index 5991f98..c9ee61c 100644 +index 5991f98857..c9ee61c535 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -50,7 +50,7 @@ @@ -2204,7 +2155,7 @@ index 5991f98..c9ee61c 100644 @color/core_grey_50 #ff5951C8 diff --git a/app/src/main/res/values/signal_styles.xml b/app/src/main/res/values/signal_styles.xml -index e37c905..e7e575d 100644 +index e37c905beb..e7e575d7a8 100644 --- a/app/src/main/res/values/signal_styles.xml +++ b/app/src/main/res/values/signal_styles.xml @@ -274,8 +274,6 @@ @@ -2268,7 +2219,7 @@ index e37c905..e7e575d 100644 + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml -index a084177..bbe42c1 100644 +index a084177fd3..bbe42c1f7c 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -129,12 +129,115 @@ @@ -2700,7 +2651,7 @@ index a084177..bbe42c1 100644