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() {