Sync when account connected

This commit is contained in:
M66B
2019-04-11 17:47:58 +02:00
parent a0038c41da
commit 01c1d76a48
6 changed files with 53 additions and 6 deletions

View File

@@ -432,11 +432,23 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
if (!Helper.getNetworkState(context).isSuitable())
throw new IllegalArgumentException(context.getString(R.string.title_no_internet));
boolean now = true;
DB db = DB.getInstance(context);
try {
db.beginTransaction();
EntityOperation.sync(context, fid, true);
EntityFolder folder = db.folder().getFolder(fid);
if (folder == null)
return null;
EntityOperation.sync(context, folder.id, true);
if (folder.account != null) {
EntityAccount account = db.account().getAccount(folder.account);
if (account != null && !"connected".equals(account.state))
now = false;
}
db.setTransactionSuccessful();
@@ -444,6 +456,11 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
db.endTransaction();
}
if (!now) {
ServiceSynchronize.reset(context);
throw new IllegalArgumentException(context.getString(R.string.title_no_connection));
}
return null;
}