diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c index a126a9cde..5b3d1f67e 100644 --- a/jni/dc_wrapper.c +++ b/jni/dc_wrapper.c @@ -566,12 +566,6 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_marknoticedChat(JNIEnv *env, jo } -JNIEXPORT void Java_com_b44t_messenger_DcContext_markfreshChat(JNIEnv *env, jobject obj, jint chat_id) -{ - dc_markfresh_chat(get_dc_context(env, obj), chat_id); -} - - JNIEXPORT void Java_com_b44t_messenger_DcContext_setChatVisibility(JNIEnv *env, jobject obj, jint chat_id, jint visibility) { dc_set_chat_visibility(get_dc_context(env, obj), chat_id, visibility); diff --git a/src/main/java/com/b44t/messenger/DcContext.java b/src/main/java/com/b44t/messenger/DcContext.java index 9211ff768..d972001b9 100644 --- a/src/main/java/com/b44t/messenger/DcContext.java +++ b/src/main/java/com/b44t/messenger/DcContext.java @@ -217,8 +217,6 @@ public class DcContext { public native void marknoticedChat(int chat_id); - public native void markfreshChat(int chat_id); - public native void setChatVisibility(int chat_id, int visibility); public native int getChatIdByContactId(int contact_id); diff --git a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java index 1c128b4c9..67f8733b1 100644 --- a/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/BaseConversationListFragment.java @@ -13,6 +13,7 @@ import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.AsyncTask; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -43,7 +44,11 @@ import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.task.SnackbarAsyncTask; import org.thoughtcrime.securesms.util.views.ProgressDialog; +import chat.delta.rpc.Rpc; +import chat.delta.rpc.RpcException; + public abstract class BaseConversationListFragment extends Fragment implements ActionMode.Callback { + private static final String TAG = BaseConversationListFragment.class.getSimpleName(); protected ActionMode actionMode; protected PulsingFloatingActionButton fab; @@ -241,12 +246,19 @@ public abstract class BaseConversationListFragment extends Fragment implements A } private void handleMarkfreshSelected() { - final DcContext dcContext = DcHelper.getContext(requireActivity()); final Set selectedConversations = new HashSet(getListAdapter().getBatchSelections()); - for (long chatId : selectedConversations) { - dcContext.markfreshChat((int) chatId); + + final Rpc rpc = DcHelper.getRpc(requireActivity()); + try { + int accId = rpc.getSelectedAccountId(); + for (long chatId : selectedConversations) { + rpc.markfreshChat(accId, (int) chatId); + } + } catch (RpcException e) { + Log.e(TAG, "RPC error", e); } + if (actionMode != null) { actionMode.finish(); actionMode = null;