From 2fb6da8100c389ab2b0870df5a771f8f4f178bc5 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 14 Sep 2018 10:25:43 +0200 Subject: [PATCH] some adaptions to ConversationAdapter --- .../thoughtcrime/securesms/ConversationAdapter.java | 10 ++++++++-- .../thoughtcrime/securesms/ConversationFragment.java | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationAdapter.java b/src/org/thoughtcrime/securesms/ConversationAdapter.java index 7d7d2049c..c1816e554 100644 --- a/src/org/thoughtcrime/securesms/ConversationAdapter.java +++ b/src/org/thoughtcrime/securesms/ConversationAdapter.java @@ -33,6 +33,8 @@ import com.annimon.stream.Stream; import org.thoughtcrime.securesms.ConversationAdapter.HeaderViewHolder; import org.thoughtcrime.securesms.attachments.DatabaseAttachment; +import org.thoughtcrime.securesms.connect.ApplicationDcContext; +import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.FastCursorRecyclerViewAdapter; import org.thoughtcrime.securesms.database.MmsSmsColumns; @@ -71,7 +73,7 @@ import java.util.Set; * */ public class ConversationAdapter - extends FastCursorRecyclerViewAdapter + extends FastCursorRecyclerViewAdapter // TODO: base this on RecyclerView.Adapter (see ConversationListAdapter) implements StickyHeaderDecoration.StickyHeaderAdapter { @@ -103,6 +105,9 @@ public class ConversationAdapter private MessageRecord recordToPulseHighlight; + private ApplicationDcContext dcContext; + private int[] dcMsgList = new int[0]; + protected static class ViewHolder extends RecyclerView.ViewHolder { public ViewHolder(final @NonNull V itemView) { super(itemView); @@ -152,6 +157,7 @@ public class ConversationAdapter this.db = null; this.calendar = null; this.digest = MessageDigest.getInstance("SHA1"); + this.dcContext = DcHelper.getContext(context); } catch (NoSuchAlgorithmException nsae) { throw new AssertionError("SHA1 isn't supported!"); } @@ -183,7 +189,7 @@ public class ConversationAdapter } @Override - public void changeCursor(Cursor cursor) { + public void changeCursor(Cursor cursor) { // TOOD: this should take a int[] instead of a cursor; the int[] is saved in dcMsgList then messageRecordCache.clear(); super.cleanFastRecords(); super.changeCursor(cursor); diff --git a/src/org/thoughtcrime/securesms/ConversationFragment.java b/src/org/thoughtcrime/securesms/ConversationFragment.java index 912b61c2e..7e04d4747 100644 --- a/src/org/thoughtcrime/securesms/ConversationFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationFragment.java @@ -53,8 +53,12 @@ import android.widget.TextView; import android.widget.Toast; import android.widget.ViewSwitcher; +import com.b44t.messenger.DcContext; + import org.thoughtcrime.securesms.ConversationAdapter.HeaderViewHolder; import org.thoughtcrime.securesms.ConversationAdapter.ItemClickListener; +import org.thoughtcrime.securesms.connect.ApplicationDcContext; +import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.contactshare.ContactUtil; import org.thoughtcrime.securesms.contactshare.SharedContactDetailsActivity; import org.thoughtcrime.securesms.contactshare.Contact; @@ -121,10 +125,13 @@ public class ConversationFragment extends Fragment private View scrollToBottomButton; private TextView scrollDateHeader; + private ApplicationDcContext dcContext; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActionBarActivity.LOCALE_EXTRA); + this.dcContext = DcHelper.getContext(getContext()); } @Override