diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt b/presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt
index e9448d7e..b7fcdcda 100644
--- a/presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt
+++ b/presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt
@@ -109,16 +109,17 @@ class ConversationsAdapter @Inject constructor(
holder.title.collapseEnabled = conversation.recipients.size > 1
holder.title.text = buildSpannedString {
append(conversation.getTitle())
- if (conversation.draft.isNotEmpty()) {
- color(theme) { append(" " + context.getString(R.string.main_draft)) }
- }
}
holder.date.text = conversation.date.takeIf { it > 0 }?.let(dateFormatter::getConversationTimestamp)
holder.snippet.text = when {
- conversation.draft.isNotEmpty() -> conversation.draft
+ conversation.draft.isNotEmpty() -> context.getString(R.string.main_sender_draft, conversation.draft)
conversation.me -> context.getString(R.string.main_sender_you, conversation.snippet)
else -> conversation.snippet
}
+
+ // Make the preview in italics if draft
+ if (conversation.draft.isNotEmpty()) holder.snippet.setTypeface(null, Typeface.ITALIC)
+
holder.pinned.isVisible = conversation.pinned
holder.unread.setTint(theme)
}
diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/widget/WidgetAdapter.kt b/presentation/src/main/java/com/moez/QKSMS/feature/widget/WidgetAdapter.kt
index 9d355bfc..1a5f91c8 100644
--- a/presentation/src/main/java/com/moez/QKSMS/feature/widget/WidgetAdapter.kt
+++ b/presentation/src/main/java/com/moez/QKSMS/feature/widget/WidgetAdapter.kt
@@ -28,6 +28,7 @@ import android.widget.RemoteViewsService
import androidx.core.text.bold
import androidx.core.text.buildSpannedString
import androidx.core.text.color
+import androidx.core.text.italic
import dev.octoshrimpy.quik.R
import dev.octoshrimpy.quik.common.util.Colors
import dev.octoshrimpy.quik.common.util.DateFormatter
@@ -142,9 +143,6 @@ class WidgetAdapter(intent: Intent) : RemoteViewsService.RemoteViewsFactory {
remoteViews.setTextColor(R.id.name, textPrimary)
remoteViews.setTextViewText(R.id.name, boldText(buildSpannedString {
append(conversation.getTitle())
- if (conversation.draft.isNotEmpty()) {
- color(theme.theme) { append(" " + context.getString(R.string.main_draft)) }
- }
}, conversation.unread))
// Date
@@ -154,12 +152,17 @@ class WidgetAdapter(intent: Intent) : RemoteViewsService.RemoteViewsFactory {
// Snippet
val snippet = when {
- conversation.draft.isNotEmpty() -> conversation.draft
+ conversation.draft.isNotEmpty() -> context.getString(
+ R.string.main_sender_draft,
+ conversation.draft
+ )
+
conversation.me -> context.getString(R.string.main_sender_you, conversation.snippet)
else -> conversation.snippet
}
remoteViews.setTextColor(R.id.snippet, if (conversation.unread) textPrimary else textTertiary)
remoteViews.setTextViewText(R.id.snippet, boldText(snippet, conversation.unread))
+ remoteViews.setTextViewText(R.id.snippet, italicText(snippet, conversation.draft.isNotEmpty()))
// set fill-in intent to be used for current item
remoteViews.setOnClickFillInIntent(
@@ -190,6 +193,12 @@ class WidgetAdapter(intent: Intent) : RemoteViewsService.RemoteViewsFactory {
else -> text
}
+ private fun italicText(text: CharSequence?, shouldBold: Boolean): CharSequence? = when {
+ shouldBold -> SpannableStringBuilder()
+ .italic { append(text) }
+ else -> text
+ }
+
override fun getLoadingView(): RemoteViews {
val view = RemoteViews(context.packageName, R.layout.widget_loading)
view.setTextViewText(R.id.loadingText, context.getText(R.string.widget_loading))
diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml
index c7a5c4b6..c157c103 100644
--- a/presentation/src/main/res/values/strings.xml
+++ b/presentation/src/main/res/values/strings.xml
@@ -62,6 +62,7 @@
Rename conversation
Syncing messages…
You: %s
+ Draft: %s
Draft
Results in messages
%d messages