From cd5ba9d8f2fd21499ccc8ae08149c42c5bf2d2e2 Mon Sep 17 00:00:00 2001 From: Christine Emrich Date: Thu, 9 Nov 2017 19:57:54 +0100 Subject: [PATCH] Give search item stable ids to animate rows during search --- .../java/org/fdroid/fdroid/views/apps/AppListAdapter.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java index 53aed80c3..4d1590cce 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/apps/AppListAdapter.java @@ -6,6 +6,7 @@ import android.support.v7.widget.RecyclerView; import android.view.ViewGroup; import org.fdroid.fdroid.R; import org.fdroid.fdroid.data.App; +import org.fdroid.fdroid.data.Schema; class AppListAdapter extends RecyclerView.Adapter { @@ -16,6 +17,7 @@ class AppListAdapter extends RecyclerView.Adapter AppListAdapter(Activity activity) { this.activity = activity; divider = new AppListItemDivider(activity); + setHasStableIds(true); } public void setAppCursor(Cursor cursor) { @@ -35,6 +37,12 @@ class AppListAdapter extends RecyclerView.Adapter holder.bindModel(new App(cursor)); } + @Override + public long getItemId(int position) { + cursor.moveToPosition(position); + return cursor.getLong(cursor.getColumnIndex(Schema.AppMetadataTable.Cols.ROW_ID)); + } + @Override public int getItemCount() { return cursor == null ? 0 : cursor.getCount();