mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-19 16:19:33 +01:00
Use original message id for edit message history.
This commit is contained in:
@@ -2057,9 +2057,9 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
||||
@Override
|
||||
public void onEditedIndicatorClicked(@NonNull MessageRecord messageRecord) {
|
||||
if (messageRecord.isOutgoing()) {
|
||||
EditMessageHistoryDialog.show(getChildFragmentManager(), messageRecord.getToRecipient().getId(), messageRecord.getId());
|
||||
EditMessageHistoryDialog.show(getChildFragmentManager(), messageRecord.getToRecipient().getId(), messageRecord);
|
||||
} else {
|
||||
EditMessageHistoryDialog.show(getChildFragmentManager(), messageRecord.getFromRecipient().getId(), messageRecord.getId());
|
||||
EditMessageHistoryDialog.show(getChildFragmentManager(), messageRecord.getFromRecipient().getId(), messageRecord);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@ class EditMessageHistoryDialog : FixedRoundedCornerBottomSheetDialogFragment() {
|
||||
override val peekHeightPercentage: Float = 0.4f
|
||||
|
||||
private val binding: MessageEditHistoryBottomSheetBinding by ViewBinderDelegate(MessageEditHistoryBottomSheetBinding::bind)
|
||||
private val messageId: Long by lazy { requireArguments().getLong(ARGUMENT_MESSAGE_ID) }
|
||||
private val originalMessageId: Long by lazy { requireArguments().getLong(ARGUMENT_ORIGINAL_MESSAGE_ID) }
|
||||
private val conversationRecipient: Recipient by lazy { Recipient.resolved(requireArguments().getParcelable(ARGUMENT_CONVERSATION_RECIPIENT_ID)!!) }
|
||||
private val viewModel: EditMessageHistoryViewModel by viewModels(factoryProducer = ViewModelFactory.factoryProducer { EditMessageHistoryViewModel(messageId, conversationRecipient) })
|
||||
private val viewModel: EditMessageHistoryViewModel by viewModels(factoryProducer = ViewModelFactory.factoryProducer { EditMessageHistoryViewModel(originalMessageId, conversationRecipient) })
|
||||
|
||||
private val disposables: LifecycleDisposable = LifecycleDisposable()
|
||||
|
||||
@@ -147,15 +147,15 @@ class EditMessageHistoryDialog : FixedRoundedCornerBottomSheetDialogFragment() {
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val ARGUMENT_MESSAGE_ID = "message_id"
|
||||
private const val ARGUMENT_ORIGINAL_MESSAGE_ID = "message_id"
|
||||
private const val ARGUMENT_CONVERSATION_RECIPIENT_ID = "recipient_id"
|
||||
|
||||
@JvmStatic
|
||||
fun show(fragmentManager: FragmentManager, threadRecipient: RecipientId, messageId: Long) {
|
||||
fun show(fragmentManager: FragmentManager, threadRecipient: RecipientId, messageRecord: MessageRecord) {
|
||||
EditMessageHistoryDialog()
|
||||
.apply {
|
||||
arguments = bundleOf(
|
||||
ARGUMENT_MESSAGE_ID to messageId,
|
||||
ARGUMENT_ORIGINAL_MESSAGE_ID to (messageRecord.originalMessageId?.id ?: messageRecord.id),
|
||||
ARGUMENT_CONVERSATION_RECIPIENT_ID to threadRecipient
|
||||
)
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@ import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
/**
|
||||
* View model to show history of edits for a specific message.
|
||||
*/
|
||||
class EditMessageHistoryViewModel(private val messageId: Long, private val conversationRecipient: Recipient) : ViewModel() {
|
||||
class EditMessageHistoryViewModel(private val originalMessageId: Long, private val conversationRecipient: Recipient) : ViewModel() {
|
||||
private val groupAuthorNameColorHelper = GroupAuthorNameColorHelper()
|
||||
|
||||
fun getEditHistory(): Observable<List<ConversationMessage>> {
|
||||
return EditMessageHistoryRepository
|
||||
.getEditHistory(messageId)
|
||||
.getEditHistory(originalMessageId)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
}
|
||||
|
||||
|
||||
@@ -1092,9 +1092,9 @@ class ConversationFragment : LoggingFragment(R.layout.v2_conversation_fragment)
|
||||
|
||||
override fun onEditedIndicatorClicked(messageRecord: MessageRecord) {
|
||||
if (messageRecord.isOutgoing) {
|
||||
EditMessageHistoryDialog.show(childFragmentManager, messageRecord.toRecipient.id, messageRecord.id)
|
||||
EditMessageHistoryDialog.show(childFragmentManager, messageRecord.toRecipient.id, messageRecord)
|
||||
} else {
|
||||
EditMessageHistoryDialog.show(childFragmentManager, messageRecord.fromRecipient.id, messageRecord.id)
|
||||
EditMessageHistoryDialog.show(childFragmentManager, messageRecord.fromRecipient.id, messageRecord)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user