mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-02 02:50:56 +01:00
Use on demand sync when disabled
This commit is contained in:
@@ -228,6 +228,11 @@ public class FragmentFolders extends FragmentBase {
|
||||
args.putLong("account", account);
|
||||
|
||||
new SimpleTask<Boolean>() {
|
||||
@Override
|
||||
protected void onPostExecute(Bundle args) {
|
||||
swipeRefresh.setRefreshing(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Boolean onExecute(Context context, Bundle args) {
|
||||
long aid = args.getLong("account");
|
||||
@@ -236,6 +241,9 @@ public class FragmentFolders extends FragmentBase {
|
||||
NetworkInfo ni = cm.getActiveNetworkInfo();
|
||||
boolean internet = (ni != null && ni.isConnected());
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean enabled = prefs.getBoolean("enabled", true);
|
||||
|
||||
DB db = DB.getInstance(context);
|
||||
try {
|
||||
db.beginTransaction();
|
||||
@@ -248,7 +256,7 @@ public class FragmentFolders extends FragmentBase {
|
||||
List<EntityFolder> folders = db.folder().getFoldersSynchronizingUnified();
|
||||
for (EntityFolder folder : folders) {
|
||||
EntityAccount account = db.account().getAccount(folder.account);
|
||||
if (account.ondemand)
|
||||
if (account.ondemand || !enabled)
|
||||
if (internet) {
|
||||
now = true;
|
||||
ServiceUI.sync(context, folder.id);
|
||||
@@ -261,7 +269,7 @@ public class FragmentFolders extends FragmentBase {
|
||||
}
|
||||
} else {
|
||||
EntityAccount account = db.account().getAccount(aid);
|
||||
if (account.ondemand) {
|
||||
if (account.ondemand || !enabled) {
|
||||
if (internet) {
|
||||
now = true;
|
||||
List<EntityFolder> folders = db.folder().getFoldersOnDemandSync(aid);
|
||||
@@ -291,15 +299,12 @@ public class FragmentFolders extends FragmentBase {
|
||||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, Boolean now) {
|
||||
if (!now) {
|
||||
swipeRefresh.setRefreshing(false);
|
||||
if (!now)
|
||||
Snackbar.make(view, R.string.title_sync_delayed, Snackbar.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
swipeRefresh.setRefreshing(false);
|
||||
if (ex instanceof IllegalArgumentException)
|
||||
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user