summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-03-16 21:51:37 +0100
committerByteHamster <info@bytehamster.com>2020-03-16 22:21:50 +0100
commite4fa92b8b98ea15ea49daf05b474e7bbdb626fac (patch)
treead75a7ffcfbefa1fb8b3ffcc67ddcf7b09ef060a
parentfc8aee3ce4379dd9fd975562278ed67a225282ba (diff)
downloadAntennaPod-e4fa92b8b98ea15ea49daf05b474e7bbdb626fac.zip
Showing more suggestions
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java31
1 files changed, 20 insertions, 11 deletions
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<PodcastSearchResult> 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);
});
}