From 6c751a67f73da65c21a4ab62efc1399d62b717df Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Sun, 19 Oct 2025 00:15:34 +0800 Subject: [PATCH] Fix bug --- .../android/tv/ui/adapter/BaseDiffAdapter.java | 18 +++++++++++------- .../tv/ui/activity/HistoryActivity.java | 5 +++-- .../android/tv/ui/activity/KeepActivity.java | 5 +++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java b/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java index 0c04a92d3..eb648ced8 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java @@ -28,22 +28,22 @@ public abstract class BaseDiffAdapter, VH extends Recycler return differ.getCurrentList(); } - public void setItems(List items, Runnable commitCallback) { - differ.submitList(items, commitCallback); - } - public void setItems(List items) { setItems(items, null); } + public void setItems(List items, Runnable runnable) { + differ.submitList(items, runnable); + } + public void addItem(T item) { addItem(item, null); } - public void addItem(T item, Runnable commitCallback) { + public void addItem(T item, Runnable runnable) { List current = new ArrayList<>(getItems()); current.add(item); - setItems(current, commitCallback); + setItems(current, runnable); } public void addItems(List items) { @@ -60,8 +60,12 @@ public abstract class BaseDiffAdapter, VH extends Recycler } public void remove(T item) { + remove(item, null); + } + + public void remove(T item, Runnable runnable) { List current = new ArrayList<>(getItems()); - if (current.remove(item)) setItems(current); + if (current.remove(item)) setItems(current, runnable); } public void clear() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java index 467a69dad..0f0ceb83f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java @@ -87,8 +87,9 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl @Override public void onItemDelete(History item) { - mAdapter.remove(item.delete()); - if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + mAdapter.remove(item.delete(), () -> { + if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + }); } @Override diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java index b6b001835..db1af8e25 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java @@ -110,8 +110,9 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis @Override public void onItemDelete(Keep item) { - mAdapter.remove(item.delete()); - if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + mAdapter.remove(item.delete(), () -> { + if (mAdapter.getItemCount() == 0) mAdapter.setDelete(false); + }); } @Override