mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-03 07:36:31 +02:00
Show filter icon in action bar when filtering
This commit is contained in:
@@ -99,6 +99,7 @@ import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.constraintlayout.widget.Group;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.view.MenuItemCompat;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentResultListener;
|
||||
@@ -3893,6 +3894,17 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||
(viewType == AdapterMessage.ViewType.UNIFIED ||
|
||||
(viewType == AdapterMessage.ViewType.FOLDER && !outbox));
|
||||
|
||||
String filter_language = prefs.getString("filter_language", null);
|
||||
boolean filter_active = (filter_seen || filter_unflagged || filter_unknown || !TextUtils.isEmpty(filter_language));
|
||||
MenuItem menuFilter = menu.findItem(R.id.menu_filter);
|
||||
menuFilter.setShowAsAction(folder && filter_active
|
||||
? MenuItem.SHOW_AS_ACTION_ALWAYS
|
||||
: MenuItem.SHOW_AS_ACTION_NEVER);
|
||||
MenuItemCompat.setIconTintList(menuFilter,
|
||||
folder && filter_active ?
|
||||
ColorStateList.valueOf(Helper.resolveColor(getContext(), R.attr.colorAccent)) : null);
|
||||
menuFilter.setIcon(folder && filter_active ? R.drawable.twotone_filter_alt_24 : R.drawable.twotone_filter_list_24);
|
||||
|
||||
MenuItem menuSearch = menu.findItem(R.id.menu_search);
|
||||
menuSearch.setVisible(folder);
|
||||
|
||||
@@ -4252,6 +4264,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||
prefs.edit().putString("filter_language", locale.getLanguage()).apply();
|
||||
}
|
||||
|
||||
FragmentActivity activity = getActivity();
|
||||
if (activity != null)
|
||||
activity.invalidateOptionsMenu();
|
||||
|
||||
loadMessages(true);
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user