diff --git a/app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt b/app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt index fa9cb2e475..71e04230f2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/SessionDialogBuilder.kt @@ -114,14 +114,14 @@ class SessionDialogBuilder(val context: Context) { options, ) { dialog, it -> onSelect(it); dialog.dismiss() } - fun destructiveButton( + fun dangerButton( @StringRes text: Int, @StringRes contentDescription: Int = text, listener: () -> Unit = {} ) = button( text, contentDescription, - R.style.Widget_Session_Button_Dialog_DestructiveText, + R.style.Widget_Session_Button_Dialog_DangerText, ) { listener() } fun okButton(listener: (() -> Unit) = {}) = button(android.R.string.ok) { listener() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessages.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessages.kt index d336c967ce..38da11ae24 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessages.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessages.kt @@ -14,7 +14,6 @@ import org.session.libsession.utilities.ExpirationUtil import org.session.libsession.utilities.SSKEnvironment.MessageExpirationManagerProtocol import org.session.libsession.utilities.TextSecurePreferences import org.session.libsession.utilities.getExpirationTypeDisplayValue -import org.thoughtcrime.securesms.database.ThreadDatabase import org.thoughtcrime.securesms.database.model.MessageRecord import org.thoughtcrime.securesms.showSessionDialog import org.thoughtcrime.securesms.util.ConfigurationMessageUtilities @@ -57,7 +56,7 @@ class DisappearingMessages @Inject constructor( context.getExpirationTypeDisplayValue(message.isNotDisappearAfterRead) ) }) - destructiveButton( + dangerButton( text = if (message.expiresIn == 0L) R.string.dialog_disappearing_messages_follow_setting_confirm else R.string.dialog_disappearing_messages_follow_setting_set, contentDescription = if (message.expiresIn == 0L) R.string.AccessibilityId_confirm else R.string.AccessibilityId_set_button ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt index ccd3be2636..060da324d0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt @@ -1120,7 +1120,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe showSessionDialog { title(R.string.RecipientPreferenceActivity_block_this_contact_question) text(R.string.RecipientPreferenceActivity_you_will_no_longer_receive_messages_and_calls_from_this_contact) - destructiveButton(R.string.RecipientPreferenceActivity_block, R.string.AccessibilityId_block_confirm) { + dangerButton(R.string.RecipientPreferenceActivity_block, R.string.AccessibilityId_block_confirm) { viewModel.block() if (deleteThread) { viewModel.deleteThread() @@ -1163,7 +1163,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe showSessionDialog { title(R.string.ConversationActivity_unblock_this_contact_question) text(R.string.ConversationActivity_you_will_once_again_be_able_to_receive_messages_and_calls_from_this_contact) - destructiveButton( + dangerButton( R.string.ConversationActivity_unblock, R.string.AccessibilityId_block_confirm ) { viewModel.unblock() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationReactionOverlay.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationReactionOverlay.kt index 56c6540ed5..9f2046334b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationReactionOverlay.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationReactionOverlay.kt @@ -545,7 +545,8 @@ class ConversationReactionOverlay : FrameLayout { } // Delete message if (userCanDeleteSelectedItems(context, message, openGroup, userPublicKey, blindedPublicKey)) { - items += ActionItem(R.attr.menu_trash_icon, R.string.delete, { handleActionItemClicked(Action.DELETE) }, R.string.AccessibilityId_delete_message, message.subtitle, R.color.destructive) + items += ActionItem(R.attr.menu_trash_icon, R.string.delete, { handleActionItemClicked(Action.DELETE) }, + R.string.AccessibilityId_delete_message, message.subtitle, ThemeUtil.getThemedColor(context, R.attr.danger)) } // Ban user if (userCanBanSelectedUsers(context, message, openGroup, userPublicKey, blindedPublicKey)) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt index fddc815bec..342cd9369b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/MessageDetailActivity.kt @@ -74,7 +74,7 @@ import org.thoughtcrime.securesms.ui.theme.baseMonospace import org.thoughtcrime.securesms.ui.theme.ThemeColors import org.thoughtcrime.securesms.ui.theme.LocalColors import org.thoughtcrime.securesms.ui.theme.blackAlpha40 -import org.thoughtcrime.securesms.ui.theme.destructiveButtonColors +import org.thoughtcrime.securesms.ui.theme.dangerButtonColors import org.thoughtcrime.securesms.ui.setComposeContent import javax.inject.Inject @@ -236,7 +236,7 @@ fun CellButtons( LargeItemButton( R.string.delete, R.drawable.ic_message_details__trash, - colors = destructiveButtonColors(), + colors = dangerButtonColors(), onClick = onDelete ) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt index 2019867f80..b2e3bba81b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt @@ -36,6 +36,7 @@ import org.session.libsession.messaging.contacts.Contact.ContactContext import org.session.libsession.messaging.open_groups.OpenGroupApi import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment import org.session.libsession.utilities.Address +import org.session.libsession.utilities.ThemeUtil.getThemedColor import org.session.libsession.utilities.ViewUtil import org.session.libsession.utilities.getColorFromAttr import org.session.libsession.utilities.modifyLayoutParams @@ -382,7 +383,7 @@ class VisibleMessageView : FrameLayout { private fun getMessageStatusInfo(message: MessageRecord): MessageStatusInfo = when { message.isFailed -> MessageStatusInfo(R.drawable.ic_delivery_status_failed, - resources.getColor(R.color.destructive, context.theme), + getThemedColor(context, R.attr.danger), R.string.delivery_status_failed ) message.isSyncFailed -> diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/ConversationView.kt b/app/src/main/java/org/thoughtcrime/securesms/home/ConversationView.kt index 36ea3a4371..7db87f17dc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/ConversationView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/ConversationView.kt @@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView import dagger.hilt.android.AndroidEntryPoint import network.loki.messenger.R import network.loki.messenger.databinding.ViewConversationBinding +import org.session.libsession.utilities.ThemeUtil import org.session.libsession.utilities.recipients.Recipient import org.thoughtcrime.securesms.conversation.v2.utilities.MentionUtilities.highlightMentions import org.thoughtcrime.securesms.database.RecipientDatabase.NOTIFY_TYPE_ALL @@ -69,7 +70,7 @@ class ConversationView : LinearLayout { } val unreadCount = thread.unreadCount if (thread.recipient.isBlocked) { - binding.accentView.setBackgroundResource(R.color.destructive) + binding.accentView.setBackgroundColor(ThemeUtil.getThemedColor(context, R.attr.danger)) binding.accentView.visibility = View.VISIBLE } else { val accentColor = context.getAccentColor() @@ -122,7 +123,7 @@ class ConversationView : LinearLayout { !thread.isOutgoing -> binding.statusIndicatorImageView.visibility = View.GONE thread.isFailed -> { val drawable = ContextCompat.getDrawable(context, R.drawable.ic_error)?.mutate() - drawable?.setTint(ContextCompat.getColor(context, R.color.destructive)) + drawable?.setTint(ThemeUtil.getThemedColor(context, R.attr.danger)) binding.statusIndicatorImageView.setImageDrawable(drawable) } thread.isPending -> binding.statusIndicatorImageView.setImageResource(R.drawable.ic_circle_dot_dot_dot) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt index 10142cc8fc..3040bb774f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestsAdapter.kt @@ -10,6 +10,7 @@ import android.view.ViewGroup import android.widget.PopupMenu import androidx.recyclerview.widget.RecyclerView import network.loki.messenger.R +import org.session.libsession.utilities.ThemeUtil import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter import org.thoughtcrime.securesms.database.model.ThreadRecord import org.thoughtcrime.securesms.dependencies.DatabaseComponent @@ -60,8 +61,9 @@ class MessageRequestsAdapter( for (i in 0 until popupMenu.menu.size()) { val item = popupMenu.menu.getItem(i) val s = SpannableString(item.title) - s.setSpan(ForegroundColorSpan(context.getColor(R.color.destructive)), 0, s.length, 0) - item.iconTintList = ColorStateList.valueOf(context.getColor(R.color.destructive)) + val danger = ThemeUtil.getThemedColor(context, R.attr.danger) + s.setSpan(ForegroundColorSpan(danger), 0, s.length, 0) + item.iconTintList = ColorStateList.valueOf(danger) item.title = s } popupMenu.setForceShowIcon(true) diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt index d08644c1bd..4ff6812e3d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/SettingsActivity.kt @@ -82,7 +82,7 @@ import org.thoughtcrime.securesms.ui.Divider import org.thoughtcrime.securesms.ui.LargeItemButton import org.thoughtcrime.securesms.ui.LargeItemButtonWithDrawable import org.thoughtcrime.securesms.ui.theme.LocalDimensions -import org.thoughtcrime.securesms.ui.theme.destructiveButtonColors +import org.thoughtcrime.securesms.ui.theme.dangerButtonColors import org.thoughtcrime.securesms.ui.components.PrimaryOutlineButton import org.thoughtcrime.securesms.ui.components.PrimaryOutlineCopyButton import org.thoughtcrime.securesms.ui.contentDescription @@ -472,7 +472,7 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { } LargeItemButton(R.string.activity_settings_help_button, R.drawable.ic_help, Modifier.contentDescription(R.string.AccessibilityId_help)) { show() } Divider() - LargeItemButton(R.string.activity_settings_clear_all_data_button_title, R.drawable.ic_clear_data, Modifier.contentDescription(R.string.AccessibilityId_clear_data), destructiveButtonColors()) { ClearAllDataDialog().show(supportFragmentManager, "Clear All Data Dialog") } + LargeItemButton(R.string.activity_settings_clear_all_data_button_title, R.drawable.ic_message_details__trash, Modifier.contentDescription(R.string.AccessibilityId_clear_data), dangerButtonColors()) { ClearAllDataDialog().show(supportFragmentManager, "Clear All Data Dialog") } } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordActivity.kt index 8d1a80fb0c..a46b4a1d63 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordActivity.kt @@ -34,7 +34,7 @@ class RecoveryPasswordActivity : BaseActionBarActivity() { showSessionDialog { title(R.string.recoveryPasswordHidePermanently) htmlText(R.string.recoveryPasswordHidePermanentlyDescription1) - destructiveButton(R.string.continue_2, R.string.AccessibilityId_continue) { onHideConfirm() } + dangerButton(R.string.continue_2, R.string.AccessibilityId_continue) { onHideConfirm() } cancelButton() } } @@ -44,7 +44,7 @@ class RecoveryPasswordActivity : BaseActionBarActivity() { title(R.string.recoveryPasswordHidePermanently) text(R.string.recoveryPasswordHidePermanentlyDescription2) cancelButton() - destructiveButton( + dangerButton( R.string.yes, contentDescription = R.string.AccessibilityId_confirm_button ) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt index b7b40b41b0..2eb1ea3ec8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Carousel.kt @@ -38,6 +38,7 @@ import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import network.loki.messenger.R import org.thoughtcrime.securesms.ui.theme.LocalColors +import org.thoughtcrime.securesms.ui.theme.blackAlpha40 import org.thoughtcrime.securesms.ui.theme.pillShape import kotlin.math.absoluteValue import kotlin.math.sign @@ -47,7 +48,7 @@ import kotlin.math.sign fun BoxScope.HorizontalPagerIndicator(pagerState: PagerState) { if (pagerState.pageCount >= 2) Card( shape = pillShape, - backgroundColor = Color.Black.copy(alpha = 0.4f), + backgroundColor = blackAlpha40, modifier = Modifier .align(Alignment.BottomCenter) .padding(8.dp) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt index 5631a3a4d9..03e742a969 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt @@ -1,7 +1,6 @@ package org.thoughtcrime.securesms.ui.theme import androidx.compose.foundation.background -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.text.selection.TextSelectionColors @@ -14,7 +13,6 @@ import androidx.compose.material.primarySurface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.takeOrElse import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter @@ -78,7 +76,7 @@ fun ThemeColors.radioButtonColors() = RadioButtonDefaults.colors( fun transparentButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent) @Composable -fun destructiveButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent, contentColor = LocalColors.current.danger) +fun dangerButtonColors() = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent, contentColor = LocalColors.current.danger) // Our themes diff --git a/app/src/main/res/color/button_destructive.xml b/app/src/main/res/color/button_danger.xml similarity index 81% rename from app/src/main/res/color/button_destructive.xml rename to app/src/main/res/color/button_danger.xml index cefbfed23a..d1d41b95e5 100644 --- a/app/src/main/res/color/button_destructive.xml +++ b/app/src/main/res/color/button_danger.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/res/color/state_list_call_action_mic_background.xml b/app/src/main/res/color/state_list_call_action_mic_background.xml index 1e40a3a054..f8ec990e18 100644 --- a/app/src/main/res/color/state_list_call_action_mic_background.xml +++ b/app/src/main/res/color/state_list_call_action_mic_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/destructive_dialog_button_background.xml b/app/src/main/res/drawable/danger_dialog_button_background.xml similarity index 78% rename from app/src/main/res/drawable/destructive_dialog_button_background.xml rename to app/src/main/res/drawable/danger_dialog_button_background.xml index 9d3ac00b07..0f72e98c74 100644 --- a/app/src/main/res/drawable/destructive_dialog_button_background.xml +++ b/app/src/main/res/drawable/danger_dialog_button_background.xml @@ -3,9 +3,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - + - + \ No newline at end of file diff --git a/app/src/main/res/drawable/destructive_dialog_text_button_background.xml b/app/src/main/res/drawable/danger_dialog_text_button_background.xml similarity index 100% rename from app/src/main/res/drawable/destructive_dialog_text_button_background.xml rename to app/src/main/res/drawable/danger_dialog_text_button_background.xml diff --git a/app/src/main/res/drawable/destructive_outline_button_medium_background.xml b/app/src/main/res/drawable/danger_outline_button_medium_background.xml similarity index 79% rename from app/src/main/res/drawable/destructive_outline_button_medium_background.xml rename to app/src/main/res/drawable/danger_outline_button_medium_background.xml index c6e01ef98e..7894c24be8 100644 --- a/app/src/main/res/drawable/destructive_outline_button_medium_background.xml +++ b/app/src/main/res/drawable/danger_outline_button_medium_background.xml @@ -1,12 +1,12 @@ + android:color="@color/button_danger"> diff --git a/app/src/main/res/drawable/ic_clear_data.xml b/app/src/main/res/drawable/ic_clear_data.xml deleted file mode 100644 index 84465dd4cb..0000000000 --- a/app/src/main/res/drawable/ic_clear_data.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_delete_24.xml b/app/src/main/res/drawable/ic_delete_24.xml index 178806738a..48fa95783f 100644 --- a/app/src/main/res/drawable/ic_delete_24.xml +++ b/app/src/main/res/drawable/ic_delete_24.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="@color/destructive"> + android:tint="?danger"> diff --git a/app/src/main/res/layout/activity_blocked_contacts.xml b/app/src/main/res/layout/activity_blocked_contacts.xml index 8d960ad231..8bc458da02 100644 --- a/app/src/main/res/layout/activity_blocked_contacts.xml +++ b/app/src/main/res/layout/activity_blocked_contacts.xml @@ -39,7 +39,7 @@ /> @@ -300,7 +300,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:contentDescription="@string/AccessibilityId_block_message_request_button" - android:textColor="@color/destructive" + android:textColor="?danger" android:paddingHorizontal="@dimen/massive_spacing" android:paddingVertical="@dimen/small_spacing" android:textSize="@dimen/text_size" @@ -334,7 +334,7 @@