diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java index 5848d37f7..bcad1b5a4 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java @@ -1,6 +1,5 @@ package de.danoeh.antennapod.adapter; -import android.app.Dialog; import android.content.Context; import android.text.format.Formatter; import android.view.LayoutInflater; @@ -9,29 +8,25 @@ import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.RadioButton; import android.widget.TextView; - import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; +import androidx.core.util.Consumer; import androidx.recyclerview.widget.RecyclerView; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.util.StorageUtils; -import de.danoeh.antennapod.dialog.ChooseDataFolderDialog; +import java.io.File; +import java.util.ArrayList; +import java.util.List; public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.ViewHolder> { - private final ChooseDataFolderDialog.RunnableWithString selectionHandler; + private final Consumer<String> selectionHandler; private final String currentPath; private final List<StoragePath> entries; private final String freeSpaceString; - private Dialog dialog; - public DataFolderAdapter(Context context, ChooseDataFolderDialog.RunnableWithString selectionHandler) { + public DataFolderAdapter(Context context, @NonNull Consumer<String> selectionHandler) { this.entries = getStorageEntries(context); this.currentPath = getCurrentPath(); this.selectionHandler = selectionHandler; @@ -56,8 +51,10 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi holder.path.setText(storagePath.getShortPath()); holder.size.setText(String.format(freeSpaceString, freeSpace, totalSpace)); holder.progressBar.setProgress(storagePath.getUsagePercentage()); - holder.root.setOnClickListener((View v) -> selectAndDismiss(storagePath)); - holder.radioButton.setOnClickListener((View v) -> selectAndDismiss(storagePath)); + View.OnClickListener selectListener = v -> selectionHandler.accept(storagePath.getFullPath()); + holder.root.setOnClickListener(selectListener); + holder.radioButton.setOnClickListener(selectListener); + if (storagePath.getFullPath().equals(currentPath)) { holder.radioButton.toggle(); } @@ -68,10 +65,6 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi return entries.size(); } - public void setDialog(Dialog dialog) { - this.dialog = dialog; - } - private String getCurrentPath() { File dataFolder = UserPreferences.getDataFolder(null); if (dataFolder != null) { @@ -99,11 +92,6 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi return dir != null && dir.exists() && dir.canRead() && dir.canWrite(); } - private void selectAndDismiss(StoragePath storagePath) { - selectionHandler.run(storagePath.getFullPath()); - dialog.dismiss(); - } - static class ViewHolder extends RecyclerView.ViewHolder { private final View root; private final TextView path; |