Added long press move to quick action

pull/214/head
M66B 10 months ago
parent 3dda3074e1
commit 6761890d06

@ -1687,41 +1687,59 @@ public class FragmentMessages extends FragmentBase
} }
}); });
ibMove.setOnClickListener(new View.OnClickListener() { Runnable runMoveTo = new RunnableEx("moveto") {
@Override @Override
public void onClick(View v) { protected void delegate() {
MoreResult result = (MoreResult) cardMore.getTag(); MoreResult result = (MoreResult) cardMore.getTag();
if (result == null) if (result == null)
return; return;
if (result.copyto != null) PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(getContext(), getViewLifecycleOwner(), ibMove);
onActionMoveSelectionAccount(result.copyto.id, false, result.folders);
else {
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(v.getContext(), getViewLifecycleOwner(), ibMove);
int order = 0; int order = 0;
for (EntityAccount account : result.imapAccounts) { for (EntityAccount account : result.imapAccounts) {
order++; order++;
popupMenu.getMenu().add(Menu.NONE, order, order, account.name) popupMenu.getMenu().add(Menu.NONE, order, order, account.name)
.setIntent(new Intent().putExtra("account", account.id)); .setIntent(new Intent().putExtra("account", account.id));
}
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem target) {
Intent intent = target.getIntent();
if (intent == null)
return false;
long account = intent.getLongExtra("account", -1);
onActionMoveSelectionAccount(account, false, result.folders);
return true;
} }
});
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { popupMenu.show();
@Override }
public boolean onMenuItemClick(MenuItem target) { };
Intent intent = target.getIntent();
if (intent == null)
return false;
long account = intent.getLongExtra("account", -1); ibMove.setOnClickListener(new View.OnClickListener() {
onActionMoveSelectionAccount(account, false, result.folders); @Override
public void onClick(View v) {
MoreResult result = (MoreResult) cardMore.getTag();
if (result == null)
return;
return true; if (result.copyto == null)
} runMoveTo.run();
}); else
onActionMoveSelectionAccount(result.copyto.id, false, result.folders);
}
});
popupMenu.show(); ibMove.setOnLongClickListener(new View.OnLongClickListener() {
} @Override
public boolean onLongClick(View v) {
runMoveTo.run();
return true;
} }
}); });

Loading…
Cancel
Save