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
/**

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright 2023 Signal Messenger, LLC
~ SPDX-License-Identifier: AGPL-3.0-only
-->
<org.thoughtcrime.securesms.conversation.mutiselect.MultiselectRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" />

View File

@@ -26,9 +26,8 @@
app:popExitAnim="@anim/fragment_close_exit">
<argument
android:name="start_at_username"
app:argType="boolean"
android:defaultValue="true"
/>
app:argType="boolean" />
</action>
<action
android:id="@+id/action_appSettingsFragment_to_accountSettingsFragment"
@@ -587,6 +586,9 @@
<action
android:id="@+id/action_internalSettingsFragment_to_internalSvrPlaygroundFragment"
app:destination="@id/internalSvrPlaygroundFragment" />
<action
android:id="@+id/action_internalSettingsFragment_to_internalConversationTestFragment"
app:destination="@id/internalConversationTestFragment" />
</fragment>
<fragment
@@ -609,6 +611,11 @@
android:name="org.thoughtcrime.securesms.components.settings.app.internal.svr.InternalSvrPlaygroundFragment"
android:label="internal_svr_playground_fragment" />
<fragment
android:id="@+id/internalConversationTestFragment"
android:name="org.thoughtcrime.securesms.components.settings.app.internal.conversation.InternalConversationTestFragment"
android:label="internal_conversation_test_fragment" />
<!-- endregion -->
<!-- Subscriptions -->
@@ -858,7 +865,7 @@
<fragment
android:id="@+id/usernameLinkSettingsFragment"
android:name="org.thoughtcrime.securesms.components.settings.app.usernamelinks.main.UsernameLinkSettingsFragment" >
android:name="org.thoughtcrime.securesms.components.settings.app.usernamelinks.main.UsernameLinkSettingsFragment">
<action
android:id="@+id/action_usernameLinkSettingsFragment_to_usernameLinkQrColorPickerFragment"