From c2d6b8576cac3638bf9bbbea4d40dae1e8134de6 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 31 May 2020 12:37:48 +0200 Subject: [PATCH] Show selected count --- .../eu/faircode/email/FragmentMessages.java | 32 +++++++++++++------ .../drawable/selected_count_background.xml | 5 +++ app/src/main/res/layout/fragment_messages.xml | 14 ++++++++ 3 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 app/src/main/res/drawable/selected_count_background.xml diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 9eac723ada..805f014520 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -240,6 +240,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private FloatingActionButton fabReply; private FloatingActionButton fabCompose; private FloatingActionButton fabMore; + private TextView tvSelectedCount; private FloatingActionButton fabSearch; private FloatingActionButton fabError; @@ -444,6 +445,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. fabReply = view.findViewById(R.id.fabReply); fabCompose = view.findViewById(R.id.fabCompose); fabMore = view.findViewById(R.id.fabMore); + tvSelectedCount = view.findViewById(R.id.tvSelectedCount); fabSearch = view.findViewById(R.id.fabSearch); fabError = view.findViewById(R.id.fabError); @@ -975,6 +977,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } }); + tvSelectedCount.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onMore(); + } + }); + fabSearch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -1117,6 +1126,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. fabSearch.hide(); fabMore.hide(); + tvSelectedCount.setVisibility(View.GONE); fabError.hide(); if (viewType == AdapterMessage.ViewType.THREAD) { @@ -1226,10 +1236,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (activity != null) activity.invalidateOptionsMenu(); - if (selectionTracker != null && selectionTracker.hasSelection()) - fabMore.show(); - else - fabMore.hide(); + updateMore(); } @Override @@ -3090,11 +3097,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. loadMessages(false); updateExpanded(); - - if (selectionTracker != null && selectionTracker.hasSelection()) - fabMore.show(); - else - fabMore.hide(); + updateMore(); // Folder switch (viewType) { @@ -3878,6 +3881,17 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. swipeRefresh.setRefreshing(refreshing); } + private void updateMore() { + if (selectionTracker != null && selectionTracker.hasSelection()) { + fabMore.show(); + tvSelectedCount.setText(NF.format(selectionTracker.getSelection().size())); + tvSelectedCount.setVisibility(View.VISIBLE); + } else { + fabMore.hide(); + tvSelectedCount.setVisibility(View.GONE); + } + } + private void loadMessages(final boolean top) { if (viewType == AdapterMessage.ViewType.THREAD && onclose != null) { ViewModelMessages model = new ViewModelProvider(getActivity()).get(ViewModelMessages.class); diff --git a/app/src/main/res/drawable/selected_count_background.xml b/app/src/main/res/drawable/selected_count_background.xml new file mode 100644 index 0000000000..29ab2dbb72 --- /dev/null +++ b/app/src/main/res/drawable/selected_count_background.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/fragment_messages.xml b/app/src/main/res/layout/fragment_messages.xml index b2c754362c..1c78b9fcdd 100644 --- a/app/src/main/res/layout/fragment_messages.xml +++ b/app/src/main/res/layout/fragment_messages.xml @@ -340,6 +340,20 @@ app:backgroundTint="?attr/colorFabBackground" app:srcCompat="@drawable/baseline_more_vert_24" /> + +