Simplification

pull/147/head
M66B 7 years ago
parent 52bdda88bf
commit 90dfa48ed7

@ -1007,12 +1007,12 @@ public class ServiceSynchronize extends LifecycleService {
db.endTransaction(); db.endTransaction();
} }
if (db.folder().getFolderDownload(folder.id))
try { try {
db.beginTransaction(); db.beginTransaction();
downloadMessage(ServiceSynchronize.this, downloadMessage(ServiceSynchronize.this,
folder, ifolder, (IMAPMessage) imessage, folder, ifolder,
message.id, (IMAPMessage) imessage, message.id);
db.folder().getFolderDownload(folder.id));
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {
db.endTransaction(); db.endTransaction();
@ -1097,12 +1097,12 @@ public class ServiceSynchronize extends LifecycleService {
db.endTransaction(); db.endTransaction();
} }
if (db.folder().getFolderDownload(folder.id))
try { try {
db.beginTransaction(); db.beginTransaction();
downloadMessage(ServiceSynchronize.this, downloadMessage(ServiceSynchronize.this,
folder, ifolder, (IMAPMessage) e.getMessage(), folder, ifolder,
message.id, (IMAPMessage) e.getMessage(), message.id);
db.folder().getFolderDownload(folder.id));
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {
db.endTransaction(); db.endTransaction();
@ -2281,6 +2281,7 @@ public class ServiceSynchronize extends LifecycleService {
// Delete not synchronized messages without uid // Delete not synchronized messages without uid
db.message().deleteOrphans(folder.id); db.message().deleteOrphans(folder.id);
if (download) {
db.folder().setFolderSyncState(folder.id, "downloading"); db.folder().setFolderSyncState(folder.id, "downloading");
//fp.add(IMAPFolder.FetchProfileItem.MESSAGE); //fp.add(IMAPFolder.FetchProfileItem.MESSAGE);
@ -2299,9 +2300,8 @@ public class ServiceSynchronize extends LifecycleService {
if (ids[from + j] != null) if (ids[from + j] != null)
downloadMessage( downloadMessage(
this, this,
folder, ifolder, (IMAPMessage) isub[j], folder, ifolder,
ids[from + j], (IMAPMessage) isub[j], ids[from + j]);
download);
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} catch (FolderClosedException ex) { } catch (FolderClosedException ex) {
throw ex; throw ex;
@ -2321,12 +2321,14 @@ public class ServiceSynchronize extends LifecycleService {
} catch (InterruptedException ignored) { } catch (InterruptedException ignored) {
} }
} }
}
if (state.running) if (state.running)
db.folder().setFolderInitialized(folder.id); db.folder().setFolderInitialized(folder.id);
db.folder().setFolderSync(folder.id, new Date().getTime());
db.folder().setFolderSync(folder.id, new Date().getTime());
db.folder().setFolderError(folder.id, null); db.folder().setFolderError(folder.id, null);
} finally { } finally {
Log.i(folder.name + " end sync state=" + state); Log.i(folder.name + " end sync state=" + state);
db.folder().setFolderSyncState(folder.id, null); db.folder().setFolderSyncState(folder.id, null);
@ -2577,14 +2579,13 @@ public class ServiceSynchronize extends LifecycleService {
static void downloadMessage( static void downloadMessage(
Context context, Context context,
EntityFolder folder, IMAPFolder ifolder, IMAPMessage imessage, EntityFolder folder, IMAPFolder ifolder,
long id, boolean download) throws MessagingException, IOException { IMAPMessage imessage, long id) throws MessagingException, IOException {
DB db = DB.getInstance(context); DB db = DB.getInstance(context);
EntityMessage message = db.message().getMessage(id); EntityMessage message = db.message().getMessage(id);
if (message == null) if (message == null)
return; return;
if (download) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
long maxSize = prefs.getInt("download", 32768); long maxSize = prefs.getInt("download", 32768);
if (maxSize == 0) if (maxSize == 0)
@ -2642,7 +2643,6 @@ public class ServiceSynchronize extends LifecycleService {
break; break;
} }
} }
}
private class ServiceManager extends ConnectivityManager.NetworkCallback { private class ServiceManager extends ConnectivityManager.NetworkCallback {
private ServiceState state; private ServiceState state;

@ -233,8 +233,8 @@ public class ViewModelBrowse extends ViewModel {
true, true,
new ArrayList<EntityRule>()); new ArrayList<EntityRule>());
ServiceSynchronize.downloadMessage(state.context, ServiceSynchronize.downloadMessage(state.context,
folder, state.ifolder, (IMAPMessage) isub[j], message.id, folder, state.ifolder,
false); (IMAPMessage) isub[j], message.id);
count++; count++;
} }
db.message().setMessageFound(message.account, message.thread); db.message().setMessageFound(message.account, message.thread);

Loading…
Cancel
Save