diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index bfedf6e392..af9817d5a2 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -98,14 +98,15 @@ import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.Observer; import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import androidx.paging.PagedListAdapter; +import androidx.paging.AsyncPagedListDiffer; +import androidx.paging.PagedList; import androidx.recyclerview.selection.ItemDetailsLookup; import androidx.recyclerview.selection.SelectionTracker; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -public class AdapterMessage extends PagedListAdapter { +public class AdapterMessage extends RecyclerView.Adapter { private Context context; private LifecycleOwner owner; private FragmentManager fragmentManager; @@ -127,14 +128,15 @@ public class AdapterMessage extends PagedListAdapter selectionTracker = null; - - private DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG, SimpleDateFormat.LONG); + private AsyncPagedListDiffer differ = new AsyncPagedListDiffer<>(this, DIFF_CALLBACK); enum ViewType {UNIFIED, FOLDER, THREAD, SEARCH} private static final float LOW_LIGHT = 0.6f; private static final long CACHE_IMAGE_DURATION = 3 * 24 * 3600 * 1000L; + private static DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG, SimpleDateFormat.LONG); + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, BottomNavigationView.OnNavigationItemSelectedListener { private View itemView; @@ -550,7 +552,7 @@ public class AdapterMessage extends PagedListAdapter pagedList) { + differ.submitList(pagedList); + } + + PagedList getCurrentList() { + return differ.getCurrentList(); + } + + @Override + public int getItemCount() { + return differ.getItemCount(); + } + private static final DiffUtil.ItemCallback DIFF_CALLBACK = new DiffUtil.ItemCallback() { @Override @@ -1589,7 +1603,7 @@ public class AdapterMessage extends PagedListAdapter