migrate conversation list to RecyclerView

fixes #2488
fixes #2333
// FREEBIE
This commit is contained in:
Jake McGinty
2015-09-15 15:28:27 -07:00
committed by Moxie Marlinspike
parent cbcd53a8a0
commit 99d3374d35
20 changed files with 293 additions and 282 deletions

View File

@@ -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() {

View File

@@ -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;