From fc8aee3ce4379dd9fd975562278ed67a225282ba Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 16 Mar 2020 21:38:36 +0100 Subject: Made add feed page more white --- .../antennapod/fragment/AddFeedFragment.java | 92 ++++++++-------------- 1 file changed, 32 insertions(+), 60 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/fragment') 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); -- cgit v1.2.3 From e4fa92b8b98ea15ea49daf05b474e7bbdb626fac Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 16 Mar 2020 21:51:37 +0100 Subject: Showing more suggestions --- .../fragment/QuickFeedDiscoveryFragment.java | 31 ++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/fragment') diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java index 7e217cde4..d8d0f41c5 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java @@ -2,6 +2,7 @@ package de.danoeh.antennapod.fragment; import android.content.Intent; import android.os.Bundle; +import android.util.DisplayMetrics; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import android.util.Log; @@ -26,11 +27,12 @@ import java.util.List; public class QuickFeedDiscoveryFragment extends Fragment implements AdapterView.OnItemClickListener { private static final String TAG = "FeedDiscoveryFragment"; + private static final int NUM_SUGGESTIONS = 12; private ProgressBar progressBar; private Disposable disposable; private FeedDiscoverAdapter adapter; - private GridView subscriptionGridLayout; + private GridView discoverGridLayout; private TextView errorTextView; @Override @@ -41,24 +43,31 @@ public class QuickFeedDiscoveryFragment extends Fragment implements AdapterView. discoverMore.setOnClickListener(v -> ((MainActivity) getActivity()).loadChildFragment(new ItunesSearchFragment())); - subscriptionGridLayout = root.findViewById(R.id.discover_grid); + discoverGridLayout = root.findViewById(R.id.discover_grid); progressBar = root.findViewById(R.id.discover_progress_bar); errorTextView = root.findViewById(R.id.discover_error); adapter = new FeedDiscoverAdapter((MainActivity) getActivity()); - subscriptionGridLayout.setAdapter(adapter); - subscriptionGridLayout.setOnItemClickListener(this); + discoverGridLayout.setAdapter(adapter); + discoverGridLayout.setOnItemClickListener(this); + + DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); + float screenWidthDp = displayMetrics.widthPixels / displayMetrics.density; + if (screenWidthDp > 600) { + discoverGridLayout.setNumColumns(6); + } else { + discoverGridLayout.setNumColumns(4); + } // Fill with dummy elements to have a fixed height and // prevent the UI elements below from jumping on slow connections List dummies = new ArrayList<>(); - for (int i = 0; i < 8; i++) { + for (int i = 0; i < NUM_SUGGESTIONS; i++) { dummies.add(PodcastSearchResult.dummy()); } - adapter.updateData(dummies); + adapter.updateData(dummies); loadToplist(); - return root; } @@ -72,22 +81,22 @@ public class QuickFeedDiscoveryFragment extends Fragment implements AdapterView. private void loadToplist() { progressBar.setVisibility(View.VISIBLE); - subscriptionGridLayout.setVisibility(View.INVISIBLE); + discoverGridLayout.setVisibility(View.INVISIBLE); errorTextView.setVisibility(View.GONE); ItunesTopListLoader loader = new ItunesTopListLoader(getContext()); - disposable = loader.loadToplist(8) + disposable = loader.loadToplist(NUM_SUGGESTIONS) .subscribe(podcasts -> { errorTextView.setVisibility(View.GONE); progressBar.setVisibility(View.GONE); - subscriptionGridLayout.setVisibility(View.VISIBLE); + discoverGridLayout.setVisibility(View.VISIBLE); adapter.updateData(podcasts); }, error -> { Log.e(TAG, Log.getStackTraceString(error)); errorTextView.setText(error.getLocalizedMessage()); errorTextView.setVisibility(View.VISIBLE); progressBar.setVisibility(View.GONE); - subscriptionGridLayout.setVisibility(View.INVISIBLE); + discoverGridLayout.setVisibility(View.INVISIBLE); }); } -- cgit v1.2.3