|
|
@ -63,6 +63,7 @@ import javax.mail.FetchProfile;
|
|
|
|
import javax.mail.Flags;
|
|
|
|
import javax.mail.Flags;
|
|
|
|
import javax.mail.Folder;
|
|
|
|
import javax.mail.Folder;
|
|
|
|
import javax.mail.Message;
|
|
|
|
import javax.mail.Message;
|
|
|
|
|
|
|
|
import javax.mail.MessageRemovedException;
|
|
|
|
import javax.mail.MessagingException;
|
|
|
|
import javax.mail.MessagingException;
|
|
|
|
import javax.mail.Session;
|
|
|
|
import javax.mail.Session;
|
|
|
|
import javax.mail.Transport;
|
|
|
|
import javax.mail.Transport;
|
|
|
@ -392,6 +393,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
Log.i(Helper.TAG, folder.name + " messages added");
|
|
|
|
Log.i(Helper.TAG, folder.name + " messages added");
|
|
|
|
for (Message imessage : e.getMessages())
|
|
|
|
for (Message imessage : e.getMessages())
|
|
|
|
synchronizeMessage(folder, ffolder, (IMAPMessage) imessage);
|
|
|
|
synchronizeMessage(folder, ffolder, (IMAPMessage) imessage);
|
|
|
|
|
|
|
|
} catch (MessageRemovedException ex) {
|
|
|
|
|
|
|
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
nm.notify("error", folder.id.intValue(), getNotification(folder.name, ex).build());
|
|
|
|
nm.notify("error", folder.id.intValue(), getNotification(folder.name, ex).build());
|
|
|
@ -441,6 +444,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Log.i(Helper.TAG, folder.name + " message changed");
|
|
|
|
Log.i(Helper.TAG, folder.name + " message changed");
|
|
|
|
synchronizeMessage(folder, ffolder, (IMAPMessage) e.getMessage());
|
|
|
|
synchronizeMessage(folder, ffolder, (IMAPMessage) e.getMessage());
|
|
|
|
|
|
|
|
} catch (MessageRemovedException ex) {
|
|
|
|
|
|
|
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
} catch (Throwable ex) {
|
|
|
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
nm.notify("error", folder.id.intValue(), getNotification(folder.name, ex).build());
|
|
|
|
nm.notify("error", folder.id.intValue(), getNotification(folder.name, ex).build());
|
|
|
@ -812,7 +817,11 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
db.beginTransaction();
|
|
|
|
db.beginTransaction();
|
|
|
|
for (int i = 0; i < FETCH_BATCH_SIZE && batch + i < added.size(); i++)
|
|
|
|
for (int i = 0; i < FETCH_BATCH_SIZE && batch + i < added.size(); i++)
|
|
|
|
synchronizeMessage(folder, ifolder, (IMAPMessage) added.get(batch + i));
|
|
|
|
try {
|
|
|
|
|
|
|
|
synchronizeMessage(folder, ifolder, (IMAPMessage) added.get(batch + i));
|
|
|
|
|
|
|
|
} catch (MessageRemovedException ex) {
|
|
|
|
|
|
|
|
Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
|
|
|
|
|
|
|
|
}
|
|
|
|
db.setTransactionSuccessful();
|
|
|
|
db.setTransactionSuccessful();
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
db.endTransaction();
|
|
|
|
db.endTransaction();
|
|
|
|