summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2024-03-31 18:40:15 +0200
committerGitHub <noreply@github.com>2024-03-31 18:40:15 +0200
commitedb440a5a9a05e24c344a71b272b9238217e9c55 (patch)
tree13623ca7d0dac052ac35d693aac940d0727c87f9 /app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java
parent4e47691e70e85736c7eeb30ce02c73176e565a86 (diff)
downloadAntennaPod-edb440a5a9a05e24c344a71b272b9238217e9c55.zip
Restructure related UI classes together (#7044)
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java88
1 files changed, 0 insertions, 88 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java
deleted file mode 100644
index 67c5d85cf..000000000
--- a/app/src/main/java/de/danoeh/antennapod/dialog/EditUrlSettingsDialog.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package de.danoeh.antennapod.dialog;
-
-import android.app.Activity;
-import android.os.CountDownTimer;
-import android.view.LayoutInflater;
-import androidx.appcompat.app.AlertDialog;
-import com.google.android.material.dialog.MaterialAlertDialogBuilder;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
-import de.danoeh.antennapod.storage.database.DBWriter;
-import de.danoeh.antennapod.databinding.EditTextDialogBinding;
-import de.danoeh.antennapod.model.feed.Feed;
-
-import java.lang.ref.WeakReference;
-import java.util.Locale;
-import java.util.concurrent.ExecutionException;
-
-public abstract class EditUrlSettingsDialog {
- public static final String TAG = "EditUrlSettingsDialog";
- private final WeakReference<Activity> activityRef;
- private final Feed feed;
-
- public EditUrlSettingsDialog(Activity activity, Feed feed) {
- this.activityRef = new WeakReference<>(activity);
- this.feed = feed;
- }
-
- public void show() {
- Activity activity = activityRef.get();
- if (activity == null) {
- return;
- }
-
- final EditTextDialogBinding binding = EditTextDialogBinding.inflate(LayoutInflater.from(activity));
-
- binding.urlEditText.setText(feed.getDownloadUrl());
-
- new MaterialAlertDialogBuilder(activity)
- .setView(binding.getRoot())
- .setTitle(R.string.edit_url_menu)
- .setPositiveButton(android.R.string.ok, (d, input) ->
- showConfirmAlertDialog(String.valueOf(binding.urlEditText.getText())))
- .setNegativeButton(R.string.cancel_label, null)
- .show();
- }
-
- private void onConfirmed(String original, String updated) {
- try {
- DBWriter.updateFeedDownloadURL(original, updated).get();
- feed.setDownloadUrl(updated);
- FeedUpdateManager.getInstance().runOnce(activityRef.get(), feed);
- } catch (ExecutionException | InterruptedException e) {
- throw new RuntimeException(e);
- }
- }
-
- private void showConfirmAlertDialog(String url) {
- Activity activity = activityRef.get();
-
- AlertDialog alertDialog = new MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.edit_url_menu)
- .setMessage(R.string.edit_url_confirmation_msg)
- .setPositiveButton(android.R.string.ok, (d, input) -> {
- onConfirmed(feed.getDownloadUrl(), url);
- setUrl(url);
- })
- .setNegativeButton(R.string.cancel_label, null)
- .show();
- alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
-
- new CountDownTimer(15000, 1000) {
- @Override
- public void onTick(long millisUntilFinished) {
- alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setText(
- String.format(Locale.getDefault(), "%s (%d)",
- activity.getString(android.R.string.ok), millisUntilFinished / 1000 + 1));
- }
-
- @Override
- public void onFinish() {
- alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
- alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setText(android.R.string.ok);
- }
- }.start();
- }
-
- protected abstract void setUrl(String url);
-}