diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java index 0c3484fff..c04c2e216 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java @@ -34,9 +34,9 @@ public class RestoreAdapter extends RecyclerView.Adapter Long.compare(f2.lastModified(), f1.lastModified())); + if (!mItems.isEmpty()) Collections.sort(mItems, (f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified())); notifyDataSetChanged(); } diff --git a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java index 63f2fca39..a88ae72c5 100644 --- a/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java +++ b/app/src/main/java/com/fongmi/android/tv/api/config/LiveConfig.java @@ -174,7 +174,7 @@ public class LiveConfig { } catch (Throwable e) { e.printStackTrace(); } finally { - App.post(callback::success); + if (callback != null) App.post(callback::success); } } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java index 6c91ebfcf..b8b1bfb4c 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RestoreAdapter.java @@ -28,6 +28,7 @@ public class RestoreAdapter extends RecyclerView.Adapter { 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); - 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(); }); } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/RestoreDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/RestoreDialog.java index e49270c0a..18c3e85ba 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/RestoreDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/RestoreDialog.java @@ -1,6 +1,7 @@ package com.fongmi.android.tv.ui.dialog; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; @@ -47,6 +48,11 @@ public class RestoreDialog extends BaseDialog implements RestoreAdapter.OnClickL binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); } + @Override + public void onItemLoaded() { + binding.recycler.setVisibility(adapter.getItemCount() == 0 ? View.GONE : View.VISIBLE); + } + @Override public void onItemClick(File item) { AppDatabase.restore(item, callback);