Remove LifecycleViewHolder / Adapter.

This commit is contained in:
Alex Hart
2021-11-17 11:39:12 -04:00
committed by Cody Henthorne
parent 12ec0ca84c
commit 0ab66f81be
20 changed files with 117 additions and 108 deletions

View File

@@ -1,19 +0,0 @@
package org.thoughtcrime.securesms.util;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public abstract class LifecycleRecyclerAdapter<VH extends LifecycleViewHolder> extends RecyclerView.Adapter<VH> {
@Override
public void onViewAttachedToWindow(@NonNull VH holder) {
super.onViewAttachedToWindow(holder);
holder.onAttachedToWindow();
}
@Override
public void onViewDetachedFromWindow(@NonNull VH holder) {
super.onViewDetachedFromWindow(holder);
holder.onDetachedFromWindow();
}
}

View File

@@ -1,33 +0,0 @@
package org.thoughtcrime.securesms.util;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
import androidx.recyclerview.widget.RecyclerView;
public abstract class LifecycleViewHolder extends RecyclerView.ViewHolder implements LifecycleOwner {
private final LifecycleRegistry lifecycleRegistry;
public LifecycleViewHolder(@NonNull View itemView) {
super(itemView);
lifecycleRegistry = new LifecycleRegistry(this);
}
void onAttachedToWindow() {
lifecycleRegistry.setCurrentState(Lifecycle.State.RESUMED);
}
void onDetachedFromWindow() {
lifecycleRegistry.setCurrentState(Lifecycle.State.DESTROYED);
}
@Override
public @NonNull Lifecycle getLifecycle() {
return lifecycleRegistry;
}
}

View File

@@ -5,12 +5,12 @@ import android.view.View;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import androidx.recyclerview.widget.RecyclerView;
import java.util.LinkedList;
import java.util.List;
public abstract class MappingViewHolder<Model> extends LifecycleViewHolder implements LifecycleOwner {
public abstract class MappingViewHolder<Model> extends RecyclerView.ViewHolder {
protected final Context context;
protected final List<Object> payload;
@@ -29,6 +29,12 @@ public abstract class MappingViewHolder<Model> extends LifecycleViewHolder imple
return itemView.getContext();
}
public void onAttachedToWindow() {
}
public void onDetachedFromWindow() {
}
public abstract void bind(@NonNull Model model);
public void setPayload(@NonNull List<Object> payload) {