summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java92
1 files changed, 32 insertions, 60 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
index 7cdcce36f..3ba6be3d9 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
@@ -2,20 +2,19 @@ package de.danoeh.antennapod.fragment;
import android.app.Activity;
import android.content.ActivityNotFoundException;
+import android.content.ClipboardManager;
+import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.Fragment;
-import android.view.ContextMenu;
import android.view.LayoutInflater;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Button;
import android.widget.EditText;
-
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.Fragment;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.activity.OnlineFeedViewActivity;
@@ -23,16 +22,11 @@ import de.danoeh.antennapod.activity.OpmlImportActivity;
import de.danoeh.antennapod.fragment.gpodnet.GpodnetMainFragment;
/**
- * Provides actions for adding new podcast subscriptions
+ * Provides actions for adding new podcast subscriptions.
*/
public class AddFeedFragment extends Fragment {
public static final String TAG = "AddFeedFragment";
-
- /**
- * Preset value for url text field.
- */
- private static final String ARG_FEED_URL = "feedurl";
private static final int REQUEST_CODE_CHOOSE_OPML_IMPORT_PATH = 1;
private EditText combinedFeedSearchBox;
@@ -45,8 +39,20 @@ public class AddFeedFragment extends Fragment {
activity = (MainActivity) getActivity();
((AppCompatActivity) getActivity()).setSupportActionBar(root.findViewById(R.id.toolbar));
- setupAdvancedSearchButtons(root);
- setupSeachBox(root);
+ root.findViewById(R.id.btn_search_itunes).setOnClickListener(v
+ -> activity.loadChildFragment(new ItunesSearchFragment()));
+ root.findViewById(R.id.btn_search_fyyd).setOnClickListener(v
+ -> activity.loadChildFragment(new FyydSearchFragment()));
+ root.findViewById(R.id.btn_search_gpodder).setOnClickListener(v
+ -> activity.loadChildFragment(new GpodnetMainFragment()));
+
+ combinedFeedSearchBox = root.findViewById(R.id.combinedFeedSearchBox);
+ combinedFeedSearchBox.setOnEditorActionListener((v, actionId, event) -> {
+ performSearch();
+ return true;
+ });
+ root.findViewById(R.id.btn_add_via_url).setOnClickListener(v
+ -> showAddViaUrlDialog());
View butOpmlImport = root.findViewById(R.id.btn_opml_import);
butOpmlImport.setOnClickListener(v -> {
@@ -63,54 +69,20 @@ public class AddFeedFragment extends Fragment {
return root;
}
- private void setupSeachBox(View root) {
- final EditText etxtFeedurl = root.findViewById(R.id.etxtFeedurl);
-
- Bundle args = getArguments();
- if (args != null && args.getString(ARG_FEED_URL) != null) {
- etxtFeedurl.setText(args.getString(ARG_FEED_URL));
- }
-
- Button butConfirmAddUrl = root.findViewById(R.id.butConfirm);
- butConfirmAddUrl.setOnClickListener(v -> {
- addUrl(etxtFeedurl.getText().toString());
- });
-
- combinedFeedSearchBox = root.findViewById(R.id.combinedFeedSearchBox);
- combinedFeedSearchBox.setOnEditorActionListener((v, actionId, event) -> {
- performSearch();
- return true;
- });
- }
-
- private void setupAdvancedSearchButtons(View root) {
- View butAdvancedSearch = root.findViewById(R.id.advanced_search);
- registerForContextMenu(butAdvancedSearch);
- butAdvancedSearch.setOnClickListener(v -> butAdvancedSearch.showContextMenu());
+ private void showAddViaUrlDialog() {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle(R.string.add_podcast_by_url);
+ View content = View.inflate(getContext(), R.layout.edit_text_dialog, null);
+ EditText editText = content.findViewById(R.id.text);
+ editText.setHint(R.string.add_podcast_by_url_hint);
+ ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
+ editText.setText(clipboard.getText());
+ builder.setView(content);
+ builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> addUrl(editText.getText().toString()));
+ builder.setNegativeButton(R.string.cancel_label, null);
+ builder.show();
}
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
- getActivity().getMenuInflater().inflate(R.menu.advanced_search, menu);
- }
-
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.search_fyyd:
- activity.loadChildFragment(new FyydSearchFragment());
- return true;
- case R.id.search_gpodder:
- activity.loadChildFragment(new GpodnetMainFragment());
- return true;
- case R.id.search_itunes:
- activity.loadChildFragment(new ItunesSearchFragment());
- return true;
- }
- return false;
- }
-
-
private void addUrl(String url) {
Intent intent = new Intent(getActivity(), OnlineFeedViewActivity.class);
intent.putExtra(OnlineFeedViewActivity.ARG_FEEDURL, url);