pull/589/head
FongMi 1 year ago
parent a215414340
commit 074ffdf71f
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java
  3. 7
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java
  4. 6
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/RestoreDialog.java

@ -34,9 +34,9 @@ public class RestoreAdapter extends RecyclerView.Adapter<RestoreAdapter.ViewHold
public void addAll() { public void addAll() {
File[] files = Path.tv().listFiles(); File[] files = Path.tv().listFiles();
if (files == null || files.length == 0) return; if (files == null) files = new File[0];
for (File file : files) if (file.getName().startsWith("tv") && file.getName().endsWith(".bk.gz")) mItems.add(file); for (File file : files) if (file.getName().startsWith("tv") && file.getName().endsWith(".bk.gz")) mItems.add(file);
Collections.sort(mItems, (f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified())); if (!mItems.isEmpty()) Collections.sort(mItems, (f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified()));
notifyDataSetChanged(); notifyDataSetChanged();
} }

@ -174,7 +174,7 @@ public class LiveConfig {
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
App.post(callback::success); if (callback != null) App.post(callback::success);
} }
} }

@ -28,6 +28,7 @@ public class RestoreAdapter extends RecyclerView.Adapter<RestoreAdapter.ViewHold
@Override @Override
public void success() { public void success() {
notifyDataSetChanged(); notifyDataSetChanged();
mListener.onItemLoaded();
} }
}; };
@ -40,6 +41,8 @@ public class RestoreAdapter extends RecyclerView.Adapter<RestoreAdapter.ViewHold
public interface OnClickListener { public interface OnClickListener {
void onItemLoaded();
void onItemClick(File item); void onItemClick(File item);
void onDeleteClick(File item); void onDeleteClick(File item);
@ -48,9 +51,9 @@ public class RestoreAdapter extends RecyclerView.Adapter<RestoreAdapter.ViewHold
private void addAll() { private void addAll() {
App.execute(() -> { App.execute(() -> {
File[] files = Path.tv().listFiles(); File[] files = Path.tv().listFiles();
if (files == null || files.length == 0) return; if (files == null) files = new File[0];
for (File file : files) if (file.getName().startsWith("tv") && file.getName().endsWith(".bk.gz")) mItems.add(file); for (File file : files) if (file.getName().startsWith("tv") && file.getName().endsWith(".bk.gz")) mItems.add(file);
Collections.sort(mItems, (f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified())); if (!mItems.isEmpty()) Collections.sort(mItems, (f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified()));
callback.success(); callback.success();
}); });
} }

@ -1,6 +1,7 @@
package com.fongmi.android.tv.ui.dialog; package com.fongmi.android.tv.ui.dialog;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -47,6 +48,11 @@ public class RestoreDialog extends BaseDialog implements RestoreAdapter.OnClickL
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16));
} }
@Override
public void onItemLoaded() {
binding.recycler.setVisibility(adapter.getItemCount() == 0 ? View.GONE : View.VISIBLE);
}
@Override @Override
public void onItemClick(File item) { public void onItemClick(File item) {
AppDatabase.restore(item, callback); AppDatabase.restore(item, callback);

Loading…
Cancel
Save