Show filter icon in action bar when filtering

pull/187/head
M66B 4 years ago
parent d3806b8eb1
commit 7261c98d60

@ -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;

Loading…
Cancel
Save