summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/fragment/gpodnet
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2014-10-24 20:40:07 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2014-10-24 20:40:07 +0200
commitcc052e91ad8a87b00b93649ec0f6a06bcae6267a (patch)
tree12cacac4fb5c94af2955812a3167eefb325f286d /src/de/danoeh/antennapod/fragment/gpodnet
parentbaa7d5f11283cb7668d45b561af5d38f0ccb9632 (diff)
parentb5066d02b4acf31da093190a1a57a9d961bb04ca (diff)
downloadAntennaPod-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')
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java131
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java169
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java20
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java80
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/SuggestionListFragment.java26
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/TagFragment.java50
-rw-r--r--src/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java146
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();
- }
- }
-}
-