From 5dd190404f59f333a9e85cec61e1db1cdea5d093 Mon Sep 17 00:00:00 2001 From: Ivan Kupalov Date: Mon, 6 Apr 2020 19:28:43 +0200 Subject: [PATCH] Fix reblog confirm (#1723) * Fix reblog confirmation default value * Fix triggering reblog before confirming it * Fix accidents caused by reblog confirmation --- .../tusky/adapter/StatusBaseViewHolder.java | 19 +++++++++++-------- .../conversation/ConversationsFragment.kt | 2 +- .../fragments/ReportStatusesFragment.kt | 2 +- .../fragments/SearchStatusesFragment.kt | 2 +- .../tusky/fragment/TimelineFragment.java | 4 ---- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java index a9465c54..69818f09 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -632,10 +632,10 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { sensitiveMediaShow.setVisibility(View.GONE); } - protected void setupButtons(final StatusActionListener listener, final String accountId, + protected void setupButtons(final StatusActionListener listener, + final String accountId, final String statusContent, StatusDisplayOptions statusDisplayOptions) { - avatar.setOnClickListener(v -> listener.onViewAccount(accountId)); replyButton.setOnClickListener(v -> { int position = getAdapterPosition(); @@ -645,15 +645,18 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { }); if (reblogButton != null) { reblogButton.setEventListener((button, buttonState) -> { + // return true to play animaion int position = getAdapterPosition(); if (position != RecyclerView.NO_POSITION) { - listener.onReblog(!buttonState, position); - } - if (statusDisplayOptions.confirmReblogs()) { - showConfirmReblogDialog(listener, statusContent, buttonState, position); - return false; + if (statusDisplayOptions.confirmReblogs()) { + showConfirmReblogDialog(listener, statusContent, buttonState, position); + return false; + } else { + listener.onReblog(!buttonState, position); + return true; + } } else { - return true; + return false; } }); } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt index a91ed2f0..aa955950 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt @@ -67,7 +67,7 @@ class ConversationsFragment : SFragment(), StatusActionListener, Injectable, Res showBotOverlay = preferences.getBoolean("showBotOverlay", true), useBlurhash = preferences.getBoolean("useBlurhash", true), cardViewMode = CardViewMode.NONE, - confirmReblogs = preferences.getBoolean("confirmReblogs", true) + confirmReblogs = preferences.getBoolean("confirmReblogs", false) ) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt index dad6fe1f..08fbf40f 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt @@ -118,7 +118,7 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler { showBotOverlay = false, useBlurhash = preferences.getBoolean("useBlurhash", true), cardViewMode = CardViewMode.NONE, - confirmReblogs = preferences.getBoolean("confirmReblogs", true) + confirmReblogs = preferences.getBoolean("confirmReblogs", false) ) adapter = StatusesAdapter(statusDisplayOptions, diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt index ac171b9e..5a7f1260 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt @@ -82,7 +82,7 @@ class SearchStatusesFragment : SearchFragment