diff options
author | ByteHamster <info@bytehamster.com> | 2020-03-16 21:51:37 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-03-16 22:21:50 +0100 |
commit | e4fa92b8b98ea15ea49daf05b474e7bbdb626fac (patch) | |
tree | ad75a7ffcfbefa1fb8b3ffcc67ddcf7b09ef060a /app | |
parent | fc8aee3ce4379dd9fd975562278ed67a225282ba (diff) | |
download | AntennaPod-e4fa92b8b98ea15ea49daf05b474e7bbdb626fac.zip |
Showing more suggestions
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/QuickFeedDiscoveryFragment.java | 31 |
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); }); } |