|
|
|
|
@ -7017,11 +7017,43 @@ public class FragmentMessages extends FragmentBase
|
|
|
|
|
args.putLong("folder", folder);
|
|
|
|
|
args.putString("type", type);
|
|
|
|
|
|
|
|
|
|
new SimpleTask<Void>() {
|
|
|
|
|
@Override
|
|
|
|
|
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() {
|
|
|
|
|
Bundle args = new Bundle();
|
|
|
|
|
args.putLong("account", account);
|
|
|
|
|
|