Add randomized testing for ConversationItem.

This commit is contained in:
Alex Hart
2023-06-27 14:31:59 -03:00
committed by Nicholas
parent 559f4bc0d3
commit 5c2b475c01
10 changed files with 538 additions and 4 deletions

View File

@@ -612,6 +612,13 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
}
dividerPref()
clickPref(
title = DSLSettingsText.from("Launch ConversationTestFragment"),
onClick = {
findNavController().safeNavigate(InternalSettingsFragmentDirections.actionInternalSettingsFragmentToInternalConversationTestFragment())
}
)
switchPref(
title = DSLSettingsText.from("Use V2 ConversationFragment"),
isChecked = state.useConversationFragmentV2,

View File

@@ -32,13 +32,18 @@ import org.whispersystems.signalservice.api.push.ServiceId
private typealias ConversationElement = MappingModel<*>
sealed interface ConversationElementKey {
fun requireMessageId(): Long = error("Not implemented for this key")
companion object {
fun forMessage(id: Long): ConversationElementKey = MessageBackedKey(id)
val threadHeader: ConversationElementKey = ThreadHeaderKey
}
}
private data class MessageBackedKey(val id: Long) : ConversationElementKey
private data class MessageBackedKey(val id: Long) : ConversationElementKey {
override fun requireMessageId(): Long = id
}
private object ThreadHeaderKey : ConversationElementKey
/**