diff --git a/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryEntry.kt b/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryEntry.kt index bb6cf5bf..1990ee92 100644 --- a/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryEntry.kt +++ b/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryEntry.kt @@ -2,18 +2,12 @@ package helium314.keyboard.latin -import kotlinx.serialization.KSerializer import kotlinx.serialization.Serializable -import kotlinx.serialization.descriptors.PrimitiveKind -import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder @Serializable data class ClipboardHistoryEntry ( var timeStamp: Long, - @Serializable(with = CharSequenceStringSerializer::class) - val content: CharSequence, + val content: String, var isPinned: Boolean = false ) : Comparable { override fun compareTo(other: ClipboardHistoryEntry): Int { @@ -21,13 +15,3 @@ data class ClipboardHistoryEntry ( return if (result != 0) result else other.timeStamp.compareTo(timeStamp) } } - -class CharSequenceStringSerializer : KSerializer { - override val descriptor = PrimitiveSerialDescriptor("CharSequence", PrimitiveKind.STRING) - - override fun serialize(encoder: Encoder, value: CharSequence) { - encoder.encodeString(value.toString()) - } - - override fun deserialize(decoder: Decoder) = decoder.decodeString() -} \ No newline at end of file diff --git a/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryManager.kt b/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryManager.kt index b5d62188..8d41cfb7 100644 --- a/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryManager.kt +++ b/app/src/main/java/helium314/keyboard/latin/ClipboardHistoryManager.kt @@ -61,7 +61,7 @@ class ClipboardHistoryManager( val content = clipItem.coerceToText(latinIME) if (TextUtils.isEmpty(content)) return - val duplicateEntryIndex = historyEntries.indexOfFirst { it.content.toString() == content.toString() } + val duplicateEntryIndex = historyEntries.indexOfFirst { it.content == content.toString() } if (duplicateEntryIndex != -1) { val existingEntry = historyEntries[duplicateEntryIndex] if (existingEntry.timeStamp == timeStamp) return // nothing to change (may occur frequently starting with API 30) @@ -74,9 +74,9 @@ class ClipboardHistoryManager( onHistoryChangeListener?.onClipboardHistoryEntryMoved(duplicateEntryIndex, newIndex) return } - if (historyEntries.any { it.content.toString() == content.toString() }) return + if (historyEntries.any { it.content == content.toString() }) return - val entry = ClipboardHistoryEntry(timeStamp, content) + val entry = ClipboardHistoryEntry(timeStamp, content.toString()) historyEntries.add(entry) sortHistoryEntries() val at = historyEntries.indexOf(entry)