|
|
|
@ -1549,6 +1549,7 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
|
|
|
|
|
private void start() {
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main start");
|
|
|
|
|
|
|
|
|
|
state = new ServiceState();
|
|
|
|
|
|
|
|
|
|
main = new Thread(new Runnable() {
|
|
|
|
@ -1556,9 +1557,9 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
try {
|
|
|
|
|
DB db = DB.getInstance(ServiceSynchronize.this);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
outbox = db.folder().getOutbox();
|
|
|
|
|
if (outbox == null) {
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "No outbox, halt");
|
|
|
|
@ -1604,10 +1605,11 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
threads.add(t);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main started " + main);
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main started");
|
|
|
|
|
|
|
|
|
|
synchronized (state) {
|
|
|
|
|
try {
|
|
|
|
|
if (state.running)
|
|
|
|
|
state.wait();
|
|
|
|
|
} catch (InterruptedException ex) {
|
|
|
|
|
Log.w(Helper.TAG, "main wait " + ex.toString());
|
|
|
|
@ -1638,7 +1640,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void stop() {
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main stop " + main);
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main stop");
|
|
|
|
|
|
|
|
|
|
synchronized (state) {
|
|
|
|
|
state.running = false;
|
|
|
|
|
state.notifyAll();
|
|
|
|
@ -1648,10 +1651,10 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
|
main.interrupt();
|
|
|
|
|
join(main);
|
|
|
|
|
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main stopped");
|
|
|
|
|
|
|
|
|
|
main = null;
|
|
|
|
|
state = null;
|
|
|
|
|
|
|
|
|
|
EntityLog.log(ServiceSynchronize.this, "Main stopped " + main);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void restart() {
|
|
|
|
|