some adaptions to ConversationAdapter

This commit is contained in:
B. Petersen
2018-09-14 10:25:43 +02:00
parent 73e6d7d768
commit 2fb6da8100
2 changed files with 15 additions and 2 deletions
@@ -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 <V extends View & BindableConversationItem>
extends FastCursorRecyclerViewAdapter<ConversationAdapter.ViewHolder, MessageRecord>
extends FastCursorRecyclerViewAdapter<ConversationAdapter.ViewHolder, MessageRecord> // TODO: base this on RecyclerView.Adapter (see ConversationListAdapter)
implements StickyHeaderDecoration.StickyHeaderAdapter<HeaderViewHolder>
{
@@ -103,6 +105,9 @@ public class ConversationAdapter <V extends View & BindableConversationItem>
private MessageRecord recordToPulseHighlight;
private ApplicationDcContext dcContext;
private int[] dcMsgList = new int[0];
protected static class ViewHolder extends RecyclerView.ViewHolder {
public <V extends View & BindableConversationItem> ViewHolder(final @NonNull V itemView) {
super(itemView);
@@ -152,6 +157,7 @@ public class ConversationAdapter <V extends View & BindableConversationItem>
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 <V extends View & BindableConversationItem>
}
@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);
@@ -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