From 8b27e6de33b23fcfcbc497c4e09e871522dc911d Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Wed, 12 Apr 2023 13:32:22 -0300 Subject: [PATCH] fix: long click boost button actions on customlocaltimelines Before, you just couldnt reblog something with the unlisted visibility directly from the custom local timelines, now you can! And there are some small adjustments to the behavior. --- .../displayitems/FooterStatusDisplayItem.java | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java index 149046d32..fe45b5870 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FooterStatusDisplayItem.java @@ -228,26 +228,21 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{ } private void onBoostClick(View v){ + if (GlobalUserPreferences.confirmBeforeReblog) { + v.startAnimation(opacityIn); + onBoostLongClick(v); + return; + } if(item.status.reloadWhenClicked){ UiUtils.lookupStatus(v.getContext(), item.status, item.accountID, null, status -> { - if (GlobalUserPreferences.confirmBeforeReblog) { - v.startAnimation(opacityIn); - onBoostLongClick(v); - } else { - boost.setSelected(!status.reblogged); - AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(status, !status.reblogged, null, r->boostConsumer(v, r)); - } + boost.setSelected(!status.reblogged); + AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(status, !status.reblogged, null, r->boostConsumer(v, r)); } ); return; } - if (GlobalUserPreferences.confirmBeforeReblog) { - v.startAnimation(opacityIn); - onBoostLongClick(v); - return; - } boost.setSelected(!item.status.reblogged); AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(item.status, !item.status.reblogged, null, r->boostConsumer(v, r)); } @@ -265,9 +260,22 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{ Consumer doReblog = (visibility) -> { v.startAnimation(opacityOut); - session.getStatusInteractionController() - .setReblogged(item.status, !item.status.reblogged, visibility, r->boostConsumer(v, r)); - dialog.dismiss(); + if(item.status.reloadWhenClicked){ + UiUtils.lookupStatus(v.getContext(), + item.status, item.accountID, null, + status -> { + session.getStatusInteractionController() + .setReblogged(status, !status.reblogged, visibility, r->boostConsumer(v, r)); + boost.setSelected(status.reblogged); + dialog.dismiss(); + } + ); + } else { + session.getStatusInteractionController() + .setReblogged(item.status, !item.status.reblogged, visibility, r->boostConsumer(v, r)); + boost.setSelected(item.status.reblogged); + dialog.dismiss(); + } }; View separator = menu.findViewById(R.id.separator);