Remove StableCharSequence, it was useful when we were using the Epoxy library.

This commit is contained in:
Benoit Marty 2023-07-17 16:18:54 +02:00
parent 31331d17ff
commit 6681f6f806
10 changed files with 40 additions and 77 deletions

View file

@ -1,31 +0,0 @@
/*
* Copyright (c) 2022 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.element.android.libraries.core.data
/**
* Wrapper for a CharSequence, which support mutation of the CharSequence.
*/
class StableCharSequence(val charSequence: CharSequence) {
private val hash = charSequence.toString().hashCode()
override fun hashCode() = hash
override fun equals(other: Any?) = other is StableCharSequence && other.hash == hash
override fun toString(): String = "StableCharSequence(\"$charSequence\")"
}
fun CharSequence.toStableCharSequence() = StableCharSequence(this)

View file

@ -26,15 +26,15 @@ sealed interface MessageComposerMode : Parcelable {
@Parcelize
data class Normal(val content: CharSequence?) : MessageComposerMode
sealed class Special(open val eventId: EventId?, open val defaultContent: CharSequence) :
sealed class Special(open val eventId: EventId?, open val defaultContent: String) :
MessageComposerMode
@Parcelize
data class Edit(override val eventId: EventId?, override val defaultContent: CharSequence, val transactionId: TransactionId?) :
data class Edit(override val eventId: EventId?, override val defaultContent: String, val transactionId: TransactionId?) :
Special(eventId, defaultContent)
@Parcelize
class Quote(override val eventId: EventId, override val defaultContent: CharSequence) :
class Quote(override val eventId: EventId, override val defaultContent: String) :
Special(eventId, defaultContent)
@Parcelize
@ -42,7 +42,7 @@ sealed interface MessageComposerMode : Parcelable {
val senderName: String,
val attachmentThumbnailInfo: AttachmentThumbnailInfo?,
override val eventId: EventId,
override val defaultContent: CharSequence
override val defaultContent: String
) : Special(eventId, defaultContent)
val relatedEventId: EventId?

View file

@ -96,7 +96,7 @@ fun TextComposer(
focusRequester: FocusRequester = FocusRequester(),
onSendMessage: (String) -> Unit = {},
onResetComposerMode: () -> Unit = {},
onComposerTextChange: (CharSequence) -> Unit = {},
onComposerTextChange: (String) -> Unit = {},
onAddAttachment: () -> Unit = {},
onFocusChanged: (Boolean) -> Unit = {},
) {