diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c index d666ace7f..1026a7310 100644 --- a/jni/dc_wrapper.c +++ b/jni/dc_wrapper.c @@ -269,6 +269,12 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_interruptImapIdle(JNIEnv *env, } +JNIEXPORT void Java_com_b44t_messenger_DcContext_performSentboxJobs(JNIEnv *env, jobject obj) +{ + dc_perform_sentbox_jobs(get_dc_context(env, obj)); +} + + JNIEXPORT void Java_com_b44t_messenger_DcContext_performSentboxFetch(JNIEnv *env, jobject obj) { dc_perform_sentbox_fetch(get_dc_context(env, obj)); @@ -287,6 +293,12 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_interruptSentboxIdle(JNIEnv *en } +JNIEXPORT void Java_com_b44t_messenger_DcContext_performMvboxJobs(JNIEnv *env, jobject obj) +{ + dc_perform_mvbox_jobs(get_dc_context(env, obj)); +} + + JNIEXPORT void Java_com_b44t_messenger_DcContext_performMvboxFetch(JNIEnv *env, jobject obj) { dc_perform_mvbox_fetch(get_dc_context(env, obj)); diff --git a/src/com/b44t/messenger/DcContext.java b/src/com/b44t/messenger/DcContext.java index fbdebc83e..199739cce 100644 --- a/src/com/b44t/messenger/DcContext.java +++ b/src/com/b44t/messenger/DcContext.java @@ -83,18 +83,25 @@ public class DcContext { public native void configure (); public native void stopOngoingProcess (); public native int isConfigured (); + public native void performImapJobs (); public native void performImapFetch (); public native void performImapIdle (); public native void interruptImapIdle (); + + public native void performMvboxJobs (); public native void performMvboxFetch (); public native void performMvboxIdle (); public native void interruptMvboxIdle (); - public native void performSentboxFetch (); - public native void performSentboxIdle (); - public native void interruptSentboxIdle (); + + public native void performSentboxJobs (); + public native void performSentboxFetch (); + public native void performSentboxIdle (); + public native void interruptSentboxIdle (); + public native void performSmtpJobs (); public native void performSmtpIdle (); + public native void maybeNetwork (); public native void setConfig (String key, String value); public void setConfigInt (String key, int value) { setConfig(key, Integer.toString(value)); } diff --git a/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java b/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java index ece25e66c..44b89d53e 100644 --- a/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java +++ b/src/org/thoughtcrime/securesms/connect/ApplicationDcContext.java @@ -351,6 +351,7 @@ public class ApplicationDcContext extends DcContext { while (true) { mvboxWakeLock.acquire(); + performMvboxJobs(); performMvboxFetch(); mvboxWakeLock.release(); performMvboxIdle(); @@ -383,6 +384,7 @@ public class ApplicationDcContext extends DcContext { while (true) { sentboxWakeLock.acquire(); + performSentboxJobs(); performSentboxFetch(); sentboxWakeLock.release(); performSentboxIdle();