Allow pending member invite cancelation.

This commit is contained in:
Alan Evans
2020-04-08 12:56:57 -03:00
committed by Greyson Parrelli
parent 1d63970a25
commit 68d29d9a0f
17 changed files with 538 additions and 87 deletions

View File

@@ -0,0 +1,19 @@
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

@@ -0,0 +1,33 @@
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;
}
}