From 56cb4ef84029f6d3a6606ecae87959a94417c074 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Sun, 19 Oct 2025 01:23:11 +0800 Subject: [PATCH] Fix bug --- .../fongmi/android/tv/ui/adapter/BaseDiffAdapter.java | 6 +++++- .../fongmi/android/tv/ui/adapter/DeviceAdapter.java | 6 ------ .../com/fongmi/android/tv/ui/dialog/CastDialog.java | 10 ++++++---- .../com/fongmi/android/tv/ui/dialog/SyncDialog.java | 6 ++++-- 4 files changed, 15 insertions(+), 13 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 37c04362b..4c9edc68b 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 @@ -69,7 +69,11 @@ public abstract class BaseDiffAdapter, VH extends Recycler } public void clear() { - setItems(new ArrayList<>()); + clear(null); + } + + public void clear(Runnable runnable) { + setItems(new ArrayList<>(), runnable); } @Override diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java index 9b7bcb7cb..148bec06b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java @@ -28,12 +28,6 @@ public class DeviceAdapter extends BaseDiffAdapter getIps() { List ips = new ArrayList<>(); for (Device item : getItems()) if (item.isApp()) ips.add(item.getIp()); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java index 6f13abf18..b7fd2837b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java @@ -143,10 +143,12 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe } private void onRefresh() { - adapter.clear(); - DLNADevice.get().disconnect(); - DLNACastManager.INSTANCE.search(null); - if (fm) scanTask.start(adapter.getIps()); + adapter.clear(() -> { + Device.delete(); + DLNADevice.get().disconnect(); + DLNACastManager.INSTANCE.search(null); + if (fm) scanTask.start(adapter.getIps()); + }); } private void onCasted() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java index ea1899f81..a0f9587fd 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java @@ -141,8 +141,10 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe } private void onRefresh() { - adapter.clear(); - scanTask.start(adapter.getIps()); + adapter.clear(() -> { + Device.delete(); + scanTask.start(adapter.getIps()); + }); } private void onSuccess() {