diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c index 9cdc685fc..2231c53e6 100644 --- a/jni/dc_wrapper.c +++ b/jni/dc_wrapper.c @@ -377,6 +377,12 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_marknoticedChat(JNIEnv *env, jo } +JNIEXPORT void Java_com_b44t_messenger_DcContext_marknoticedAllChats(JNIEnv *env, jobject obj) +{ + dc_marknoticed_all_chats(get_dc_context(env, obj)); +} + + JNIEXPORT void Java_com_b44t_messenger_DcContext_marknoticedContact(JNIEnv *env, jobject obj, jint contact_id) { dc_marknoticed_contact(get_dc_context(env, obj), contact_id); diff --git a/src/com/b44t/messenger/DcContext.java b/src/com/b44t/messenger/DcContext.java index cedf3f5e7..199a76372 100644 --- a/src/com/b44t/messenger/DcContext.java +++ b/src/com/b44t/messenger/DcContext.java @@ -110,6 +110,7 @@ public class DcContext { public DcChat getChat(int chat_id) { return new DcChat(getChatCPtr(chat_id)); } public native void markseenMsgs(int msg_ids[]); public native void marknoticedChat(int chat_id); + public native void marknoticedAllChats(); public native void marknoticedContact(int contact_id); public native void archiveChat(int chat_id, int archive); public native int getChatIdByContactId(int contact_id); diff --git a/src/org/thoughtcrime/securesms/ConversationListActivity.java b/src/org/thoughtcrime/securesms/ConversationListActivity.java index 1787a5b44..481e6122e 100644 --- a/src/org/thoughtcrime/securesms/ConversationListActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationListActivity.java @@ -33,8 +33,11 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; +import com.b44t.messenger.DcContext; + import org.thoughtcrime.securesms.components.RatingManager; import org.thoughtcrime.securesms.components.SearchToolbar; +import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MessagingDatabase.MarkedMessageInfo; import org.thoughtcrime.securesms.lock.RegistrationLockDialog; @@ -230,12 +233,8 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit new AsyncTask() { @Override protected Void doInBackground(Void... params) { - Context context = ConversationListActivity.this; - List messageIds = DatabaseFactory.getThreadDatabase(context).setAllThreadsRead(); - - MessageNotifier.updateNotification(context); - MarkReadReceiver.process(context, messageIds); - + Context context = ConversationListActivity.this; + DcHelper.getContext(context).marknoticedAllChats(); return null; } }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);