mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-24 15:11:03 +00:00
Added favorite answers menu separator
This commit is contained in:
parent
37db782e3c
commit
dd56ad86d7
2 changed files with 15 additions and 8 deletions
|
@ -1803,6 +1803,7 @@ public class FragmentCompose extends FragmentBase {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean grouped = BuildConfig.DEBUG;
|
||||||
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), vwAnchorMenu);
|
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), vwAnchorMenu);
|
||||||
Menu main = popupMenu.getMenu();
|
Menu main = popupMenu.getMenu();
|
||||||
|
|
||||||
|
@ -1821,7 +1822,7 @@ public class FragmentCompose extends FragmentBase {
|
||||||
Collections.sort(answers, new Comparator<EntityAnswer>() {
|
Collections.sort(answers, new Comparator<EntityAnswer>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(EntityAnswer a1, EntityAnswer a2) {
|
public int compare(EntityAnswer a1, EntityAnswer a2) {
|
||||||
if (!BuildConfig.DEBUG || a1.applied.equals(a2.applied))
|
if (!grouped || a1.applied.equals(a2.applied))
|
||||||
return collator.compare(a1.name, a2.name);
|
return collator.compare(a1.name, a2.name);
|
||||||
else
|
else
|
||||||
return -a1.applied.compareTo(a2.applied);
|
return -a1.applied.compareTo(a2.applied);
|
||||||
|
@ -1847,15 +1848,14 @@ public class FragmentCompose extends FragmentBase {
|
||||||
order++;
|
order++;
|
||||||
|
|
||||||
String name = answer.name;
|
String name = answer.name;
|
||||||
if (BuildConfig.DEBUG && answer.applied > 0)
|
|
||||||
name += " ★";
|
|
||||||
|
|
||||||
MenuItem item;
|
MenuItem item;
|
||||||
if (answer.group == null)
|
if (answer.group == null)
|
||||||
item = main.add(Menu.NONE, order, order++, name);
|
item = main.add(Menu.NONE, order, order++, name);
|
||||||
else {
|
else {
|
||||||
SubMenu smenu = map.get(answer.group);
|
SubMenu smenu = map.get(answer.group);
|
||||||
item = smenu.add(Menu.NONE, smenu.size(), smenu.size() + 1, name);
|
item = smenu.add(answer.applied > 0 ? Menu.FIRST : Menu.NONE,
|
||||||
|
smenu.size(), smenu.size() + 1, name);
|
||||||
}
|
}
|
||||||
item.setIntent(new Intent().putExtra("id", answer.id));
|
item.setIntent(new Intent().putExtra("id", answer.id));
|
||||||
}
|
}
|
||||||
|
@ -1922,6 +1922,9 @@ public class FragmentCompose extends FragmentBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (grouped)
|
||||||
|
MenuCompat.setGroupDividerEnabled(popupMenu.getMenu(), true);
|
||||||
|
|
||||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem target) {
|
public boolean onMenuItemClick(MenuItem target) {
|
||||||
|
|
|
@ -122,6 +122,7 @@ import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.widget.PopupMenu;
|
import androidx.appcompat.widget.PopupMenu;
|
||||||
import androidx.constraintlayout.widget.Group;
|
import androidx.constraintlayout.widget.Group;
|
||||||
import androidx.core.graphics.ColorUtils;
|
import androidx.core.graphics.ColorUtils;
|
||||||
|
import androidx.core.view.MenuCompat;
|
||||||
import androidx.core.view.MenuItemCompat;
|
import androidx.core.view.MenuItemCompat;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
@ -2744,6 +2745,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
});
|
});
|
||||||
snackbar.show();
|
snackbar.show();
|
||||||
} else {
|
} else {
|
||||||
|
boolean grouped = BuildConfig.DEBUG;
|
||||||
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), fabReply);
|
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), fabReply);
|
||||||
Menu main = popupMenu.getMenu();
|
Menu main = popupMenu.getMenu();
|
||||||
|
|
||||||
|
@ -2759,7 +2761,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
Collections.sort(answers, new Comparator<EntityAnswer>() {
|
Collections.sort(answers, new Comparator<EntityAnswer>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(EntityAnswer a1, EntityAnswer a2) {
|
public int compare(EntityAnswer a1, EntityAnswer a2) {
|
||||||
if (!BuildConfig.DEBUG || a1.applied.equals(a2.applied))
|
if (!grouped || a1.applied.equals(a2.applied))
|
||||||
return collator.compare(a1.name, a2.name);
|
return collator.compare(a1.name, a2.name);
|
||||||
else
|
else
|
||||||
return -a1.applied.compareTo(a2.applied);
|
return -a1.applied.compareTo(a2.applied);
|
||||||
|
@ -2776,19 +2778,21 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
order++;
|
order++;
|
||||||
|
|
||||||
String name = answer.name;
|
String name = answer.name;
|
||||||
if (BuildConfig.DEBUG && answer.applied > 0)
|
|
||||||
name += " ★";
|
|
||||||
|
|
||||||
MenuItem item;
|
MenuItem item;
|
||||||
if (answer.group == null)
|
if (answer.group == null)
|
||||||
item = main.add(Menu.NONE, order, order++, name);
|
item = main.add(Menu.NONE, order, order++, name);
|
||||||
else {
|
else {
|
||||||
SubMenu smenu = map.get(answer.group);
|
SubMenu smenu = map.get(answer.group);
|
||||||
item = smenu.add(Menu.NONE, smenu.size(), smenu.size() + 1, name);
|
item = smenu.add(answer.applied > 0 ? Menu.FIRST : Menu.NONE,
|
||||||
|
smenu.size(), smenu.size() + 1, name);
|
||||||
}
|
}
|
||||||
item.setIntent(new Intent().putExtra("id", answer.id));
|
item.setIntent(new Intent().putExtra("id", answer.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (grouped)
|
||||||
|
MenuCompat.setGroupDividerEnabled(popupMenu.getMenu(), true);
|
||||||
|
|
||||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem target) {
|
public boolean onMenuItemClick(MenuItem target) {
|
||||||
|
|
Loading…
Reference in a new issue