mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2026-02-04 14:15:30 +00:00
Validate RSS URL before closing the AddViaUrlDialog (#8217)
This commit is contained in:
@ -7,8 +7,10 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
import android.util.Patterns;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -18,6 +20,7 @@ import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.activity.result.contract.ActivityResultContracts.GetContent;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
@ -145,10 +148,20 @@ public class AddFeedFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
builder.setView(dialogBinding.getRoot());
|
||||
builder.setPositiveButton(R.string.confirm_label,
|
||||
(dialog, which) -> addUrl(dialogBinding.textInput.getText().toString()));
|
||||
builder.setPositiveButton(R.string.confirm_label, null);
|
||||
builder.setNegativeButton(R.string.cancel_label, null);
|
||||
builder.show();
|
||||
AlertDialog alertDialog = builder.create();
|
||||
alertDialog.show();
|
||||
|
||||
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener((view) -> {
|
||||
Editable inputText = dialogBinding.textInput.getText();
|
||||
if (!inputText.toString().matches(Patterns.WEB_URL.pattern())) {
|
||||
dialogBinding.textInputLayout.setError(getText(R.string.rss_address_invalid));
|
||||
return;
|
||||
}
|
||||
addUrl(inputText.toString());
|
||||
alertDialog.dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
private void addUrl(String url) {
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
android:padding="16dp">
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/textInputLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
|
||||
Reference in New Issue
Block a user