Fix issue #599 - Edit messages in thread are duplicated

This commit is contained in:
Thomas 2022-12-12 16:15:58 +01:00
parent 9846d9ce79
commit 792b0ca77e
2 changed files with 10 additions and 1 deletions

View file

@ -231,7 +231,9 @@ public class ComposeWorker extends Worker {
if (statusResponse.isSuccessful()) {
Status statusReply = statusResponse.body();
if (statusReply != null) {
StatusAdapter.sendAction(context, Helper.ARG_STATUS_POSTED, statusReply, null);
if (dataPost.statusEditId == null) {
StatusAdapter.sendAction(context, Helper.ARG_STATUS_POSTED, statusReply, null);
}
}
if (firstSendMessage == null && statusReply != null) {
firstSendMessage = statusReply;

View file

@ -66,6 +66,7 @@ public class FragmentMastodonContext extends Fragment {
String delete_statuses_for_user = b.getString(Helper.ARG_STATUS_ACCOUNT_ID_DELETED);
Status status_to_delete = (Status) b.getSerializable(Helper.ARG_STATUS_DELETED);
Status statusPosted = (Status) b.getSerializable(Helper.ARG_STATUS_POSTED);
Status status_to_update = (Status) b.getSerializable(Helper.ARG_STATUS_UPDATED);
if (receivedStatus != null && statusAdapter != null) {
int position = getPosition(receivedStatus);
if (position >= 0) {
@ -97,6 +98,12 @@ public class FragmentMastodonContext extends Fragment {
statuses.remove(position);
statusAdapter.notifyItemRemoved(position);
}
} else if (status_to_update != null && statusAdapter != null) {
int position = getPosition(status_to_update);
if (position >= 0) {
statuses.set(position, status_to_update);
statusAdapter.notifyItemChanged(position);
}
} else if (statusPosted != null && statusAdapter != null) {
if (requireActivity() instanceof ContextActivity) {
int i = 0;