|
|
|
@ -392,12 +392,6 @@ public class FragmentAccount extends FragmentEx {
|
|
|
|
|
args.putString("password", tilPassword.getEditText().getText().toString());
|
|
|
|
|
args.putInt("auth_type", authorized == null ? Helper.AUTH_TYPE_PASSWORD : provider.getAuthType());
|
|
|
|
|
|
|
|
|
|
args.putString("name", etName.getText().toString());
|
|
|
|
|
args.putInt("color", color);
|
|
|
|
|
args.putString("signature", Html.toHtml(etSignature.getText()));
|
|
|
|
|
args.putBoolean("synchronize", cbSynchronize.isChecked());
|
|
|
|
|
args.putBoolean("primary", cbPrimary.isChecked());
|
|
|
|
|
|
|
|
|
|
new SimpleTask<List<EntityFolder>>() {
|
|
|
|
|
@Override
|
|
|
|
|
protected List<EntityFolder> onLoad(Context context, Bundle args) throws Throwable {
|
|
|
|
@ -408,54 +402,6 @@ public class FragmentAccount extends FragmentEx {
|
|
|
|
|
String password = args.getString("password");
|
|
|
|
|
int auth_type = args.getInt("auth_type");
|
|
|
|
|
|
|
|
|
|
String name = args.getString("name");
|
|
|
|
|
int color = args.getInt("color");
|
|
|
|
|
String signature = args.getString("signature");
|
|
|
|
|
boolean synchronize = args.getBoolean("synchronize");
|
|
|
|
|
boolean primary = args.getBoolean("primary");
|
|
|
|
|
|
|
|
|
|
boolean check = true;
|
|
|
|
|
boolean restart = false;
|
|
|
|
|
DB db = DB.getInstance(getContext());
|
|
|
|
|
try {
|
|
|
|
|
db.beginTransaction();
|
|
|
|
|
|
|
|
|
|
EntityAccount account = db.account().getAccount(args.getLong("id"));
|
|
|
|
|
if (account != null) {
|
|
|
|
|
if (host.equals(account.host) &&
|
|
|
|
|
port.equals(Integer.toString(account.port)) &&
|
|
|
|
|
user.equals(account.user) &&
|
|
|
|
|
password.equals(account.password) &&
|
|
|
|
|
auth_type == account.auth_type) {
|
|
|
|
|
check = false;
|
|
|
|
|
restart = (synchronize != account.synchronize);
|
|
|
|
|
|
|
|
|
|
account.name = name;
|
|
|
|
|
account.color = color;
|
|
|
|
|
account.signature = signature;
|
|
|
|
|
account.synchronize = synchronize;
|
|
|
|
|
account.primary = primary;
|
|
|
|
|
|
|
|
|
|
if (!synchronize)
|
|
|
|
|
account.error = null;
|
|
|
|
|
|
|
|
|
|
if (account.primary)
|
|
|
|
|
db.account().resetPrimary();
|
|
|
|
|
|
|
|
|
|
db.account().updateAccount(account);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
db.setTransactionSuccessful();
|
|
|
|
|
} finally {
|
|
|
|
|
db.endTransaction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!check) {
|
|
|
|
|
if (restart)
|
|
|
|
|
ServiceSynchronize.reload(getContext(), "save account");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (TextUtils.isEmpty(host))
|
|
|
|
|
throw new Throwable(getContext().getString(R.string.title_no_host));
|
|
|
|
|
if (TextUtils.isEmpty(port))
|
|
|
|
@ -520,6 +466,7 @@ public class FragmentAccount extends FragmentEx {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Create entry
|
|
|
|
|
DB db = DB.getInstance(context);
|
|
|
|
|
EntityFolder folder = db.folder().getFolderByName(id, ifolder.getFullName());
|
|
|
|
|
if (folder == null) {
|
|
|
|
|
folder = new EntityFolder();
|
|
|
|
|