Skip idle for transient accounts

pull/190/head
M66B 4 years ago
parent ebd9f09683
commit bc9edd087b

@ -1288,30 +1288,32 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
}); });
// Idle folder // Idle folder
Thread idler = new Thread(new Runnable() { if (!isTransient(account)) {
@Override Thread idler = new Thread(new Runnable() {
public void run() { @Override
try { public void run() {
Log.i(folder.name + " start idle"); try {
while (ifolder.isOpen() && state.isRunning() && state.isRecoverable()) { Log.i(folder.name + " start idle");
Log.i(folder.name + " do idle"); while (ifolder.isOpen() && state.isRunning() && state.isRecoverable()) {
ifolder.idle(false); Log.i(folder.name + " do idle");
state.activity(); ifolder.idle(false);
state.activity();
}
} catch (Throwable ex) {
Log.e(folder.name, ex);
EntityLog.log(
ServiceSynchronize.this,
folder.name + " " + Log.formatThrowable(ex, false));
state.error(new FolderClosedException(ifolder, "IDLE", new Exception(ex)));
} finally {
Log.i(folder.name + " end idle");
} }
} catch (Throwable ex) {
Log.e(folder.name, ex);
EntityLog.log(
ServiceSynchronize.this,
folder.name + " " + Log.formatThrowable(ex, false));
state.error(new FolderClosedException(ifolder, "IDLE", new Exception(ex)));
} finally {
Log.i(folder.name + " end idle");
} }
} }, "idler." + folder.id);
}, "idler." + folder.id); idler.setPriority(THREAD_PRIORITY_BACKGROUND);
idler.setPriority(THREAD_PRIORITY_BACKGROUND); idler.start();
idler.start(); idlers.add(idler);
idlers.add(idler); }
if (sync && folder.selectable) if (sync && folder.selectable)
EntityOperation.sync(this, folder.id, false, force && !forced); EntityOperation.sync(this, folder.id, false, force && !forced);

Loading…
Cancel
Save