diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2014-10-24 20:40:07 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2014-10-24 20:40:07 +0200 |
commit | cc052e91ad8a87b00b93649ec0f6a06bcae6267a (patch) | |
tree | 12cacac4fb5c94af2955812a3167eefb325f286d /src/de/danoeh/antennapod/fragment/gpodnet | |
parent | baa7d5f11283cb7668d45b561af5d38f0ccb9632 (diff) | |
parent | b5066d02b4acf31da093190a1a57a9d961bb04ca (diff) | |
download | AntennaPod-cc052e91ad8a87b00b93649ec0f6a06bcae6267a.zip |
Merge branch 'migration' into develop
Non-GUI classes have been moved into the 'core' project in order to allow AntennaPod SP to reference it as a subproject.
Conflicts:
app/src/main/AndroidManifest.xml
build.gradle
core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSSimpleChapters.java
core/src/main/java/de/danoeh/antennapod/core/util/ChapterUtils.java
gradle/wrapper/gradle-wrapper.properties
pom.xml
Diffstat (limited to 'src/de/danoeh/antennapod/fragment/gpodnet')
7 files changed, 0 insertions, 622 deletions
diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java deleted file mode 100644 index ec8f69368..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java +++ /dev/null @@ -1,131 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import android.app.Activity; -import android.content.res.Resources; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.view.ViewPager; -import android.support.v7.app.ActionBar; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.activity.MainActivity; - -/** - * Main navigation hub for gpodder.net podcast directory - */ -public class GpodnetMainFragment extends Fragment { - - private ViewPager pager; - private MainActivity activity; - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - super.onCreateView(inflater, container, savedInstanceState); - View root = inflater.inflate(R.layout.pager_fragment, container, false); - pager = (ViewPager) root.findViewById(R.id.pager); - GpodnetPagerAdapter pagerAdapter = new GpodnetPagerAdapter(getChildFragmentManager(), getResources()); - pager.setAdapter(pagerAdapter); - final ActionBar actionBar = activity.getMainActivtyActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); - ActionBar.TabListener tabListener = new ActionBar.TabListener() { - @Override - public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - pager.setCurrentItem(tab.getPosition()); - } - - @Override - public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - - } - - @Override - public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - - } - }; - actionBar.removeAllTabs(); - actionBar.addTab(actionBar.newTab() - .setText(R.string.gpodnet_taglist_header) - .setTabListener(tabListener)); - actionBar.addTab(actionBar.newTab() - .setText(R.string.gpodnet_toplist_header) - .setTabListener(tabListener)); - actionBar.setTitle(R.string.gpodnet_main_label); - - pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { - @Override - public void onPageSelected(int position) { - super.onPageSelected(position); - actionBar.setSelectedNavigationItem(position); - } - }); - return root; - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - activity.getMainActivtyActionBar().removeAllTabs(); - activity.getMainActivtyActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - } - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - this.activity = (MainActivity) activity; - } - - public class GpodnetPagerAdapter extends FragmentPagerAdapter { - - - private static final int NUM_PAGES = 2; - private static final int POS_TAGS = 0; - private static final int POS_TOPLIST = 1; - private static final int POS_SUGGESTIONS = 2; - - Resources resources; - - public GpodnetPagerAdapter(FragmentManager fm, Resources resources) { - super(fm); - this.resources = resources; - } - - @Override - public Fragment getItem(int i) { - switch (i) { - case POS_TAGS: - return new TagListFragment(); - case POS_TOPLIST: - return new PodcastTopListFragment(); - case POS_SUGGESTIONS: - return new SuggestionListFragment(); - default: - return null; - } - } - - @Override - public CharSequence getPageTitle(int position) { - switch (position) { - case POS_TAGS: - return getString(R.string.gpodnet_taglist_header); - case POS_TOPLIST: - return getString(R.string.gpodnet_toplist_header); - case POS_SUGGESTIONS: - return getString(R.string.gpodnet_suggestions_header); - default: - return super.getPageTitle(position); - } - } - - @Override - public int getCount() { - return NUM_PAGES; - } - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java deleted file mode 100644 index 1b4616207..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java +++ /dev/null @@ -1,169 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import android.content.Context; -import android.content.Intent; -import android.os.AsyncTask; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v7.widget.*; -import android.util.Log; -import android.view.*; -import android.widget.*; -import android.widget.SearchView; -import de.danoeh.antennapod.BuildConfig; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.activity.DefaultOnlineFeedViewActivity; -import de.danoeh.antennapod.activity.MainActivity; -import de.danoeh.antennapod.activity.OnlineFeedViewActivity; -import de.danoeh.antennapod.adapter.gpodnet.PodcastListAdapter; -import de.danoeh.antennapod.fragment.SearchFragment; -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast; -import de.danoeh.antennapod.util.menuhandler.MenuItemUtils; -import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity; - -import java.util.List; - -/** - * Displays a list of GPodnetPodcast-Objects in a GridView - */ -public abstract class PodcastListFragment extends Fragment { - private static final String TAG = "PodcastListFragment"; - - private GridView gridView; - private ProgressBar progressBar; - private TextView txtvError; - private Button butRetry; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); - } - - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - super.onCreateOptionsMenu(menu, inflater); - if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) { - final android.support.v7.widget.SearchView sv = new android.support.v7.widget.SearchView(getActivity()); - MenuItemUtils.addSearchItem(menu, sv); - sv.setQueryHint(getString(R.string.gpodnet_search_hint)); - sv.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String s) { - sv.clearFocus(); - ((MainActivity) getActivity()).loadChildFragment(SearchListFragment.newInstance(s)); - return true; - } - - @Override - public boolean onQueryTextChange(String s) { - return false; - } - }); - } - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View root = inflater.inflate(R.layout.gpodnet_podcast_list, container, false); - - gridView = (GridView) root.findViewById(R.id.gridView); - progressBar = (ProgressBar) root.findViewById(R.id.progressBar); - txtvError = (TextView) root.findViewById(R.id.txtvError); - butRetry = (Button) root.findViewById(R.id.butRetry); - - gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView<?> parent, View view, int position, long id) { - onPodcastSelected((GpodnetPodcast) gridView.getAdapter().getItem(position)); - } - }); - butRetry.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - loadData(); - } - }); - - loadData(); - return root; - } - - protected void onPodcastSelected(GpodnetPodcast selection) { - if (BuildConfig.DEBUG) Log.d(TAG, "Selected podcast: " + selection.toString()); - Intent intent = new Intent(getActivity(), DefaultOnlineFeedViewActivity.class); - intent.putExtra(OnlineFeedViewActivity.ARG_FEEDURL, selection.getUrl()); - intent.putExtra(DefaultOnlineFeedViewActivity.ARG_TITLE, getString(R.string.gpodnet_main_label)); - startActivity(intent); - } - - protected abstract List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException; - - protected final void loadData() { - AsyncTask<Void, Void, List<GpodnetPodcast>> loaderTask = new AsyncTask<Void, Void, List<GpodnetPodcast>>() { - volatile Exception exception = null; - - @Override - protected List<GpodnetPodcast> doInBackground(Void... params) { - GpodnetService service = null; - try { - service = new GpodnetService(); - return loadPodcastData(service); - } catch (GpodnetServiceException e) { - exception = e; - e.printStackTrace(); - return null; - } finally { - if (service != null) { - service.shutdown(); - } - } - } - - @Override - protected void onPostExecute(List<GpodnetPodcast> gpodnetPodcasts) { - super.onPostExecute(gpodnetPodcasts); - final Context context = getActivity(); - if (context != null && gpodnetPodcasts != null && gpodnetPodcasts.size() > 0) { - PodcastListAdapter listAdapter = new PodcastListAdapter(context, 0, gpodnetPodcasts); - gridView.setAdapter(listAdapter); - listAdapter.notifyDataSetChanged(); - - progressBar.setVisibility(View.GONE); - gridView.setVisibility(View.VISIBLE); - txtvError.setVisibility(View.GONE); - butRetry.setVisibility(View.GONE); - } else if (context != null && gpodnetPodcasts != null) { - gridView.setVisibility(View.GONE); - progressBar.setVisibility(View.GONE); - txtvError.setText(getString(R.string.search_status_no_results)); - txtvError.setVisibility(View.VISIBLE); - butRetry.setVisibility(View.GONE); - } else if (context != null) { - gridView.setVisibility(View.GONE); - progressBar.setVisibility(View.GONE); - txtvError.setText(getString(R.string.error_msg_prefix) + exception.getMessage()); - txtvError.setVisibility(View.VISIBLE); - butRetry.setVisibility(View.VISIBLE); - } - } - - @Override - protected void onPreExecute() { - super.onPreExecute(); - gridView.setVisibility(View.GONE); - progressBar.setVisibility(View.VISIBLE); - txtvError.setVisibility(View.GONE); - butRetry.setVisibility(View.GONE); - } - }; - - if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) { - loaderTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } else { - loaderTask.execute(); - } - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java deleted file mode 100644 index 5717a74e7..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast; - -import java.util.List; - -/** - * - */ -public class PodcastTopListFragment extends PodcastListFragment { - private static final String TAG = "PodcastTopListFragment"; - private static final int PODCAST_COUNT = 50; - - @Override - protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException { - return service.getPodcastToplist(PODCAST_COUNT); - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java deleted file mode 100644 index 801024787..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java +++ /dev/null @@ -1,80 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import android.os.Bundle; -import android.support.v7.widget.SearchView; -import android.view.Menu; -import android.view.MenuInflater; - -import org.apache.commons.lang3.Validate; - -import java.util.List; - -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast; -import de.danoeh.antennapod.util.menuhandler.MenuItemUtils; -import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity; - -/** - * Performs a search on the gpodder.net directory and displays the results. - */ -public class SearchListFragment extends PodcastListFragment { - private static final String ARG_QUERY = "query"; - - private String query; - - public static SearchListFragment newInstance(String query) { - SearchListFragment fragment = new SearchListFragment(); - Bundle args = new Bundle(); - args.putString(ARG_QUERY, query); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - if (getArguments() != null && getArguments().containsKey(ARG_QUERY)) { - this.query = getArguments().getString(ARG_QUERY); - } else { - this.query = ""; - } - } - - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - final SearchView sv = new SearchView(getActivity()); - if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) { - MenuItemUtils.addSearchItem(menu, sv); - sv.setQueryHint(getString(R.string.gpodnet_search_hint)); - sv.setQuery(query, false); - sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String s) { - sv.clearFocus(); - changeQuery(s); - return true; - } - - @Override - public boolean onQueryTextChange(String s) { - return false; - } - }); - } - } - - @Override - protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException { - return service.searchPodcasts(query, 0); - } - - public void changeQuery(String query) { - Validate.notNull(query); - - this.query = query; - loadData(); - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/SuggestionListFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/SuggestionListFragment.java deleted file mode 100644 index 45fe25580..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/SuggestionListFragment.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast; -import de.danoeh.antennapod.preferences.GpodnetPreferences; - -import java.util.ArrayList; -import java.util.List; - -/** - * Displays suggestions from gpodder.net - */ -public class SuggestionListFragment extends PodcastListFragment { - private static final int SUGGESTIONS_COUNT = 50; - - @Override - protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException { - if (GpodnetPreferences.loggedIn()) { - service.authenticate(GpodnetPreferences.getUsername(), GpodnetPreferences.getPassword()); - return service.getSuggestions(SUGGESTIONS_COUNT); - } else { - return new ArrayList<GpodnetPodcast>(); - } - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java deleted file mode 100644 index 204dda992..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java +++ /dev/null @@ -1,50 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import android.os.Bundle; - -import org.apache.commons.lang3.Validate; - -import de.danoeh.antennapod.activity.MainActivity; -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetPodcast; -import de.danoeh.antennapod.gpoddernet.model.GpodnetTag; - -import java.util.List; - -/** - * Shows all podcasts from gpodder.net that belong to a specific tag. - * Use the newInstance method of this class to create a new TagFragment. - */ -public class TagFragment extends PodcastListFragment { - - private static final String TAG = "TagFragment"; - private static final int PODCAST_COUNT = 50; - - private GpodnetTag tag; - - public static TagFragment newInstance(String tagName) { - Validate.notNull(tagName); - TagFragment fragment = new TagFragment(); - Bundle args = new Bundle(); - args.putString("tag", tagName); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - Bundle args = getArguments(); - Validate.isTrue(args != null && args.getString("tag") != null, "args invalid"); - - tag = new GpodnetTag(args.getString("tag")); - ((MainActivity) getActivity()).getMainActivtyActionBar().setTitle(tag.getName()); - } - - @Override - protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException { - return service.getPodcastsForTag(tag, PODCAST_COUNT); - } -} diff --git a/src/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java b/src/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java deleted file mode 100644 index a7e1033df..000000000 --- a/src/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java +++ /dev/null @@ -1,146 +0,0 @@ -package de.danoeh.antennapod.fragment.gpodnet; - -import android.app.Activity; -import android.content.Context; -import android.os.AsyncTask; -import android.os.Bundle; -import android.support.v4.app.ListFragment; -import android.support.v7.widget.SearchView; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.TextView; - -import java.util.ArrayList; -import java.util.List; - -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.activity.MainActivity; -import de.danoeh.antennapod.gpoddernet.GpodnetService; -import de.danoeh.antennapod.gpoddernet.GpodnetServiceException; -import de.danoeh.antennapod.gpoddernet.model.GpodnetTag; -import de.danoeh.antennapod.util.menuhandler.MenuItemUtils; -import de.danoeh.antennapod.util.menuhandler.NavDrawerActivity; - -public class TagListFragment extends ListFragment { - private static final String TAG = "TagListFragment"; - private static final int COUNT = 50; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); - } - - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - super.onCreateOptionsMenu(menu, inflater); - if (!MenuItemUtils.isActivityDrawerOpen((NavDrawerActivity) getActivity())) { - final SearchView sv = new SearchView(getActivity()); - MenuItemUtils.addSearchItem(menu, sv); - sv.setQueryHint(getString(R.string.gpodnet_search_hint)); - sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String s) { - Activity activity = getActivity(); - if (activity != null) { - sv.clearFocus(); - ((MainActivity) activity).loadChildFragment(SearchListFragment.newInstance(s)); - } - return true; - } - - @Override - public boolean onQueryTextChange(String s) { - return false; - } - }); - } - } - - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView<?> parent, View view, int position, long id) { - String selectedTag = (String) getListAdapter().getItem(position); - MainActivity activity = (MainActivity) getActivity(); - activity.loadChildFragment(TagFragment.newInstance(selectedTag)); - } - }); - - startLoadTask(); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - cancelLoadTask(); - } - - private AsyncTask<Void, Void, List<GpodnetTag>> loadTask; - - private void cancelLoadTask() { - if (loadTask != null && !loadTask.isCancelled()) { - loadTask.cancel(true); - } - } - - private void startLoadTask() { - cancelLoadTask(); - loadTask = new AsyncTask<Void, Void, List<GpodnetTag>>() { - private Exception exception; - - @Override - protected List<GpodnetTag> doInBackground(Void... params) { - GpodnetService service = new GpodnetService(); - try { - return service.getTopTags(COUNT); - } catch (GpodnetServiceException e) { - e.printStackTrace(); - exception = e; - return null; - } finally { - service.shutdown(); - } - } - - @Override - protected void onPreExecute() { - super.onPreExecute(); - setListShown(false); - } - - @Override - protected void onPostExecute(List<GpodnetTag> gpodnetTags) { - super.onPostExecute(gpodnetTags); - final Context context = getActivity(); - if (context != null) { - if (gpodnetTags != null) { - List<String> tagNames = new ArrayList<String>(); - for (GpodnetTag tag : gpodnetTags) { - tagNames.add(tag.getName()); - } - setListAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, tagNames)); - } else if (exception != null) { - TextView txtvError = new TextView(getActivity()); - txtvError.setText(exception.getMessage()); - getListView().setEmptyView(txtvError); - } - setListShown(true); - - } - } - }; - if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) { - loadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } else { - loadTask.execute(); - } - } -} - |