Added single account direct device search

master
M66B 3 days ago
parent a13a8c6b2e
commit d1770290fa

@ -7017,9 +7017,41 @@ public class FragmentMessages extends FragmentBase
args.putLong("folder", folder); args.putLong("folder", folder);
args.putString("type", type); args.putString("type", type);
FragmentDialogSearch fragment = new FragmentDialogSearch(); new SimpleTask<Void>() {
fragment.setArguments(args); @Override
fragment.show(getParentFragmentManager(), "search"); protected Void onExecute(Context context, Bundle args) throws Throwable {
if (args.getLong("account", -1L) < 0 &&
args.getLong("folder", -1L) < 0 &&
args.getString("type") == null) {
DB db = DB.getInstance(context);
List<EntityAccount> accounts = db.account().getSynchronizingAccounts(EntityAccount.TYPE_IMAP);
if (accounts != null && accounts.size() == 1) {
EntityAccount account = accounts.get(0);
EntityFolder folder = db.folder().getFolderByType(account.id,
account.isGmail() ? EntityFolder.ARCHIVE : EntityFolder.INBOX);
if (folder != null) {
args.putLong("account", account.id);
args.putLong("folder", folder.id);
args.putString("type", folder.type);
}
}
}
return null;
}
@Override
protected void onExecuted(Bundle args, Void data) {
FragmentDialogSearch fragment = new FragmentDialogSearch();
fragment.setArguments(args);
fragment.show(getParentFragmentManager(), "search");
}
@Override
protected void onException(Bundle args, Throwable ex) {
Log.e(ex);
onExecuted(args, null);
}
}.execute(this, args, "single.search");
} }
private void onMenuSaveSearch() { private void onMenuSaveSearch() {

Loading…
Cancel
Save