|
|
@ -525,6 +525,10 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
|
|
|
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
|
|
|
final PowerManager.WakeLock wlAccount = pm.newWakeLock(
|
|
|
|
final PowerManager.WakeLock wlAccount = pm.newWakeLock(
|
|
|
|
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":account." + account.id);
|
|
|
|
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":account." + account.id);
|
|
|
|
|
|
|
|
final PowerManager.WakeLock wlFolder = pm.newWakeLock(
|
|
|
|
|
|
|
|
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":account." + account.id + ".folder");
|
|
|
|
|
|
|
|
final PowerManager.WakeLock wlMessage = pm.newWakeLock(
|
|
|
|
|
|
|
|
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":account." + account.id + ".message");
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlAccount.acquire();
|
|
|
|
|
|
|
|
|
|
|
@ -561,7 +565,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void notification(StoreEvent e) {
|
|
|
|
public void notification(StoreEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlFolder.acquire();
|
|
|
|
String message = e.getMessage();
|
|
|
|
String message = e.getMessage();
|
|
|
|
if (e.getMessageType() == StoreEvent.ALERT) {
|
|
|
|
if (e.getMessageType() == StoreEvent.ALERT) {
|
|
|
|
Log.w(account.name + " alert: " + message);
|
|
|
|
Log.w(account.name + " alert: " + message);
|
|
|
@ -574,7 +578,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
} else
|
|
|
|
} else
|
|
|
|
Log.i(account.name + " notice: " + message);
|
|
|
|
Log.i(account.name + " notice: " + message);
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlFolder.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -584,18 +588,18 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void folderCreated(FolderEvent e) {
|
|
|
|
public void folderCreated(FolderEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlFolder.acquire();
|
|
|
|
Log.i("Folder created=" + e.getFolder().getFullName());
|
|
|
|
Log.i("Folder created=" + e.getFolder().getFullName());
|
|
|
|
reload(ServiceSynchronize.this, "folder created");
|
|
|
|
reload(ServiceSynchronize.this, "folder created");
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlFolder.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void folderRenamed(FolderEvent e) {
|
|
|
|
public void folderRenamed(FolderEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlFolder.acquire();
|
|
|
|
Log.i("Folder renamed=" + e.getFolder().getFullName());
|
|
|
|
Log.i("Folder renamed=" + e.getFolder().getFullName());
|
|
|
|
|
|
|
|
|
|
|
|
String old = e.getFolder().getFullName();
|
|
|
|
String old = e.getFolder().getFullName();
|
|
|
@ -605,18 +609,18 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
|
|
|
|
|
|
|
reload(ServiceSynchronize.this, "folder renamed");
|
|
|
|
reload(ServiceSynchronize.this, "folder renamed");
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlFolder.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void folderDeleted(FolderEvent e) {
|
|
|
|
public void folderDeleted(FolderEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlFolder.acquire();
|
|
|
|
Log.i("Folder deleted=" + e.getFolder().getFullName());
|
|
|
|
Log.i("Folder deleted=" + e.getFolder().getFullName());
|
|
|
|
reload(ServiceSynchronize.this, "folder deleted");
|
|
|
|
reload(ServiceSynchronize.this, "folder deleted");
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlFolder.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -730,7 +734,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void messagesAdded(MessageCountEvent e) {
|
|
|
|
public void messagesAdded(MessageCountEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlMessage.acquire();
|
|
|
|
Log.i(folder.name + " messages added");
|
|
|
|
Log.i(folder.name + " messages added");
|
|
|
|
|
|
|
|
|
|
|
|
FetchProfile fp = new FetchProfile();
|
|
|
|
FetchProfile fp = new FetchProfile();
|
|
|
@ -779,14 +783,14 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
Core.reportError(ServiceSynchronize.this, account, folder, ex);
|
|
|
|
Core.reportError(ServiceSynchronize.this, account, folder, ex);
|
|
|
|
state.error(ex);
|
|
|
|
state.error(ex);
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlMessage.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void messagesRemoved(MessageCountEvent e) {
|
|
|
|
public void messagesRemoved(MessageCountEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlMessage.acquire();
|
|
|
|
Log.i(folder.name + " messages removed");
|
|
|
|
Log.i(folder.name + " messages removed");
|
|
|
|
for (Message imessage : e.getMessages())
|
|
|
|
for (Message imessage : e.getMessages())
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -809,7 +813,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex, true));
|
|
|
|
db.folder().setFolderError(folder.id, Helper.formatThrowable(ex, true));
|
|
|
|
state.error(ex);
|
|
|
|
state.error(ex);
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlMessage.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -821,7 +825,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void messageChanged(MessageChangedEvent e) {
|
|
|
|
public void messageChanged(MessageChangedEvent e) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
wlAccount.acquire();
|
|
|
|
wlMessage.acquire();
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Log.i(folder.name + " message changed");
|
|
|
|
Log.i(folder.name + " message changed");
|
|
|
|
|
|
|
|
|
|
|
@ -860,7 +864,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
Core.reportError(ServiceSynchronize.this, account, folder, ex);
|
|
|
|
Core.reportError(ServiceSynchronize.this, account, folder, ex);
|
|
|
|
state.error(ex);
|
|
|
|
state.error(ex);
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
wlAccount.release();
|
|
|
|
wlMessage.release();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|