forked from mirrors/Fedilab
Fix issue #599 - Edit messages in thread are duplicated
This commit is contained in:
parent
9846d9ce79
commit
792b0ca77e
2 changed files with 10 additions and 1 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue