|
|
|
|
@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.dialog; |
|
|
|
|
|
|
|
|
|
import android.app.Activity; |
|
|
|
|
import android.view.LayoutInflater; |
|
|
|
|
import android.view.View; |
|
|
|
|
import android.view.WindowManager; |
|
|
|
|
|
|
|
|
|
import androidx.appcompat.app.AlertDialog; |
|
|
|
|
@ -19,8 +20,8 @@ import java.io.File; |
|
|
|
|
public class RestoreDialog implements RestoreAdapter.OnClickListener { |
|
|
|
|
|
|
|
|
|
private final DialogRestoreBinding binding; |
|
|
|
|
private final RestoreAdapter adapter; |
|
|
|
|
private final AlertDialog dialog; |
|
|
|
|
private RestoreAdapter adapter; |
|
|
|
|
private Callback callback; |
|
|
|
|
|
|
|
|
|
public static RestoreDialog create(Activity activity) { |
|
|
|
|
@ -30,7 +31,6 @@ public class RestoreDialog implements RestoreAdapter.OnClickListener { |
|
|
|
|
public RestoreDialog(Activity activity) { |
|
|
|
|
this.binding = DialogRestoreBinding.inflate(LayoutInflater.from(activity)); |
|
|
|
|
this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); |
|
|
|
|
this.adapter = new RestoreAdapter(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void show(Callback callback) { |
|
|
|
|
@ -40,14 +40,13 @@ public class RestoreDialog implements RestoreAdapter.OnClickListener { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setRecyclerView() { |
|
|
|
|
binding.recycler.setAdapter(adapter); |
|
|
|
|
binding.recycler.setItemAnimator(null); |
|
|
|
|
binding.recycler.setHasFixedSize(false); |
|
|
|
|
binding.recycler.setAdapter(adapter = new RestoreAdapter(this)); |
|
|
|
|
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 16)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setDialog() { |
|
|
|
|
if (adapter.getItemCount() == 0) return; |
|
|
|
|
WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); |
|
|
|
|
params.width = (int) (ResUtil.getScreenWidth() * 0.4f); |
|
|
|
|
dialog.getWindow().setAttributes(params); |
|
|
|
|
@ -55,6 +54,12 @@ public class RestoreDialog implements RestoreAdapter.OnClickListener { |
|
|
|
|
dialog.show(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onItemLoaded() { |
|
|
|
|
binding.recycler.setVisibility(adapter.getItemCount() == 0 ? View.GONE : View.VISIBLE); |
|
|
|
|
if (adapter.getItemCount() == 0) dialog.dismiss(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onItemClick(File item) { |
|
|
|
|
AppDatabase.restore(item, callback); |
|
|
|
|
|