|
|
@ -1435,6 +1435,16 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
DB db = DB.getInstance(context);
|
|
|
|
DB db = DB.getInstance(context);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Reset accounts
|
|
|
|
|
|
|
|
for (EntityAccount account : db.account().getAccounts())
|
|
|
|
|
|
|
|
db.account().setAccountState(account.id, null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// reset folders
|
|
|
|
|
|
|
|
for (EntityFolder folder : db.folder().getFolders()) {
|
|
|
|
|
|
|
|
db.folder().setFolderState(folder.id, null);
|
|
|
|
|
|
|
|
db.folder().setFolderSyncState(folder.id, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Restore notifications
|
|
|
|
// Restore notifications
|
|
|
|
db.message().clearNotifyingMessages();
|
|
|
|
db.message().clearNotifyingMessages();
|
|
|
|
|
|
|
|
|
|
|
@ -1445,19 +1455,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
|
|
|
|
// Restore schedule
|
|
|
|
// Restore schedule
|
|
|
|
schedule(context);
|
|
|
|
schedule(context);
|
|
|
|
|
|
|
|
|
|
|
|
// Conditionally init service
|
|
|
|
// Init service
|
|
|
|
int accounts = db.account().getSynchronizingAccounts().size();
|
|
|
|
eval(context, "boot");
|
|
|
|
if (accounts > 0)
|
|
|
|
|
|
|
|
eval(context, "boot");
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
for (EntityAccount account : db.account().getAccounts())
|
|
|
|
|
|
|
|
db.account().setAccountState(account.id, null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (EntityFolder folder : db.folder().getFolders()) {
|
|
|
|
|
|
|
|
db.folder().setFolderState(folder.id, null);
|
|
|
|
|
|
|
|
db.folder().setFolderSyncState(folder.id, null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
Log.e(ex);
|
|
|
|
Log.e(ex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|