summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-07-02 23:01:03 +0200
committerByteHamster <info@bytehamster.com>2020-07-02 23:01:03 +0200
commit1c887a418a9157e807989e8ed3c64a601200cdc2 (patch)
treed9358ed10bfa9287e68b7e3dc46f952ec7dfdb3b /app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
parent65f844fc8329ef8da38eff04beff7021ba8be989 (diff)
downloadAntennaPod-1c887a418a9157e807989e8ed3c64a601200cdc2.zip
Removed custom Consumer implementation and decoupled adapter from dialog
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java42
1 files changed, 17 insertions, 25 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
index ec285a8f6..2c375f5cd 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.view.View;
import androidx.appcompat.app.AlertDialog;
+import androidx.core.util.Consumer;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
@@ -11,29 +12,7 @@ import de.danoeh.antennapod.adapter.DataFolderAdapter;
public class ChooseDataFolderDialog {
- public abstract static class RunnableWithString implements Runnable {
- public RunnableWithString() {
- super();
- }
- public abstract void run(final String arg);
- @Override public void run() {
- throw new IllegalArgumentException("Expect one String parameter.");
- }
- }
-
- private ChooseDataFolderDialog() {}
-
- public static void showDialog(final Context context, RunnableWithString handlerFunc) {
- DataFolderAdapter adapter = new DataFolderAdapter(context, handlerFunc);
-
- if (adapter.getItemCount() == 0) {
- new AlertDialog.Builder(context)
- .setTitle(R.string.error_label)
- .setMessage(R.string.external_storage_error_msg)
- .setPositiveButton(android.R.string.ok, null)
- .show();
- return;
- }
+ public static void showDialog(final Context context, Consumer<String> handlerFunc) {
View content = View.inflate(context, R.layout.choose_data_folder_dialog, null);
AlertDialog dialog = new AlertDialog.Builder(context)
@@ -43,9 +22,22 @@ public class ChooseDataFolderDialog {
.setNegativeButton(R.string.cancel_label, null)
.create();
((RecyclerView) content.findViewById(R.id.recyclerView)).setLayoutManager(new LinearLayoutManager(context));
+
+ DataFolderAdapter adapter = new DataFolderAdapter(context, path -> {
+ dialog.dismiss();
+ handlerFunc.accept(path);
+ });
((RecyclerView) content.findViewById(R.id.recyclerView)).setAdapter(adapter);
- adapter.setDialog(dialog);
- dialog.show();
+
+ if (adapter.getItemCount() > 0) {
+ dialog.show();
+ } else {
+ new AlertDialog.Builder(context)
+ .setTitle(R.string.error_label)
+ .setMessage(R.string.external_storage_error_msg)
+ .setPositiveButton(android.R.string.ok, null)
+ .show();
+ }
}
} \ No newline at end of file