pull/605/head
jhengazuki 6 months ago
parent 6c751a67f7
commit eb5d47d5e2
  1. 6
      app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java
  2. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/DeviceAdapter.java
  3. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java
  4. 5
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java

@ -52,10 +52,10 @@ public abstract class BaseDiffAdapter<T extends Diffable<T>, VH extends Recycler
setItems(current);
}
public void sort(Comparator<T> comparator) {
public void addItemSort(T item, Comparator<T> comparator) {
List<T> current = new ArrayList<>(getItems());
if (current.size() < 2) return;
current.sort(comparator);
current.add(item);
if (current.size() >= 2) current.sort(comparator);
setItems(current);
}

@ -28,19 +28,6 @@ public class DeviceAdapter extends BaseDiffAdapter<Device, DeviceAdapter.ViewHol
boolean onLongClick(Device item);
}
@Override
public void addItem(Device item) {
super.addItem(item);
sort(new Device.Sorter());
}
@Override
public void addItems(List<Device> items) {
if (items.isEmpty()) return;
super.addItems(items);
sort(new Device.Sorter());
}
@Override
public void clear() {
super.clear();

@ -52,6 +52,7 @@ import okhttp3.Response;
public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListener, ScanTask.Listener, OnDeviceRegistryListener, OnDeviceControlListener, ServiceActionCallback<Unit>, okhttp3.Callback {
private final FormBody.Builder body;
private final Device.Sorter sorter;
private final OkHttpClient client;
private final ScanTask scanTask;
@ -67,6 +68,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe
}
public CastDialog() {
sorter = new Device.Sorter();
scanTask = new ScanTask(this);
body = new FormBody.Builder();
body.add("device", Device.get().toString());
@ -159,12 +161,12 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe
@Override
public void onFind(Device device) {
adapter.addItem(device);
adapter.addItemSort(device, sorter);
}
@Override
public void onDeviceAdded(@NonNull org.fourthline.cling.model.meta.Device<?, ?, ?> device) {
adapter.addItem(DLNADevice.get().add(device));
adapter.addItemSort(DLNADevice.get().add(device), sorter);
}
@Override

@ -46,9 +46,11 @@ import okhttp3.Response;
public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListener, ScanTask.Listener {
private final FormBody.Builder body;
private final Device.Sorter sorter;
private final OkHttpClient client;
private final ScanTask scanTask;
private final TypedArray mode;
private DialogDeviceBinding binding;
private DeviceAdapter adapter;
private String type;
@ -58,6 +60,7 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
}
public SyncDialog() {
sorter = new Device.Sorter();
body = new FormBody.Builder();
scanTask = new ScanTask(this);
client = OkHttp.client(Constant.TIMEOUT_SYNC);
@ -153,7 +156,7 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
@Override
public void onFind(Device device) {
adapter.addItem(device);
adapter.addItemSort(device, sorter);
}
@Override

Loading…
Cancel
Save