diff --git a/app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java b/app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java index f8c7643e8..46c90ca7f 100644 --- a/app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java +++ b/app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java @@ -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; diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java index 33dc10c8b..ffa1d1299 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java @@ -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;