From c9aae828e2518adccdc092e41f8d1f0489636271 Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 5 Dec 2022 17:11:55 +0100 Subject: [PATCH 1/3] no ellipsis for poll options --- mastodon/src/main/res/layout/display_item_poll_option.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mastodon/src/main/res/layout/display_item_poll_option.xml b/mastodon/src/main/res/layout/display_item_poll_option.xml index c690d4f68..7d9f53ec7 100644 --- a/mastodon/src/main/res/layout/display_item_poll_option.xml +++ b/mastodon/src/main/res/layout/display_item_poll_option.xml @@ -12,7 +12,8 @@ + tools:text="scream into void. like this: aaaaaaaaaaaaaaaaaaaa"/> From e14dfda2fdf32f0fa3043504ac5831683a87559a Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 5 Dec 2022 17:48:28 +0100 Subject: [PATCH 2/3] show poll vote button for single choice polls --- .../joinmastodon/android/GlobalUserPreferences.java | 2 ++ .../android/fragments/BaseStatusListFragment.java | 10 ++++++++-- .../ui/displayitems/PollFooterStatusDisplayItem.java | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index 5ffa48d54..839fc3a1c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -8,6 +8,7 @@ public class GlobalUserPreferences{ public static boolean useCustomTabs; public static boolean trueBlackTheme; public static ThemePreference theme; + public static boolean voteButtonForSingleChoice; private static SharedPreferences getPrefs(){ return MastodonApp.context.getSharedPreferences("global", Context.MODE_PRIVATE); @@ -18,6 +19,7 @@ public class GlobalUserPreferences{ playGifs=prefs.getBoolean("playGifs", true); useCustomTabs=prefs.getBoolean("useCustomTabs", true); trueBlackTheme=prefs.getBoolean("trueBlackTheme", false); + voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true); theme=ThemePreference.values()[prefs.getInt("theme", 0)]; } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java index 32faa1c90..88cf5ee38 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/BaseStatusListFragment.java @@ -19,6 +19,7 @@ import android.view.WindowInsets; import android.widget.Toolbar; import org.joinmastodon.android.E; +import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships; import org.joinmastodon.android.api.requests.polls.SubmitPollVote; @@ -395,10 +396,12 @@ public abstract class BaseStatusListFragment exten public void onPollOptionClick(PollOptionStatusDisplayItem.Holder holder){ Poll poll=holder.getItem().poll; Poll.Option option=holder.getItem().option; - if(poll.multiple){ + if(poll.multiple || GlobalUserPreferences.voteButtonForSingleChoice){ if(poll.selectedOptions==null) poll.selectedOptions=new ArrayList<>(); - if(poll.selectedOptions.contains(option)){ + boolean optionContained=poll.selectedOptions.contains(option); + if(!poll.multiple) poll.selectedOptions.clear(); + if(optionContained){ poll.selectedOptions.remove(option); holder.itemView.setSelected(false); }else{ @@ -407,6 +410,9 @@ public abstract class BaseStatusListFragment exten } for(int i=0;i Date: Mon, 5 Dec 2022 17:55:52 +0100 Subject: [PATCH 3/3] show own vote after voted closes #113 --- .../android/ui/displayitems/PollOptionStatusDisplayItem.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java index 3c50869c6..70be9b87b 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/PollOptionStatusDisplayItem.java @@ -76,10 +76,11 @@ public class PollOptionStatusDisplayItem extends StatusDisplayItem{ @Override public void onBind(PollOptionStatusDisplayItem item){ text.setText(item.text); - icon.setVisibility(item.showResults ? View.GONE : View.VISIBLE); +// icon.setVisibility(item.showResults ? View.GONE : View.VISIBLE); percent.setVisibility(item.showResults ? View.VISIBLE : View.GONE); itemView.setClickable(!item.showResults); if(item.showResults){ + icon.setSelected(item.poll.ownVotes.contains(item.poll.options.indexOf(item.option))); progressBg.setLevel(Math.round(10000f*item.votesFraction)); button.setBackground(progressBg); itemView.setSelected(item.isMostVoted);