mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-26 09:59:28 +00:00
migrate conversation list to RecyclerView
fixes #2488 fixes #2333 // FREEBIE
This commit is contained in:
committed by
Moxie Marlinspike
parent
cbcd53a8a0
commit
99d3374d35
@@ -19,6 +19,7 @@ package org.thoughtcrime.securesms.database;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.DataSetObserver;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
/**
|
||||
@@ -90,17 +91,34 @@ public abstract class CursorRecyclerViewAdapter<VH extends RecyclerView.ViewHold
|
||||
: 0;
|
||||
}
|
||||
|
||||
public abstract void onBindViewHolder(VH viewHolder, Cursor cursor);
|
||||
public abstract void onBindViewHolder(VH viewHolder, @NonNull Cursor cursor);
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(VH viewHolder, int position) {
|
||||
moveToPositionOrThrow(position);
|
||||
onBindViewHolder(viewHolder, cursor);
|
||||
}
|
||||
|
||||
@Override public int getItemViewType(int position) {
|
||||
moveToPositionOrThrow(position);
|
||||
return getItemViewType(cursor);
|
||||
}
|
||||
|
||||
public int getItemViewType(@NonNull Cursor cursor) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
private void assertActiveCursor() {
|
||||
if (!isActiveCursor()) {
|
||||
throw new IllegalStateException("this should only be called when the cursor is valid");
|
||||
}
|
||||
}
|
||||
|
||||
private void moveToPositionOrThrow(final int position) {
|
||||
assertActiveCursor();
|
||||
if (!cursor.moveToPosition(position)) {
|
||||
throw new IllegalStateException("couldn't move cursor to position " + position);
|
||||
}
|
||||
onBindViewHolder(viewHolder, cursor);
|
||||
}
|
||||
|
||||
private boolean isActiveCursor() {
|
||||
|
||||
@@ -56,7 +56,7 @@ public class MmsSmsDatabase extends Database {
|
||||
MmsSmsColumns.MISMATCHED_IDENTITIES,
|
||||
MmsDatabase.NETWORK_FAILURE, TRANSPORT};
|
||||
|
||||
String order = MmsSmsColumns.NORMALIZED_DATE_RECEIVED + " ASC";
|
||||
String order = MmsSmsColumns.NORMALIZED_DATE_RECEIVED + " DESC";
|
||||
|
||||
String selection = MmsSmsColumns.THREAD_ID + " = " + threadId;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user