summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hennen <tom.hennen@gmail.com>2015-09-06 09:03:09 -0400
committerTom Hennen <tom.hennen@gmail.com>2015-09-07 21:25:19 -0400
commit6ae33e1c5d5b90aef86a7f4bc437acd74f008137 (patch)
tree093da992c3e61439c134ebacfc0fd7fdb7ba6a60
parentd25d93964b33914be31dfd36ce41e5ecb7dd83b2 (diff)
downloadAntennaPod-6ae33e1c5d5b90aef86a7f4bc437acd74f008137.zip
normalized how we were using tab layouts between different fragments.
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/EpisodesPagerAdapter.java60
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java51
-rw-r--r--app/src/main/res/layout/episodes_fragment.xml20
4 files changed, 48 insertions, 84 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/EpisodesPagerAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/EpisodesPagerAdapter.java
deleted file mode 100644
index 736b91e22..000000000
--- a/app/src/main/java/de/danoeh/antennapod/adapter/EpisodesPagerAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package de.danoeh.antennapod.adapter;
-
-import android.content.Context;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
-
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.MainActivity;
-import de.danoeh.antennapod.fragment.AllEpisodesFragment;
-import de.danoeh.antennapod.fragment.NewEpisodesFragment;
-
-public class EpisodesPagerAdapter extends FragmentPagerAdapter {
-
- private final Context context;
-
- // this determines the order the tabs appear in
- private String tabTags[] = new String[] {NewEpisodesFragment.TAG, AllEpisodesFragment.TAG};
- private String tabTitles[] = new String[tabTags.length];
-
- public EpisodesPagerAdapter(FragmentManager fm, Context context) {
- super(fm);
- this.context = context;
- tabTitles = new String[tabTags.length];
- for (int i = 0; i < tabTags.length; i++) {
- String title = null;
- switch (tabTags[i]) {
- case AllEpisodesFragment.TAG:
- title = context.getResources().getString(R.string.all_episodes_label);
- break;
- case NewEpisodesFragment.TAG:
- title = context.getResources().getString(R.string.new_episodes_label);
- break;
- }
- tabTitles[i] = title;
- }
- }
-
- @Override
- public Fragment getItem(int position) {
- String tag = tabTags[position];
- switch (tag) {
- case AllEpisodesFragment.TAG:
- return new AllEpisodesFragment();
- case NewEpisodesFragment.TAG:
- return new NewEpisodesFragment();
- }
- return null;
- }
-
- @Override
- public int getCount() {
- return tabTags.length;
- }
-
- @Override
- public CharSequence getPageTitle(int position) {
- return tabTitles[position];
- }
-}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
index 549e925d5..f56cb1ff6 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
@@ -12,7 +12,6 @@ import android.view.View;
import android.view.ViewGroup;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.EpisodesPagerAdapter;
/**
* Shows the CompletedDownloadsFragment and the RunningDownloadsFragment
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
index 645cd1038..15a78d7e5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
@@ -2,9 +2,12 @@ package de.danoeh.antennapod.fragment;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.res.Resources;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
@@ -12,12 +15,17 @@ import android.view.ViewGroup;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
-import de.danoeh.antennapod.adapter.EpisodesPagerAdapter;
public class EpisodesFragment extends Fragment {
public static final String TAG = "EpisodesFragment";
private static final String PREF_LAST_TAB_POSITION = "tab_position";
+
+ public static final int POS_NEW_EPISODES = 0;
+ public static final int POS_ALL_EPISODES = 1;
+ public static final int TOTAL_COUNT = 2;
+
+
private TabLayout tabLayout;
private ViewPager viewPager;
@@ -36,9 +44,9 @@ public class EpisodesFragment extends Fragment {
setHasOptionsMenu(true);
((MainActivity) getActivity()).getSupportActionBar().setTitle(R.string.episodes_label);
- View rootView = inflater.inflate(R.layout.episodes_fragment, container, false);
+ View rootView = inflater.inflate(R.layout.pager_fragment, container, false);
viewPager = (ViewPager)rootView.findViewById(R.id.viewpager);
- viewPager.setAdapter(new EpisodesPagerAdapter(getChildFragmentManager(), getActivity()));
+ viewPager.setAdapter(new EpisodesPagerAdapter(getChildFragmentManager(), getResources()));
// Give the TabLayout the ViewPager
tabLayout = (TabLayout) rootView.findViewById(R.id.sliding_tabs);
@@ -67,4 +75,41 @@ public class EpisodesFragment extends Fragment {
viewPager.setCurrentItem(lastPosition);
}
+ public static class EpisodesPagerAdapter extends FragmentPagerAdapter {
+
+ private final Resources resources;
+
+ public EpisodesPagerAdapter(FragmentManager fm, Resources resources) {
+ super(fm);
+ this.resources = resources;
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ switch (position) {
+ case POS_ALL_EPISODES:
+ return new AllEpisodesFragment();
+ case POS_NEW_EPISODES:
+ return new NewEpisodesFragment();
+ }
+ return null;
+ }
+
+ @Override
+ public int getCount() {
+ return TOTAL_COUNT;
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ switch (position) {
+ case POS_ALL_EPISODES:
+ return resources.getString(R.string.all_episodes_label);
+ case POS_NEW_EPISODES:
+ return resources.getString(R.string.new_episodes_label);
+ default:
+ return super.getPageTitle(position);
+ }
+ }
+ }
}
diff --git a/app/src/main/res/layout/episodes_fragment.xml b/app/src/main/res/layout/episodes_fragment.xml
deleted file mode 100644
index e0028a262..000000000
--- a/app/src/main/res/layout/episodes_fragment.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <android.support.design.widget.TabLayout
- android:id="@+id/sliding_tabs"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:tabMode="scrollable" />
-
- <android.support.v4.view.ViewPager
- android:id="@+id/viewpager"
- android:layout_width="match_parent"
- android:layout_height="0px"
- android:layout_weight="1" />
-
-</LinearLayout> \ No newline at end of file