mirror of https://github.com/FongMi/TV.git
parent
bef28f7d5a
commit
51e84aaf8c
@ -0,0 +1,28 @@ |
||||
package com.fongmi.android.tv.ui.adapter.diff; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
import androidx.leanback.widget.DiffCallback; |
||||
import androidx.recyclerview.widget.DiffUtil; |
||||
|
||||
public abstract class BaseDiffCallback<T> extends DiffCallback<T> { |
||||
|
||||
@Override |
||||
public abstract boolean areItemsTheSame(@NonNull T oldItem, @NonNull T newItem); |
||||
|
||||
@Override |
||||
public abstract boolean areContentsTheSame(@NonNull T oldItem, @NonNull T newItem); |
||||
|
||||
public final DiffUtil.ItemCallback<T> asItemCallback() { |
||||
return new DiffUtil.ItemCallback<T>() { |
||||
@Override |
||||
public boolean areItemsTheSame(@NonNull T oldItem, @NonNull T newItem) { |
||||
return BaseDiffCallback.this.areItemsTheSame(oldItem, newItem); |
||||
} |
||||
|
||||
@Override |
||||
public boolean areContentsTheSame(@NonNull T oldItem, @NonNull T newItem) { |
||||
return BaseDiffCallback.this.areContentsTheSame(oldItem, newItem); |
||||
} |
||||
}; |
||||
} |
||||
} |
||||
@ -0,0 +1,18 @@ |
||||
package com.fongmi.android.tv.ui.adapter.diff; |
||||
|
||||
import com.fongmi.android.tv.bean.History; |
||||
|
||||
import org.jspecify.annotations.NonNull; |
||||
|
||||
public class HistoryDiffCallback extends BaseDiffCallback<History> { |
||||
|
||||
@Override |
||||
public boolean areItemsTheSame(@NonNull History oldItem, @NonNull History newItem) { |
||||
return oldItem.getKey().equals(newItem.getKey()); |
||||
} |
||||
|
||||
@Override |
||||
public boolean areContentsTheSame(@NonNull History oldItem, @NonNull History newItem) { |
||||
return oldItem.equals(newItem); |
||||
} |
||||
} |
||||
@ -0,0 +1,18 @@ |
||||
package com.fongmi.android.tv.ui.adapter.diff; |
||||
|
||||
import com.fongmi.android.tv.bean.Keep; |
||||
|
||||
import org.jspecify.annotations.NonNull; |
||||
|
||||
public class KeepDiffCallback extends BaseDiffCallback<Keep> { |
||||
|
||||
@Override |
||||
public boolean areItemsTheSame(@NonNull Keep oldItem, @NonNull Keep newItem) { |
||||
return oldItem.getKey().equals(newItem.getKey()); |
||||
} |
||||
|
||||
@Override |
||||
public boolean areContentsTheSame(@NonNull Keep oldItem, @NonNull Keep newItem) { |
||||
return oldItem.equals(newItem); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue