mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-24 19:00:26 +01:00
Add randomized testing for ConversationItem.
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
/**
|
||||
|
||||
7
app/src/main/res/layout/conversation_test_fragment.xml
Normal file
7
app/src/main/res/layout/conversation_test_fragment.xml
Normal 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" />
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user