summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2014-05-19 01:05:48 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2014-05-19 01:05:48 +0200
commit1ee50e81ae8a86bcf2348d956f23c84fbce21b14 (patch)
treefd934ea167aaf9ccee4c73186bcaa766f5715e05 /src/de/danoeh/antennapod
parentfe7af4265d8ed83c2efc4da05c23420934814150 (diff)
downloadAntennaPod-1ee50e81ae8a86bcf2348d956f23c84fbce21b14.zip
Removed unused resources, reduced number of lint warnings
Diffstat (limited to 'src/de/danoeh/antennapod')
-rw-r--r--src/de/danoeh/antennapod/activity/AddFeedActivity.java143
-rw-r--r--src/de/danoeh/antennapod/activity/DownloadActivity.java190
-rw-r--r--src/de/danoeh/antennapod/activity/DownloadLogActivity.java123
-rw-r--r--src/de/danoeh/antennapod/activity/FeedItemlistActivity.java232
-rw-r--r--src/de/danoeh/antennapod/activity/ItemviewActivity.java205
-rw-r--r--src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java110
-rw-r--r--src/de/danoeh/antennapod/activity/MiroGuideChannelViewActivity.java198
-rw-r--r--src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java168
-rw-r--r--src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java90
-rw-r--r--src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java307
-rw-r--r--src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java56
-rw-r--r--src/de/danoeh/antennapod/activity/SearchActivity.java198
-rw-r--r--src/de/danoeh/antennapod/activity/gpoddernet/GpodnetActivity.java45
-rw-r--r--src/de/danoeh/antennapod/activity/gpoddernet/GpodnetMainActivity.java88
-rw-r--r--src/de/danoeh/antennapod/activity/gpoddernet/GpodnetSearchActivity.java63
-rw-r--r--src/de/danoeh/antennapod/activity/gpoddernet/GpodnetTagActivity.java63
-rw-r--r--src/de/danoeh/antennapod/adapter/MiroGuideChannelListAdapter.java50
-rw-r--r--src/de/danoeh/antennapod/adapter/MiroGuideItemlistAdapter.java58
-rw-r--r--src/de/danoeh/antennapod/fragment/EpisodesFragment.java327
-rw-r--r--src/de/danoeh/antennapod/fragment/FeedlistFragment.java292
-rw-r--r--src/de/danoeh/antennapod/fragment/MiroGuideChannellistFragment.java266
-rw-r--r--src/de/danoeh/antennapod/miroguide/conn/MiroGuideConnector.java129
-rw-r--r--src/de/danoeh/antennapod/miroguide/conn/MiroGuideException.java23
-rw-r--r--src/de/danoeh/antennapod/miroguide/conn/MiroGuideService.java153
-rw-r--r--src/de/danoeh/antennapod/miroguide/model/MiroGuideChannel.java75
-rw-r--r--src/de/danoeh/antennapod/miroguide/model/MiroGuideItem.java40
-rw-r--r--src/de/danoeh/antennapod/service/download/DownloadService.java2
27 files changed, 0 insertions, 3694 deletions
diff --git a/src/de/danoeh/antennapod/activity/AddFeedActivity.java b/src/de/danoeh/antennapod/activity/AddFeedActivity.java
deleted file mode 100644
index 54eff51c5..000000000
--- a/src/de/danoeh/antennapod/activity/AddFeedActivity.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.app.ProgressDialog;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.EditText;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.gpoddernet.GpodnetMainActivity;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.util.StorageUtils;
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * Activity for adding a Feed
- */
-public class AddFeedActivity extends ActionBarActivity {
- private static final String TAG = "AddFeedActivity";
-
- private EditText etxtFeedurl;
- private Button butBrowseMiroGuide;
- private Button butBrowserGpoddernet;
- private Button butOpmlImport;
- private Button butConfirm;
-
- private ProgressDialog progDialog;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Was started with Intent " + getIntent().getAction()
- + " and Data " + getIntent().getDataString());
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- StorageUtils.checkStorageAvailability(this);
- setContentView(R.layout.addfeed);
-
- progDialog = new ProgressDialog(this);
-
- etxtFeedurl = (EditText) findViewById(R.id.etxtFeedurl);
- if (StringUtils.equals(getIntent().getAction(), Intent.ACTION_VIEW)) {
- etxtFeedurl.setText(getIntent().getDataString());
- }
-
- butBrowserGpoddernet = (Button) findViewById(R.id.butBrowseGpoddernet);
- butOpmlImport = (Button) findViewById(R.id.butOpmlImport);
- butConfirm = (Button) findViewById(R.id.butConfirm);
-
- butBrowseMiroGuide.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- startActivity(new Intent(AddFeedActivity.this,
- MiroGuideMainActivity.class));
- }
- });
- butBrowserGpoddernet.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- startActivity(new Intent(AddFeedActivity.this,
- GpodnetMainActivity.class));
- }
- });
-
- butOpmlImport.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- startActivity(new Intent(AddFeedActivity.this,
- OpmlImportFromPathActivity.class));
- }
- });
-
- butConfirm.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(AddFeedActivity.this, DefaultOnlineFeedViewActivity.class);
- intent.putExtra(OnlineFeedViewActivity.ARG_FEEDURL, etxtFeedurl.getText().toString());
- intent.putExtra(OnlineFeedViewActivity.ARG_TITLE, getSupportActionBar().getTitle());
- startActivity(intent);
- }
- });
-
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- StorageUtils.checkStorageAvailability(this);
- Intent intent = getIntent();
- if (intent.getAction() != null
- && intent.getAction().equals(Intent.ACTION_SEND)) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Resuming with ACTION_SEND intent");
- String text = intent.getStringExtra(Intent.EXTRA_TEXT);
- if (text != null) {
- etxtFeedurl.setText(text);
- } else {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "No text was sent");
- }
- }
-
- }
-
- @Override
- protected void onStop() {
- super.onStop();
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Stopping Activity");
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- default:
- return false;
- }
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/DownloadActivity.java b/src/de/danoeh/antennapod/activity/DownloadActivity.java
deleted file mode 100644
index 416de73a4..000000000
--- a/src/de/danoeh/antennapod/activity/DownloadActivity.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.content.Intent;
-import android.content.res.TypedArray;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.view.ActionMode;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemLongClickListener;
-import android.widget.ListView;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.DownloadlistAdapter;
-import de.danoeh.antennapod.asynctask.DownloadObserver;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.service.download.DownloadRequest;
-import de.danoeh.antennapod.service.download.Downloader;
-import de.danoeh.antennapod.storage.DownloadRequester;
-
-import java.util.List;
-
-/**
- * Shows all running downloads in a list. The list objects are DownloadStatus
- * objects created by a DownloadObserver.
- */
-public class DownloadActivity extends ActionBarActivity implements
- ActionMode.Callback {
-
- private static final String TAG = "DownloadActivity";
- private static final int MENU_SHOW_LOG = 0;
- private static final int MENU_CANCEL_ALL_DOWNLOADS = 1;
- private DownloadlistAdapter dla;
- private DownloadRequester requester;
-
- private ActionMode mActionMode;
- private DownloadRequest selectedDownload;
-
- private ListView listview;
-
- private DownloadObserver downloadObserver;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- setContentView(R.layout.listview_activity);
-
- listview = (ListView) findViewById(R.id.listview);
-
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Creating Activity");
- requester = DownloadRequester.getInstance();
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- downloadObserver = new DownloadObserver(this, new Handler(), observerCallback);
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- downloadObserver.onPause();
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- downloadObserver.onResume();
- if (dla != null) {
- dla.notifyDataSetChanged();
- }
- }
-
- @Override
- protected void onStop() {
- super.onStop();
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Stopping Activity");
- }
-
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- listview.setOnItemLongClickListener(new OnItemLongClickListener() {
-
- @Override
- public boolean onItemLongClick(AdapterView<?> arg0, View view,
- int position, long id) {
- DownloadRequest selection = dla.getItem(position)
- .getDownloadRequest();
- if (selection != null && mActionMode != null) {
- mActionMode.finish();
- }
- dla.setSelectedItemIndex(position);
- selectedDownload = selection;
- mActionMode = startSupportActionMode(DownloadActivity.this);
- return true;
- }
-
- });
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, MENU_SHOW_LOG, Menu.NONE,
- R.string.show_download_log),
- MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, MENU_CANCEL_ALL_DOWNLOADS, Menu.NONE,
- R.string.cancel_all_downloads_label),
- MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- break;
- case MENU_SHOW_LOG:
- startActivity(new Intent(this, DownloadLogActivity.class));
- break;
- case MENU_CANCEL_ALL_DOWNLOADS:
- requester.cancelAllDownloads(this);
- break;
- }
- return true;
- }
-
- @Override
- public boolean onCreateActionMode(ActionMode mode, Menu menu) {
- if (selectedDownload != null) {
- TypedArray drawables = obtainStyledAttributes(new int[]{R.attr.navigation_cancel});
- menu.add(Menu.NONE, R.id.cancel_download_item, Menu.NONE,
- R.string.cancel_download_label).setIcon(
- drawables.getDrawable(0));
- }
- return true;
- }
-
- @Override
- public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- return false;
- }
-
- @Override
- public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- boolean handled = false;
- switch (item.getItemId()) {
- case R.id.cancel_download_item:
- requester.cancelDownload(this, selectedDownload.getSource());
- handled = true;
- break;
- }
- mActionMode.finish();
- return handled;
- }
-
- @Override
- public void onDestroyActionMode(ActionMode mode) {
- mActionMode = null;
- selectedDownload = null;
- dla.setSelectedItemIndex(DownloadlistAdapter.SELECTION_NONE);
- }
-
-
- private DownloadObserver.Callback observerCallback = new DownloadObserver.Callback() {
- @Override
- public void onContentChanged() {
- if (dla != null) {
- dla.notifyDataSetChanged();
- }
- }
-
- @Override
- public void onDownloadDataAvailable(List<Downloader> downloaderList) {
- //dla = new DownloadlistAdapter(DownloadActivity.this, 0,
- // downloaderList);
- listview.setAdapter(dla);
- dla.notifyDataSetChanged();
- }
- };
-
-}
diff --git a/src/de/danoeh/antennapod/activity/DownloadLogActivity.java b/src/de/danoeh/antennapod/activity/DownloadLogActivity.java
deleted file mode 100644
index 4629b8670..000000000
--- a/src/de/danoeh/antennapod/activity/DownloadLogActivity.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.NavUtils;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.ListView;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.DownloadLogAdapter;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.service.download.DownloadStatus;
-import de.danoeh.antennapod.storage.DBReader;
-
-import java.util.List;
-
-/**
- * Displays completed and failed downloads in a list.
- */
-public class DownloadLogActivity extends ActionBarActivity {
- private static final String TAG = "DownloadLogActivity";
-
- private List<DownloadStatus> downloadLog;
- private DownloadLogAdapter dla;
-
- private ListView listview;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- setContentView(R.layout.listview_activity);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
-
- listview = (ListView) findViewById(R.id.listview);
-
- dla = new DownloadLogAdapter(this, itemAccess);
- listview.setAdapter(dla);
- loadData();
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- EventDistributor.getInstance().unregister(contentUpdate);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- EventDistributor.getInstance().register(contentUpdate);
- dla.notifyDataSetChanged();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- break;
- default:
- return false;
- }
- return true;
- }
-
- private void loadData() {
- AsyncTask<Void, Void, List<DownloadStatus>> loadTask = new AsyncTask<Void, Void, List<DownloadStatus>>() {
- @Override
- protected List<DownloadStatus> doInBackground(Void... voids) {
- return DBReader.getDownloadLog(DownloadLogActivity.this);
- }
-
- @Override
- protected void onPostExecute(List<DownloadStatus> downloadStatuses) {
- super.onPostExecute(downloadStatuses);
- if (downloadStatuses != null) {
- downloadLog = downloadStatuses;
- if (dla != null) {
- dla.notifyDataSetChanged();
- }
- } else {
- Log.e(TAG, "Could not load download log");
- }
- }
- };
- loadTask.execute();
- }
-
- private DownloadLogAdapter.ItemAccess itemAccess = new DownloadLogAdapter.ItemAccess() {
-
- @Override
- public int getCount() {
- return (downloadLog != null) ? downloadLog.size() : 0;
- }
-
- @Override
- public DownloadStatus getItem(int position) {
- return (downloadLog != null) ? downloadLog.get(position) : null;
- }
- };
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
-
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if ((arg & EventDistributor.DOWNLOADLOG_UPDATE) != 0) {
- loadData();
- }
- }
- };
-
-}
diff --git a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java b/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
deleted file mode 100644
index 95ccb859f..000000000
--- a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
+++ /dev/null
@@ -1,232 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.annotation.SuppressLint;
-import android.app.SearchManager;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.res.TypedArray;
-import android.media.AudioManager;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.app.NavUtils;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.widget.SearchView;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.Window;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.asynctask.FeedRemover;
-import de.danoeh.antennapod.dialog.ConfirmationDialog;
-import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator;
-import de.danoeh.antennapod.feed.Feed;
-import de.danoeh.antennapod.fragment.ExternalPlayerFragment;
-import de.danoeh.antennapod.fragment.FeedlistFragment;
-import de.danoeh.antennapod.fragment.ItemlistFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DownloadRequestException;
-import de.danoeh.antennapod.util.StorageUtils;
-import de.danoeh.antennapod.util.menuhandler.FeedMenuHandler;
-
-/**
- * Displays a List of FeedItems
- */
-public class FeedItemlistActivity extends ActionBarActivity {
- private static final String TAG = "FeedItemlistActivity";
-
- /**
- * The feed which the activity displays
- */
- private Feed feed;
- private ItemlistFragment filf;
- private ExternalPlayerFragment externalPlayerFragment;
-
- private AsyncTask<?, ?, ?> currentLoadTask;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- StorageUtils.checkStorageAvailability(this);
- requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.feeditemlist_activity);
- setVolumeControlStream(AudioManager.STREAM_MUSIC);
-
- long feedId = getIntent().getLongExtra(
- FeedlistFragment.EXTRA_SELECTED_FEED, -1);
- if (feedId == -1) {
- Log.e(TAG, "Received invalid feed selection.");
- } else {
- loadData(feedId);
- }
-
- }
-
- private synchronized void loadData(long id) {
- if (currentLoadTask != null) {
- currentLoadTask.cancel(true);
- }
- AsyncTask<Long, Void, Feed> loadTask = new AsyncTask<Long, Void, Feed>() {
-
- @Override
- protected Feed doInBackground(Long... longs) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Loading feed data in background");
- return DBReader.getFeed(FeedItemlistActivity.this, longs[0]);
- }
-
- @Override
- protected void onCancelled(Feed feed) {
- super.onCancelled(feed);
- if (BuildConfig.DEBUG) Log.d(TAG, "load task was cancelled");
- }
-
- @Override
- protected void onPostExecute(Feed result) {
- super.onPostExecute(result);
- if (result != null) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Finished loading feed data");
- feed = result;
- setTitle(feed.getTitle());
-
- FragmentManager fragmentManager = getSupportFragmentManager();
- FragmentTransaction fT = fragmentManager.beginTransaction();
-
- filf = ItemlistFragment.newInstance(feed.getId());
- fT.replace(R.id.feeditemlistFragment, filf);
-
- externalPlayerFragment = new ExternalPlayerFragment();
- fT.replace(R.id.playerFragment, externalPlayerFragment);
- fT.commit();
- supportInvalidateOptionsMenu();
- } else {
- Log.e(TAG, "Error: Feed was null");
- }
- }
- };
- currentLoadTask = loadTask;
- loadTask.execute(id);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- StorageUtils.checkStorageAvailability(this);
- }
-
- @Override
- protected void onStop() {
- super.onStop();
- if (currentLoadTask != null) {
- currentLoadTask.cancel(true);
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- if (feed != null) {
- TypedArray drawables = obtainStyledAttributes(new int[]{R.attr.action_search});
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label)
- .setIcon(drawables.getDrawable(0)),
- MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
- MenuItemCompat.setActionView(menu.findItem(R.id.search_item), new SearchView(this));
-
- SearchManager searchManager =
- (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search_item));
-
-
- searchView.setIconifiedByDefault(true);
-
- searchView.setSearchableInfo(
- searchManager.getSearchableInfo(getComponentName()));
- FeedMenuHandler
- .onCreateOptionsMenu(getMenuInflater(), menu);
- }
- return true;
- }
-
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
- return FeedMenuHandler.onPrepareOptionsMenu(menu, feed);
- }
-
- @SuppressLint("NewApi")
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- try {
- if (FeedMenuHandler.onOptionsItemClicked(this, item, feed)) {
- // filf.getListAdapter().notifyDataSetChanged();
- } else {
- switch (item.getItemId()) {
- case R.id.remove_item:
- final FeedRemover remover = new FeedRemover(
- FeedItemlistActivity.this, feed) {
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- finish();
- }
- };
- ConfirmationDialog conDialog = new ConfirmationDialog(this,
- R.string.remove_feed_label,
- R.string.feed_delete_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(
- DialogInterface dialog) {
- dialog.dismiss();
- remover.executeAsync();
- }
- };
- conDialog.createNewDialog().show();
- break;
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- break;
- }
- }
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- DownloadRequestErrorDialogCreator.newRequestErrorDialog(this,
- e.getMessage());
- }
- return true;
- }
-
- @Override
- public boolean onSearchRequested() {
- if (feed != null) {
- Bundle bundle = new Bundle();
- bundle.putLong(SearchActivity.EXTRA_FEED_ID, feed.getId());
- startSearch(null, false, bundle, false);
- return true;
- } else {
- return false;
- }
- }
-
- @Override
- public void startActivity(Intent intent) {
- if (intent.getAction() != null &&
- intent.getAction().equals(Intent.ACTION_SEARCH)) {
- addSearchInformation(intent);
- }
- super.startActivity(intent);
- }
-
- private void addSearchInformation(Intent startIntent) {
- startIntent.putExtra(SearchActivity.EXTRA_FEED_ID, feed.getId());
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/ItemviewActivity.java b/src/de/danoeh/antennapod/activity/ItemviewActivity.java
deleted file mode 100644
index 699ba84ea..000000000
--- a/src/de/danoeh/antennapod/activity/ItemviewActivity.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.media.AudioManager;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v7.app.ActionBarActivity;
-import android.text.format.DateUtils;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.Window;
-import android.widget.TextView;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.feed.FeedItem;
-import de.danoeh.antennapod.fragment.ItemDescriptionFragment;
-import de.danoeh.antennapod.fragment.ItemlistFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DownloadRequestException;
-import de.danoeh.antennapod.util.QueueAccess;
-import de.danoeh.antennapod.util.StorageUtils;
-import de.danoeh.antennapod.util.menuhandler.FeedItemMenuHandler;
-
-import java.text.DateFormat;
-
-/**
- * Displays a single FeedItem and provides various actions
- */
-public class ItemviewActivity extends ActionBarActivity {
- private static final String TAG = "ItemviewActivity";
-
- private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED | EventDistributor.DOWNLOAD_QUEUED;
-
- private FeedItem item;
- private boolean guiInitialized;
- private AsyncTask<?, ?, ?> currentLoadTask;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- StorageUtils.checkStorageAvailability(this);
- requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
- getSupportActionBar().setDisplayShowTitleEnabled(false);
- EventDistributor.getInstance().register(contentUpdate);
- setVolumeControlStream(AudioManager.STREAM_MUSIC);
-
- guiInitialized = false;
-
- long itemId = getIntent().getLongExtra(
- ItemlistFragment.EXTRA_SELECTED_FEEDITEM, -1);
- if (itemId == -1) {
- Log.e(TAG, "Received invalid selection of either feeditem or feed.");
- } else {
- loadData(itemId);
- }
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- StorageUtils.checkStorageAvailability(this);
- }
-
- @Override
- public void onStop() {
- super.onStop();
- EventDistributor.getInstance().unregister(contentUpdate);
- if (currentLoadTask != null) {
- currentLoadTask.cancel(true);
- }
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Stopping Activity");
- }
-
- private synchronized void loadData(long itemId) {
- if (currentLoadTask != null) {
- currentLoadTask.cancel(true);
- }
- AsyncTask<Long, Void, FeedItem> loadTask = new AsyncTask<Long, Void, FeedItem>() {
-
- @Override
- protected FeedItem doInBackground(Long... longs) {
- return DBReader.getFeedItem(ItemviewActivity.this, longs[0]);
- }
-
- @Override
- protected void onCancelled(FeedItem feedItem) {
- super.onCancelled(feedItem);
- if (BuildConfig.DEBUG) Log.d(TAG, "loadTask was cancelled");
- }
-
- @Override
- protected void onPostExecute(FeedItem feedItem) {
- super.onPostExecute(feedItem);
- if (feedItem != null && feedItem.getFeed() != null) {
- item = feedItem;
- populateUI();
- supportInvalidateOptionsMenu();
- } else {
- if (feedItem == null) {
- Log.e(TAG, "Error: FeedItem was null");
- } else if (feedItem.getFeed() == null) {
- Log.e(TAG, "Error: Feed was null");
- }
- }
- }
- };
- loadTask.execute(itemId);
- currentLoadTask = loadTask;
- }
-
- private synchronized void populateUI() {
- if (!guiInitialized) {
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.feeditemview);
- FragmentManager fragmentManager = getSupportFragmentManager();
- FragmentTransaction fragmentTransaction = fragmentManager
- .beginTransaction();
- ItemDescriptionFragment fragment = ItemDescriptionFragment
- .newInstance(item, false);
- fragmentTransaction.replace(R.id.description_fragment, fragment);
- fragmentTransaction.commit();
- }
- TextView txtvTitle = (TextView) findViewById(R.id.txtvItemname);
- TextView txtvPublished = (TextView) findViewById(R.id.txtvPublished);
- setTitle(item.getFeed().getTitle());
-
- txtvPublished.setText(DateUtils.formatSameDayTime(item.getPubDate()
- .getTime(), System.currentTimeMillis(), DateFormat.MEDIUM,
- DateFormat.SHORT));
- txtvTitle.setText(item.getTitle());
-
- guiInitialized = true;
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- if (item != null) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.feeditem, menu);
- }
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem menuItem) {
- if (item == null) {
- return false;
- }
- try {
- if (!FeedItemMenuHandler.onMenuItemClicked(this,
- menuItem.getItemId(), item)) {
- switch (menuItem.getItemId()) {
- case android.R.id.home:
- finish();
- break;
- }
- }
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- DownloadRequestErrorDialogCreator.newRequestErrorDialog(this,
- e.getMessage());
- }
- supportInvalidateOptionsMenu();
- return true;
- }
-
- @Override
- public boolean onPrepareOptionsMenu(final Menu menu) {
- super.onPrepareOptionsMenu(menu);
- FeedItemMenuHandler.onPrepareMenu(
- new FeedItemMenuHandler.MenuInterface() {
-
- @Override
- public void setItemVisibility(int id, boolean visible) {
- menu.findItem(id).setVisible(visible);
- }
- }, item, true, QueueAccess.NotInQueueAccess());
- return true;
- }
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
-
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if ((EVENTS & arg) != 0) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Received contentUpdate Intent.");
- if (item != null) {
- loadData(item.getId());
- }
- }
- }
- };
-
-
-}
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java
deleted file mode 100644
index 6d732b9ff..000000000
--- a/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
-import android.support.v4.app.NavUtils;
-import android.support.v4.view.ViewPager;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.MiroGuideChannellistFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-
-/**
- * Shows channels of a category sorted by different criteria in lists. The
- * activity uses MiroGuideChannelListFragments for these lists. If the user
- * selects a channel, the MiroGuideChannelViewActivity is started.
- */
-public class MiroGuideCategoryActivity extends ActionBarActivity {
- private static final String TAG = "MiroGuideCategoryActivity";
-
- public static final String EXTRA_CATEGORY = "category";
-
- private ViewPager viewpager;
- private CategoryPagerAdapter pagerAdapter;
-
- private String category;
-
- @Override
- protected void onCreate(Bundle arg0) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(arg0);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.miroguide_category);
-
- viewpager = (ViewPager) findViewById(R.id.viewpager);
-
- category = getIntent().getStringExtra(EXTRA_CATEGORY);
- if (category != null) {
- getSupportActionBar().setTitle(category);
- pagerAdapter = new CategoryPagerAdapter(getSupportFragmentManager());
- viewpager.setAdapter(pagerAdapter);
- } else {
- Log.e(TAG, "Activity was started with invalid arguments");
- }
-
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- default:
- return false;
- }
- }
-
- public class CategoryPagerAdapter extends FragmentStatePagerAdapter {
-
- public CategoryPagerAdapter(FragmentManager fm) {
- super(fm);
- }
-
- private static final int NUM_ITEMS = 2;
- private static final int POS_RATING = 0;
- private static final int POS_POPULAR = 1;
-
- @Override
- public Fragment getItem(int position) {
- switch (position) {
- case POS_RATING:
- return MiroGuideChannellistFragment.newInstance("category",
- category, "rating");
- case POS_POPULAR:
- return MiroGuideChannellistFragment.newInstance("category",
- category, "popular");
- default:
- return null;
- }
- }
-
- @Override
- public CharSequence getPageTitle(int position) {
- switch (position) {
- case POS_RATING:
- return getString(R.string.best_rating_label);
- case POS_POPULAR:
- return getString(R.string.popular_label);
- default:
- return null;
- }
- }
-
- @Override
- public int getCount() {
- return NUM_ITEMS;
- }
- }
-}
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideChannelViewActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideChannelViewActivity.java
deleted file mode 100644
index 96c8385ce..000000000
--- a/src/de/danoeh/antennapod/activity/MiroGuideChannelViewActivity.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.NavUtils;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.*;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.MiroGuideItemlistAdapter;
-import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator;
-import de.danoeh.antennapod.feed.Feed;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideException;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideService;
-import de.danoeh.antennapod.miroguide.model.MiroGuideChannel;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DownloadRequestException;
-import de.danoeh.antennapod.storage.DownloadRequester;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * Displays information about one channel and lets the user add this channel to
- * his library.
- */
-public class MiroGuideChannelViewActivity extends ActionBarActivity {
- private static final String TAG = "MiroGuideChannelViewActivity";
-
- public static final String EXTRA_CHANNEL_ID = "id";
- public static final String EXTRA_CHANNEL_URL = "url";
-
- private RelativeLayout layoutContent;
- private ProgressBar progLoading;
- private TextView txtvTitle;
- private TextView txtVDescription;
- private ListView listEntries;
-
- private long channelId;
- private String channelUrl;
- private MiroGuideChannel channel;
- private volatile List<Feed> feeds;
-
- @Override
- protected void onPause() {
- super.onPause();
- channelLoader.cancel(true);
- }
-
- @SuppressLint("NewApi")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.miroguide_channelview);
-
- layoutContent = (RelativeLayout) findViewById(R.id.layout_content);
- progLoading = (ProgressBar) findViewById(R.id.progLoading);
- txtvTitle = (TextView) findViewById(R.id.txtvTitle);
- txtVDescription = (TextView) findViewById(R.id.txtvDescription);
- listEntries = (ListView) findViewById(R.id.itemlist);
-
- channelId = getIntent().getLongExtra(EXTRA_CHANNEL_ID, -1);
- channelUrl = getIntent().getStringExtra(EXTRA_CHANNEL_URL);
-
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- channelLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- channelLoader.execute();
- }
-
- }
-
- /**
- * Is used to load channel information asynchronously.
- */
- private AsyncTask<Void, Void, Void> channelLoader = new AsyncTask<Void, Void, Void>() {
- private static final String TAG = "ChannelLoader";
- private Exception exception;
-
- @Override
- protected Void doInBackground(Void... params) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Starting background task");
- feeds = DBReader.getFeedList(MiroGuideChannelViewActivity.this);
- MiroGuideService service = new MiroGuideService();
- try {
- channel = service.getChannel(channelId);
- } catch (MiroGuideException e) {
- e.printStackTrace();
- exception = e;
- }
- return null;
- }
-
- @SuppressLint("NewApi")
- @Override
- protected void onPostExecute(Void result) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Loading finished");
- if (exception == null) {
- txtvTitle.setText(channel.getName());
- txtVDescription.setText(channel.getDescription());
-
- MiroGuideItemlistAdapter listAdapter = new MiroGuideItemlistAdapter(
- MiroGuideChannelViewActivity.this, 0,
- channel.getItems());
- listEntries.setAdapter(listAdapter);
- progLoading.setVisibility(View.GONE);
- layoutContent.setVisibility(View.VISIBLE);
- supportInvalidateOptionsMenu();
- } else {
- finish();
- }
- }
-
- };
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.channelview, menu);
- return true;
- }
-
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
- boolean channelLoaded = channel != null;
- boolean beingDownloaded = channelLoaded
- && DownloadRequester.getInstance().isDownloadingFile(
- channel.getDownloadUrl());
- boolean notAdded = channelLoaded
- && !((feedExists(
- channel.getDownloadUrl()) || beingDownloaded));
- menu.findItem(R.id.add_feed).setVisible(notAdded);
- menu.findItem(R.id.visit_website_item).setVisible(
- channelLoaded && channel.getWebsiteUrl() != null);
- return true;
- }
-
- @SuppressLint("NewApi")
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- case R.id.visit_website_item:
- Uri uri = Uri.parse(channel.getWebsiteUrl());
- startActivity(new Intent(Intent.ACTION_VIEW, uri));
- return true;
- case R.id.add_feed:
- try {
- DownloadRequester.getInstance().downloadFeed(
- this,
- new Feed(channel.getDownloadUrl(), new Date(), channel
- .getName()));
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- DownloadRequestErrorDialogCreator.newRequestErrorDialog(this,
- e.getMessage());
- }
- Toast toast = Toast.makeText(this, R.string.miro_feed_added,
- Toast.LENGTH_LONG);
- toast.show();
- supportInvalidateOptionsMenu();
- return true;
- default:
- return false;
- }
- }
-
- private boolean feedExists(String downloadUrl) {
- if (feeds == null) {
- return false;
- }
-
- for (Feed feed : feeds) {
- if (feed.getDownload_url().equals(downloadUrl)) {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java
deleted file mode 100644
index 9f74e77b6..000000000
--- a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.annotation.SuppressLint;
-import android.app.SearchManager;
-import android.content.Context;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.NavUtils;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.widget.SearchView;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.TextView;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideException;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideService;
-import de.danoeh.antennapod.preferences.UserPreferences;
-
-/**
- * Shows a list of available categories and offers a search button. If the user
- * selects a category, the MiroGuideCategoryActivity is started.
- */
-public class MiroGuideMainActivity extends ActionBarActivity implements AdapterView.OnItemClickListener {
- private static final String TAG = "MiroGuideMainActivity";
-
- private static String[] categories;
- private ArrayAdapter<String> listAdapter;
-
- private TextView txtvStatus;
- private ListView listView;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.miroguide_categorylist);
-
- txtvStatus = (TextView) findViewById(android.R.id.empty);
- listView = (ListView) findViewById(android.R.id.list);
- listView.setOnItemClickListener(this);
- listView.setEmptyView(txtvStatus);
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- if (categories != null) {
- createAdapter();
- } else {
- loadCategories();
- }
- }
-
- private void createAdapter() {
- if (categories != null) {
- listAdapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_list_item_1, categories);
- txtvStatus.setText(R.string.no_items_label);
- listView.setAdapter(listAdapter);
- }
- }
-
- /**
- * Launches an AsyncTask to load the available categories in the background.
- */
- @SuppressLint("NewApi")
- private void loadCategories() {
- AsyncTask<Void, Void, Void> listLoader = new AsyncTask<Void, Void, Void>() {
-
- private String[] c;
- private MiroGuideException exception;
-
- @Override
- protected void onPostExecute(Void result) {
- if (exception == null) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Successfully loaded categories");
- categories = c;
- createAdapter();
- } else {
- Log.e(TAG, "Error happened while trying to load categories");
- txtvStatus.setText(exception.getMessage());
- }
- }
-
- @Override
- protected void onPreExecute() {
- txtvStatus.setText(R.string.loading_categories_label);
- }
-
- @Override
- protected Void doInBackground(Void... params) {
- MiroGuideService service = new MiroGuideService();
- try {
- c = service.getCategories();
- } catch (MiroGuideException e) {
- e.printStackTrace();
- exception = e;
- } finally {
- service.close();
- }
- return null;
- }
-
- };
-
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- listLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- listLoader.execute();
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label)
- .setIcon(
- obtainStyledAttributes(
- new int[]{R.attr.action_search})
- .getDrawable(0)),
- MenuItem.SHOW_AS_ACTION_IF_ROOM);
- MenuItemCompat.setActionView(menu.findItem(R.id.search_item), new SearchView(this));
-
- SearchManager searchManager =
- (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search_item));
- searchView.setIconifiedByDefault(true);
- searchView.setSearchableInfo(
- searchManager.getSearchableInfo(getComponentName()));
-
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- default:
- return false;
- }
- }
-
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
- String selection = listAdapter.getItem(position);
- Intent launchIntent = new Intent(this, MiroGuideCategoryActivity.class);
- launchIntent.putExtra(MiroGuideCategoryActivity.EXTRA_CATEGORY,
- selection);
- startActivity(launchIntent);
- }
-}
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java
deleted file mode 100644
index e20253dc6..000000000
--- a/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.app.SearchManager;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.MiroGuideChannellistFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-
-/**
- * Displays results when a search for miroguide channels has been performed. It
- * uses a MiroGuideChannelListFragment to display the results.
- */
-public class MiroGuideSearchActivity extends ActionBarActivity {
- private static final String TAG = "MiroGuideSearchActivity";
-
- private MiroGuideChannellistFragment listFragment;
-
- @Override
- protected void onCreate(Bundle arg0) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(arg0);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.miroguidesearch);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- Intent intent = getIntent();
- if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
- String query = intent.getStringExtra(SearchManager.QUERY);
- getSupportActionBar()
- .setSubtitle(
- getString(R.string.search_term_label) + "\""
- + query + "\"");
- handleSearchRequest(query);
- }
- }
-
- private void handleSearchRequest(String query) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Performing search");
- FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
- listFragment = MiroGuideChannellistFragment.newInstance("name", query,
- "name");
- ft.replace(R.id.channellistFragment, listFragment);
- ft.commit();
- }
-
- @Override
- protected void onNewIntent(Intent intent) {
- setIntent(intent);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label)
- .setIcon(
- obtainStyledAttributes(
- new int[]{R.attr.action_search})
- .getDrawable(0)),
- MenuItem.SHOW_AS_ACTION_IF_ROOM);
-
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- case R.id.search_item:
- onSearchRequested();
- return true;
- default:
- return false;
- }
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java b/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java
deleted file mode 100644
index 6e2cf597f..000000000
--- a/src/de/danoeh/antennapod/activity/OrganizeQueueActivity.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.*;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import com.mobeta.android.dslv.DragSortListView;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.asynctask.ImageLoader;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.feed.FeedItem;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DBTasks;
-import de.danoeh.antennapod.storage.DBWriter;
-import de.danoeh.antennapod.util.UndoBarController;
-
-import java.util.List;
-
-public class OrganizeQueueActivity extends ActionBarActivity implements
- UndoBarController.UndoListener {
- private static final String TAG = "OrganizeQueueActivity";
-
- private static final int MENU_ID_ACCEPT = 2;
-
- private List<FeedItem> queue;
-
- private OrganizeAdapter adapter;
- private UndoBarController undoBarController;
-
- private DragSortListView listView;
- private TextView emptyView;
- private ProgressBar progLoading;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- setContentView(R.layout.organize_queue);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- listView = (DragSortListView) findViewById(android.R.id.list);
- emptyView = (TextView) findViewById(android.R.id.empty);
- progLoading = (ProgressBar) findViewById(R.id.progLoading);
-
- listView.setDropListener(dropListener);
- listView.setRemoveListener(removeListener);
- listView.setEmptyView(findViewById(android.R.id.empty));
-
- loadData();
- undoBarController = new UndoBarController(findViewById(R.id.undobar),
- this);
- }
-
- private void loadData() {
- AsyncTask<Void, Void, List<FeedItem>> loadTask = new AsyncTask<Void, Void, List<FeedItem>>() {
-
- @Override
- protected List<FeedItem> doInBackground(Void... voids) {
- return DBReader.getQueue(OrganizeQueueActivity.this);
- }
-
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- // do not show loading animation if queue is already loaded
- if (queue == null) {
- progLoading.setVisibility(View.VISIBLE);
- listView.setVisibility(View.GONE);
- emptyView.setVisibility(View.GONE);
- }
- }
-
- @Override
- protected void onPostExecute(List<FeedItem> feedItems) {
- super.onPostExecute(feedItems);
- if (feedItems != null) {
- queue = feedItems;
- if (adapter == null) {
- adapter = new OrganizeAdapter(OrganizeQueueActivity.this);
- listView.setAdapter(adapter);
- }
- adapter.notifyDataSetChanged();
- } else {
- Log.e(TAG, "Queue was null");
- }
- progLoading.setVisibility(View.GONE);
- listView.setVisibility(View.VISIBLE);
- }
- };
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- loadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- loadTask.execute();
- }
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- EventDistributor.getInstance().unregister(contentUpdate);
- }
-
- @Override
- protected void onStop() {
- super.onStop();
- DBTasks.autodownloadUndownloadedItems(getApplicationContext());
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- EventDistributor.getInstance().register(contentUpdate);
- }
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
-
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if (((EventDistributor.QUEUE_UPDATE | EventDistributor.FEED_LIST_UPDATE) & arg) != 0) {
- loadData();
- }
- }
- };
-
- private DragSortListView.DropListener dropListener = new DragSortListView.DropListener() {
-
- @Override
- public void drop(int from, int to) {
- final FeedItem item = queue.remove(from);
- queue.add(to, item);
- adapter.notifyDataSetChanged();
- DBWriter.moveQueueItem(OrganizeQueueActivity.this, from, to, true);
- }
- };
-
- private DragSortListView.RemoveListener removeListener = new DragSortListView.RemoveListener() {
-
- @Override
- public void remove(int which) {
- FeedItem item = (FeedItem) listView.getAdapter().getItem(which);
- DBWriter.removeQueueItem(OrganizeQueueActivity.this, item.getId(), true);
- undoBarController.showUndoBar(false,
- getString(R.string.removed_from_queue), new UndoToken(item,
- which));
- }
- };
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- default:
- return false;
- }
- }
-
- @Override
- public void onUndo(Parcelable token) {
- // Perform the undo
- UndoToken undoToken = (UndoToken) token;
- if (token != null) {
- long itemId = undoToken.getFeedItemId();
- int position = undoToken.getPosition();
- DBWriter.addQueueItemAt(OrganizeQueueActivity.this, itemId, position, false);
- }
- }
-
- private static class OrganizeAdapter extends BaseAdapter {
-
- private OrganizeQueueActivity organizeQueueActivity;
-
- public OrganizeAdapter(OrganizeQueueActivity organizeQueueActivity) {
- super();
- this.organizeQueueActivity = organizeQueueActivity;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- Holder holder;
- final FeedItem item = getItem(position);
-
- if (convertView == null) {
- holder = new Holder();
- LayoutInflater inflater = (LayoutInflater) organizeQueueActivity
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- convertView = inflater.inflate(
- R.layout.organize_queue_listitem, null);
- holder.title = (TextView) convertView
- .findViewById(R.id.txtvTitle);
- holder.feedTitle = (TextView) convertView
- .findViewById(R.id.txtvFeedname);
-
- holder.feedImage = (ImageView) convertView
- .findViewById(R.id.imgvFeedimage);
- convertView.setTag(holder);
- } else {
- holder = (Holder) convertView.getTag();
- }
-
- holder.title.setText(item.getTitle());
- holder.feedTitle.setText(item.getFeed().getTitle());
-
- holder.feedImage.setTag(item.getImageLoaderCacheKey());
- ImageLoader.getInstance().loadThumbnailBitmap(
- item,
- holder.feedImage,
- (int) convertView.getResources().getDimension(
- R.dimen.thumbnail_length));
-
- return convertView;
- }
-
- static class Holder {
- TextView title;
- TextView feedTitle;
- ImageView feedImage;
- }
-
- @Override
- public int getCount() {
- if (organizeQueueActivity.queue != null) {
- return organizeQueueActivity.queue.size();
- } else {
- return 0;
- }
- }
-
- @Override
- public FeedItem getItem(int position) {
- if (organizeQueueActivity.queue != null) {
- return organizeQueueActivity.queue.get(position);
- } else {
- return null;
- }
- }
-
- @Override
- public long getItemId(int position) {
- return position;
- }
-
- }
-
- private static class UndoToken implements Parcelable {
- private long itemId;
- private long feedId;
- private int position;
-
- public UndoToken(FeedItem item, int position) {
- this.itemId = item.getId();
- this.feedId = item.getFeed().getId();
- this.position = position;
- }
-
- private UndoToken(Parcel in) {
- itemId = in.readLong();
- feedId = in.readLong();
- position = in.readInt();
- }
-
- public static final Parcelable.Creator<UndoToken> CREATOR = new Parcelable.Creator<UndoToken>() {
- public UndoToken createFromParcel(Parcel in) {
- return new UndoToken(in);
- }
-
- public UndoToken[] newArray(int size) {
- return new UndoToken[size];
- }
- };
-
- public int describeContents() {
- return 0;
- }
-
- public void writeToParcel(Parcel out, int flags) {
- out.writeLong(itemId);
- out.writeLong(feedId);
- out.writeInt(position);
- }
-
- public long getFeedItemId() {
- return itemId;
- }
-
- public int getPosition() {
- return position;
- }
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java b/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java
deleted file mode 100644
index ba3d12105..000000000
--- a/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.os.Bundle;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.DBWriter;
-
-public class PlaybackHistoryActivity extends ActionBarActivity {
- private static final String TAG = "PlaybackHistoryActivity";
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.clear_history_item, Menu.NONE,
- R.string.clear_history_label),
- MenuItem.SHOW_AS_ACTION_IF_ROOM);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- case R.id.clear_history_item:
- DBWriter.clearPlaybackHistory(this);
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- protected void onCreate(Bundle arg0) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(arg0);
-
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Activity created");
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.playbackhistory_activity);
-
- FragmentTransaction fT = getSupportFragmentManager().beginTransaction();
- fT.replace(R.id.playbackhistory_fragment, new PlaybackHistoryFragment());
- fT.commit();
- }
-
-}
diff --git a/src/de/danoeh/antennapod/activity/SearchActivity.java b/src/de/danoeh/antennapod/activity/SearchActivity.java
deleted file mode 100644
index 02c0838b3..000000000
--- a/src/de/danoeh/antennapod/activity/SearchActivity.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.app.SearchManager;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ListView;
-import android.widget.TextView;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.SearchlistAdapter;
-import de.danoeh.antennapod.feed.Feed;
-import de.danoeh.antennapod.feed.FeedItem;
-import de.danoeh.antennapod.feed.SearchResult;
-import de.danoeh.antennapod.fragment.FeedlistFragment;
-import de.danoeh.antennapod.fragment.ItemlistFragment;
-import de.danoeh.antennapod.preferences.UserPreferences;
-import de.danoeh.antennapod.storage.FeedSearcher;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Displays the results when the user searches for FeedItems or Feeds.
- */
-public class SearchActivity extends ActionBarActivity implements AdapterView.OnItemClickListener {
- private static final String TAG = "SearchActivity";
-
- public static final String EXTRA_FEED_ID = "de.danoeh.antennapod.searchactivity.extra.feedId";
-
- private SearchlistAdapter searchAdapter;
-
- /**
- * ID of the feed that is being searched or null if the search is global.
- */
- private long feedID;
-
- private ListView listView;
- private TextView txtvStatus;
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.searchlist);
- listView = (ListView) findViewById(android.R.id.list);
- txtvStatus = (TextView) findViewById(android.R.id.empty);
-
- listView.setOnItemClickListener(this);
- //searchAdapter = new SearchlistAdapter(this, 0, new ArrayList<SearchResult>());
- listView.setAdapter(searchAdapter);
- listView.setEmptyView(txtvStatus);
- }
-
- @Override
- protected void onNewIntent(Intent intent) {
- setIntent(intent);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- Intent intent = getIntent();
- if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
- if (intent.hasExtra(SearchActivity.EXTRA_FEED_ID)) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Found bundle extra");
- feedID = intent.getLongExtra(SearchActivity.EXTRA_FEED_ID, 0);
- }
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Starting search");
- String query = intent.getStringExtra(SearchManager.QUERY);
- getSupportActionBar()
- .setSubtitle(
- getString(R.string.search_term_label) + "\""
- + query + "\"");
- handleSearchRequest(query);
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label)
- .setIcon(
- obtainStyledAttributes(
- new int[]{R.attr.action_search})
- .getDrawable(0)),
- (MenuItem.SHOW_AS_ACTION_IF_ROOM));
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- Intent intent = new Intent(this, MainActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- return true;
- case R.id.search_item:
- onSearchRequested();
- return true;
- default:
- return false;
- }
- }
-
- @Override
- public boolean onSearchRequested() {
- Bundle extra = null;
- if (feedID != 0) {
- extra = new Bundle();
- extra.putLong(EXTRA_FEED_ID, feedID);
- }
- startSearch(null, false, extra, false);
- return true;
- }
-
- @SuppressLint({"NewApi", "NewApi"})
- private void handleSearchRequest(final String query) {
- if (searchAdapter != null) {
- // searchAdapter.clear();
- searchAdapter.notifyDataSetChanged();
- }
- txtvStatus.setText(R.string.search_status_searching);
-
- Thread thread = new Thread() {
-
- @Override
- public void run() {
- Log.d(TAG, "Starting background work");
- final Activity activity = SearchActivity.this;
- final List<SearchResult> result = FeedSearcher
- .performSearch(activity, query, feedID);
- activity.runOnUiThread(new Runnable() {
-
- @Override
- public void run() {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Background work finished");
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Found " + result.size()
- + " results");
-
- // searchAdapter.clear();
- for (SearchResult s : result) {
- // searchAdapter.add(s);
- }
- searchAdapter.notifyDataSetChanged();
- txtvStatus
- .setText(R.string.search_status_no_results);
- if (!searchAdapter.isEmpty()) {
- txtvStatus.setVisibility(View.GONE);
- } else {
- txtvStatus.setVisibility(View.VISIBLE);
- }
- }
- });
-
- }
- };
- thread.start();
-
- }
-
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
- SearchResult selection = searchAdapter.getItem(position);
- if (selection.getComponent().getClass() == Feed.class) {
- Feed feed = (Feed) selection.getComponent();
- Intent launchIntent = new Intent(this, FeedItemlistActivity.class);
- launchIntent.putExtra(FeedlistFragment.EXTRA_SELECTED_FEED,
- feed.getId());
- startActivity(launchIntent);
-
- } else if (selection.getComponent().getClass() == FeedItem.class) {
- FeedItem item = (FeedItem) selection.getComponent();
- Intent launchIntent = new Intent(this, ItemviewActivity.class);
- launchIntent.putExtra(FeedlistFragment.EXTRA_SELECTED_FEED, item
- .getFeed().getId());
- launchIntent.putExtra(ItemlistFragment.EXTRA_SELECTED_FEEDITEM,
- item.getId());
- startActivity(launchIntent);
- }
- }
-}
diff --git a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetActivity.java b/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetActivity.java
deleted file mode 100644
index 7ee0a9ac9..000000000
--- a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetActivity.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package de.danoeh.antennapod.activity.gpoddernet;
-
-import android.app.SearchManager;
-import android.content.Context;
-import android.os.Bundle;
-import android.support.v4.view.MenuItemCompat;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.widget.SearchView;
-import android.view.Menu;
-import android.view.MenuItem;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.preferences.UserPreferences;
-
-/**
- * Created by daniel on 23.08.13.
- */
-public class GpodnetActivity extends ActionBarActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, R.id.search_item, Menu.NONE, R.string.search_label)
- .setIcon(
- obtainStyledAttributes(
- new int[]{R.attr.action_search})
- .getDrawable(0)),
- MenuItem.SHOW_AS_ACTION_IF_ROOM);
- MenuItemCompat.setActionView(menu.findItem(R.id.search_item), new SearchView(this));
-
- SearchManager searchManager =
- (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search_item));
- searchView.setIconifiedByDefault(true);
- searchView.setSearchableInfo(
- searchManager.getSearchableInfo(getComponentName()));
-
- return true;
- }
-}
diff --git a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetMainActivity.java b/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetMainActivity.java
deleted file mode 100644
index e77a6a7a3..000000000
--- a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetMainActivity.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package de.danoeh.antennapod.activity.gpoddernet;
-
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
-import android.support.v4.app.NavUtils;
-import android.support.v4.view.ViewPager;
-import android.view.MenuItem;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.gpodnet.PodcastTopListFragment;
-import de.danoeh.antennapod.fragment.gpodnet.SuggestionListFragment;
-import de.danoeh.antennapod.fragment.gpodnet.TagListFragment;
-
-/**
- * Created by daniel on 22.08.13.
- */
-public class GpodnetMainActivity extends GpodnetActivity {
- private static final String TAG = "GPodnetMainActivity";
-
- private static final int POS_TAGS = 0;
- private static final int POS_TOPLIST = 1;
- private static final int POS_SUGGESTIONS = 2;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.gpodnet_main);
- ViewPager viewpager = (ViewPager) findViewById(R.id.viewpager);
- viewpager.setAdapter(new PagerAdapter(getSupportFragmentManager()));
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
- private class PagerAdapter extends FragmentStatePagerAdapter {
-
- private static final int NUM_PAGES_LOGGED_OUT = 2;
- private static final int NUM_PAGES_LOGGED_IN = 3;
- private final int NUM_PAGES;
-
- public PagerAdapter(FragmentManager fm) {
- super(fm);
- NUM_PAGES = NUM_PAGES_LOGGED_OUT;
- }
-
- @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/activity/gpoddernet/GpodnetSearchActivity.java b/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetSearchActivity.java
deleted file mode 100644
index 199b45dc9..000000000
--- a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetSearchActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package de.danoeh.antennapod.activity.gpoddernet;
-
-import android.app.SearchManager;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.app.NavUtils;
-import android.view.MenuItem;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.gpodnet.SearchListFragment;
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * Created by daniel on 23.08.13.
- */
-public class GpodnetSearchActivity extends GpodnetActivity {
-
- private SearchListFragment searchFragment;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.gpodnet_search);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- Intent intent = getIntent();
- if (StringUtils.equals(intent.getAction(), Intent.ACTION_SEARCH)) {
- handleSearchRequest(intent.getStringExtra(SearchManager.QUERY));
- }
- }
-
- @Override
- protected void onNewIntent(Intent intent) {
- setIntent(intent);
- }
-
- private void handleSearchRequest(String query) {
- getSupportActionBar().setSubtitle(getString(R.string.search_term_label) + query);
- if (searchFragment == null) {
- FragmentTransaction transaction = getSupportFragmentManager()
- .beginTransaction();
- searchFragment = SearchListFragment.newInstance(query);
- transaction.replace(R.id.searchListFragment, searchFragment);
- transaction.commit();
- } else {
- searchFragment.changeQuery(query);
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-}
diff --git a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetTagActivity.java b/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetTagActivity.java
deleted file mode 100644
index 14897c60c..000000000
--- a/src/de/danoeh/antennapod/activity/gpoddernet/GpodnetTagActivity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package de.danoeh.antennapod.activity.gpoddernet;
-
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.app.NavUtils;
-import android.view.MenuItem;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.fragment.gpodnet.PodcastListFragment;
-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;
-
-/**
- * Created by daniel on 23.08.13.
- */
-public class GpodnetTagActivity extends GpodnetActivity{
-
- private static final int PODCAST_COUNT = 50;
- public static final String ARG_TAGNAME = "tagname";
-
- private GpodnetTag tag;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- setContentView(R.layout.gpodnet_tag_activity);
-
- if (!getIntent().hasExtra(ARG_TAGNAME)) {
- throw new IllegalArgumentException("No tagname argument");
- }
- tag = new GpodnetTag(getIntent().getStringExtra(ARG_TAGNAME));
- getSupportActionBar().setTitle(tag.getName());
-
- FragmentTransaction transaction = getSupportFragmentManager()
- .beginTransaction();
- Fragment taglistFragment = new TaglistFragment();
- transaction.replace(R.id.taglistFragment, taglistFragment);
- transaction.commit();
- }
-
- private class TaglistFragment extends PodcastListFragment {
-
- @Override
- protected List<GpodnetPodcast> loadPodcastData(GpodnetService service) throws GpodnetServiceException {
- return service.getPodcastsForTag(tag, PODCAST_COUNT);
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- NavUtils.navigateUpFromSameTask(this);
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-}
diff --git a/src/de/danoeh/antennapod/adapter/MiroGuideChannelListAdapter.java b/src/de/danoeh/antennapod/adapter/MiroGuideChannelListAdapter.java
deleted file mode 100644
index 4361b3af8..000000000
--- a/src/de/danoeh/antennapod/adapter/MiroGuideChannelListAdapter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package de.danoeh.antennapod.adapter;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.miroguide.model.MiroGuideChannel;
-
-import java.util.List;
-
-public class MiroGuideChannelListAdapter extends ArrayAdapter<MiroGuideChannel> {
-
- public MiroGuideChannelListAdapter(Context context, int textViewResourceId,
- List<MiroGuideChannel> objects) {
- super(context, textViewResourceId, objects);
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- Holder holder;
- MiroGuideChannel channel = getItem(position);
-
- // Inflate Layout
- if (convertView == null) {
- holder = new Holder();
- LayoutInflater inflater = (LayoutInflater) getContext()
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
- convertView = inflater.inflate(R.layout.miroguide_channellist_item, null);
- holder.title = (TextView) convertView.findViewById(R.id.txtvTitle);
-
- convertView.setTag(holder);
- } else {
- holder = (Holder) convertView.getTag();
- }
-
- holder.title.setText(channel.getName());
- return convertView;
- }
-
- static class Holder {
- TextView title;
- }
-
-
-
-}
diff --git a/src/de/danoeh/antennapod/adapter/MiroGuideItemlistAdapter.java b/src/de/danoeh/antennapod/adapter/MiroGuideItemlistAdapter.java
deleted file mode 100644
index 18a4b42cc..000000000
--- a/src/de/danoeh/antennapod/adapter/MiroGuideItemlistAdapter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package de.danoeh.antennapod.adapter;
-
-import android.content.Context;
-import android.text.format.DateUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.miroguide.model.MiroGuideItem;
-
-import java.util.List;
-
-public class MiroGuideItemlistAdapter extends ArrayAdapter<MiroGuideItem> {
-
- public MiroGuideItemlistAdapter(Context context, int textViewResourceId,
- List<MiroGuideItem> objects) {
- super(context, textViewResourceId, objects);
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- Holder holder;
- MiroGuideItem item = getItem(position);
-
- // Inflate Layout
- if (convertView == null) {
- holder = new Holder();
- LayoutInflater inflater = (LayoutInflater) getContext()
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
- convertView = inflater.inflate(R.layout.miroguide_itemlist_item,
- null);
- holder.title = (TextView) convertView.findViewById(R.id.txtvTitle);
- holder.date = (TextView) convertView.findViewById(R.id.txtvDate);
- convertView.setTag(holder);
- } else {
- holder = (Holder) convertView.getTag();
- }
-
- holder.title.setText(item.getName());
- if (item.getDate() != null) {
- holder.date.setText(DateUtils.getRelativeTimeSpanString(
- item.getDate().getTime(), System.currentTimeMillis(), 0, 0));
- holder.date.setVisibility(View.VISIBLE);
- } else {
- holder.date.setVisibility(View.GONE);
- }
- return convertView;
- }
-
- static class Holder {
- TextView title;
- TextView date;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/fragment/EpisodesFragment.java b/src/de/danoeh/antennapod/fragment/EpisodesFragment.java
deleted file mode 100644
index 3c79a8c10..000000000
--- a/src/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ /dev/null
@@ -1,327 +0,0 @@
-package de.danoeh.antennapod.fragment;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.util.Log;
-import android.view.*;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.widget.ExpandableListView;
-import android.widget.ExpandableListView.OnChildClickListener;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.ItemviewActivity;
-import de.danoeh.antennapod.activity.OrganizeQueueActivity;
-import de.danoeh.antennapod.adapter.ActionButtonCallback;
-import de.danoeh.antennapod.adapter.ExternalEpisodesListAdapter;
-import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.feed.FeedItem;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DBTasks;
-import de.danoeh.antennapod.storage.DBWriter;
-import de.danoeh.antennapod.storage.DownloadRequestException;
-import de.danoeh.antennapod.util.QueueAccess;
-import de.danoeh.antennapod.util.menuhandler.FeedItemMenuHandler;
-
-import java.util.List;
-
-public class EpisodesFragment extends Fragment {
- private static final String TAG = "EpisodesFragment";
-
- private static final int EVENTS = EventDistributor.QUEUE_UPDATE
- | EventDistributor.UNREAD_ITEMS_UPDATE
- | EventDistributor.FEED_LIST_UPDATE
- | EventDistributor.DOWNLOAD_HANDLED
- | EventDistributor.DOWNLOAD_QUEUED;
-
- private ExpandableListView listView;
- private ExternalEpisodesListAdapter adapter;
-
- private List<FeedItem> queue;
- private List<FeedItem> unreadItems;
-
- protected FeedItem selectedItem = null;
- protected long selectedGroupId = -1;
- protected boolean contextMenuClosed = true;
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- EventDistributor.getInstance().unregister(contentUpdate);
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- EventDistributor.getInstance().register(contentUpdate);
- if (adapter != null) {
- adapter.notifyDataSetChanged();
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View v = inflater.inflate(R.layout.episodes_fragment, null);
- listView = (ExpandableListView) v.findViewById(android.R.id.list);
- return v;
- }
-
- protected ActionButtonCallback adapterCallback = new ActionButtonCallback() {
-
- @Override
- public void onActionButtonPressed(FeedItem item) {
- resetContextMenuSelection();
- selectedItem = item;
- listView.showContextMenu();
- }
- };
-
- protected ExternalEpisodesListAdapter.OnGroupActionClicked groupActionCallback = new ExternalEpisodesListAdapter.OnGroupActionClicked() {
-
- @Override
- public void onClick(long groupId) {
- resetContextMenuSelection();
- selectedGroupId = groupId;
- listView.showContextMenu();
- }
- };
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- adapter = new ExternalEpisodesListAdapter(getActivity(),
- adapterCallback, groupActionCallback, itemAccess);
- listView.setAdapter(adapter);
- listView.expandGroup(ExternalEpisodesListAdapter.GROUP_POS_QUEUE);
- listView.expandGroup(ExternalEpisodesListAdapter.GROUP_POS_UNREAD);
- listView.setOnChildClickListener(new OnChildClickListener() {
-
- @Override
- public boolean onChildClick(ExpandableListView parent, View v,
- int groupPosition, int childPosition, long id) {
- FeedItem selection = adapter.getChild(groupPosition,
- childPosition);
- if (selection != null) {
- Intent showItem = new Intent(getActivity(),
- ItemviewActivity.class);
- showItem.putExtra(FeedlistFragment.EXTRA_SELECTED_FEED,
- selection.getFeed().getId());
- showItem.putExtra(ItemlistFragment.EXTRA_SELECTED_FEEDITEM,
- selection.getId());
-
- startActivity(showItem);
- return true;
- }
- return true;
- }
- });
- loadData();
- registerForContextMenu(listView);
-
- }
-
- ExternalEpisodesListAdapter.ItemAccess itemAccess = new ExternalEpisodesListAdapter.ItemAccess() {
-
- @Override
- public int getQueueSize() {
- return (queue != null) ? queue.size() : 0;
- }
-
- @Override
- public int getUnreadItemsSize() {
- return (unreadItems != null) ? unreadItems.size() : 0;
- }
-
- @Override
- public FeedItem getQueueItemAt(int position) {
- return (queue != null) ? queue.get(position) : null;
- }
-
- @Override
- public FeedItem getUnreadItemAt(int position) {
- return (unreadItems != null) ? unreadItems.get(position) : null;
- }
- };
-
- private void loadData() {
- AsyncTask<Void, Void, Void> loadTask = new AsyncTask<Void, Void, Void>() {
- private volatile List<FeedItem> queueRef;
- private volatile List<FeedItem> unreadItemsRef;
-
- @Override
- protected Void doInBackground(Void... voids) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Starting to load list data");
- Context context = EpisodesFragment.this.getActivity();
- if (context != null) {
- queueRef = DBReader.getQueue(context);
- unreadItemsRef = DBReader.getUnreadItemsList(context);
- }
- return null;
- }
-
- @Override
- protected void onPostExecute(Void aVoid) {
- super.onPostExecute(aVoid);
- if (queueRef != null && unreadItemsRef != null) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Done loading list data");
- queue = queueRef;
- unreadItems = unreadItemsRef;
- if (adapter != null) {
- adapter.notifyDataSetChanged();
- }
- } else {
- if (queueRef == null) {
- Log.e(TAG, "Could not load queue");
- }
- if (unreadItemsRef == null) {
- Log.e(TAG, "Could not load unread items");
- }
- }
- }
- };
- loadTask.execute();
- }
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
-
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if ((EVENTS & arg) != 0) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Received contentUpdate Intent.");
- loadData();
- }
- }
- };
-
- @Override
- public void onCreateContextMenu(final ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- super.onCreateContextMenu(menu, v, menuInfo);
- if (!contextMenuClosed) { // true if context menu was cancelled before
- resetContextMenuSelection();
- }
- contextMenuClosed = false;
- listView.setOnItemLongClickListener(null);
- if (selectedItem != null) {
- new MenuInflater(getActivity()).inflate(R.menu.feeditem, menu);
-
- menu.setHeaderTitle(selectedItem.getTitle());
- FeedItemMenuHandler.onPrepareMenu(
- new FeedItemMenuHandler.MenuInterface() {
-
- @Override
- public void setItemVisibility(int id, boolean visible) {
- menu.findItem(id).setVisible(visible);
- }
- }, selectedItem, false, QueueAccess.ItemListAccess(queue));
-
- // check to see if the item is in the queue, if so add queue menu items
- int itemIndex = queue.indexOf(selectedItem);
- if (itemIndex != -1) {
- addQueueOnlyMenus(menu, itemIndex);
- }
-
- } else if (selectedGroupId == ExternalEpisodesListAdapter.GROUP_POS_QUEUE) {
- menu.add(Menu.NONE, R.id.organize_queue_item, Menu.NONE,
- R.string.organize_queue_label);
- menu.add(Menu.NONE, R.id.clear_queue_item, Menu.NONE, getActivity()
- .getString(R.string.clear_queue_label));
- menu.add(Menu.NONE, R.id.download_all_item, Menu.NONE,
- getActivity().getString(R.string.download_all));
- } else if (selectedGroupId == ExternalEpisodesListAdapter.GROUP_POS_UNREAD) {
- menu.add(Menu.NONE, R.id.mark_all_read_item, Menu.NONE,
- getActivity().getString(R.string.mark_all_read_label));
- menu.add(Menu.NONE, R.id.enqueue_all_item, Menu.NONE, getActivity()
- .getString(R.string.enqueue_all_new));
- }
- }
-
- /**
- * Adds submenus to the ContextMenu if the item selected is in the queue.
- * @param menu the ContextMenu to add the submenus to
- * @param itemIndex the index of the selected item within the queue.
- */
- private void addQueueOnlyMenus(ContextMenu menu, int itemIndex) {
- if (itemIndex != 0) {
- // don't add move to top if this item is already on the top
- menu.add(Menu.NONE, R.id.move_to_top_item, Menu.NONE, getActivity()
- .getString(R.string.move_to_top_label));
- }
- if (itemIndex != queue.size() - 1) {
- // don't add move to bottom if this item is already on the bottom
- menu.add(Menu.NONE, R.id.move_to_bottom_item, Menu.NONE, getActivity()
- .getString(R.string.move_to_bottom_label));
- }
- }
-
- @Override
- public boolean onContextItemSelected(android.view.MenuItem item) {
- boolean handled = false;
- if (selectedItem != null) {
- try {
- handled = FeedItemMenuHandler.onMenuItemClicked(
- getActivity(), item.getItemId(), selectedItem);
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- DownloadRequestErrorDialogCreator.newRequestErrorDialog(
- getActivity(), e.getMessage());
- }
- if (!handled) {
- // if it wasn't handled by the FeedItemMenuHandler it might be one of ours
- switch (item.getItemId()) {
- case R.id.move_to_top_item:
- DBWriter.moveQueueItemToTop(getActivity(), selectedItem.getId(), true);
- handled = true;
- break;
- case R.id.move_to_bottom_item:
- DBWriter.moveQueueItemToBottom(getActivity(), selectedItem.getId(), true);
- handled = true;
- break;
- }
- }
- } else if (selectedGroupId == ExternalEpisodesListAdapter.GROUP_POS_QUEUE) {
- handled = true;
- switch (item.getItemId()) {
- case R.id.organize_queue_item:
- startActivity(new Intent(getActivity(),
- OrganizeQueueActivity.class));
- break;
- case R.id.clear_queue_item:
- DBWriter.clearQueue(getActivity());
- break;
- case R.id.download_all_item:
- DBTasks.downloadAllItemsInQueue(getActivity());
- break;
- default:
- handled = false;
- }
- } else if (selectedGroupId == ExternalEpisodesListAdapter.GROUP_POS_UNREAD) {
- handled = true;
- switch (item.getItemId()) {
- case R.id.mark_all_read_item:
- DBWriter.markAllItemsRead(getActivity());
- break;
- case R.id.enqueue_all_item:
- DBTasks.enqueueAllNewItems(getActivity());
- break;
- default:
- handled = false;
- }
- }
-
- resetContextMenuSelection();
- return handled;
- }
-
- private void resetContextMenuSelection() {
- selectedItem = null;
- selectedGroupId = -1;
- contextMenuClosed = true;
- }
-}
diff --git a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java
deleted file mode 100644
index 0d2f0d079..000000000
--- a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java
+++ /dev/null
@@ -1,292 +0,0 @@
-package de.danoeh.antennapod.fragment;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.ActionBarActivity;
-import android.support.v7.view.ActionMode;
-import android.util.Log;
-import android.view.*;
-import android.widget.*;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.FeedItemlistActivity;
-import de.danoeh.antennapod.adapter.FeedlistAdapter;
-import de.danoeh.antennapod.asynctask.FeedRemover;
-import de.danoeh.antennapod.dialog.ConfirmationDialog;
-import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator;
-import de.danoeh.antennapod.feed.EventDistributor;
-import de.danoeh.antennapod.feed.Feed;
-import de.danoeh.antennapod.storage.DBReader;
-import de.danoeh.antennapod.storage.DownloadRequestException;
-import de.danoeh.antennapod.storage.FeedItemStatistics;
-import de.danoeh.antennapod.util.menuhandler.FeedMenuHandler;
-
-import java.util.List;
-
-public class FeedlistFragment extends Fragment implements
- ActionMode.Callback, AdapterView.OnItemClickListener,
- AdapterView.OnItemLongClickListener {
- private static final String TAG = "FeedlistFragment";
-
- private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED
- | EventDistributor.DOWNLOAD_QUEUED
- | EventDistributor.FEED_LIST_UPDATE
- | EventDistributor.UNREAD_ITEMS_UPDATE;
-
- public static final String EXTRA_SELECTED_FEED = "extra.de.danoeh.antennapod.activity.selected_feed";
-
- private FeedlistAdapter fla;
- private List<Feed> feeds;
- private List<FeedItemStatistics> feedItemStatistics;
-
- private Feed selectedFeed;
- private ActionMode mActionMode;
-
- private GridView gridView;
- private ListView listView;
- private TextView emptyView;
-
- private FeedlistAdapter.ItemAccess itemAccess = new FeedlistAdapter.ItemAccess() {
-
- @Override
- public Feed getItem(int position) {
- if (feeds != null) {
- return feeds.get(position);
- } else {
- return null;
- }
- }
-
- @Override
- public FeedItemStatistics getFeedItemStatistics(int position) {
- if (feedItemStatistics != null && position < feedItemStatistics.size()) {
- return feedItemStatistics.get(position);
- } else {
- return null;
- }
- }
-
- @Override
- public int getCount() {
- if (feeds != null) {
- return feeds.size();
- } else {
- return 0;
- }
- }
- };
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Creating");
- fla = new FeedlistAdapter(getActivity(), itemAccess);
- loadFeeds();
- }
-
- private void loadFeeds() {
- AsyncTask<Void, Void, List[]> loadTask = new AsyncTask<Void, Void, List[]>() {
- @Override
- protected List[] doInBackground(Void... params) {
- Context context = getActivity();
- if (context != null) {
- return new List[]{DBReader.getFeedList(context),
- DBReader.getFeedStatisticsList(context)};
- } else {
- return null;
- }
- }
-
-
- @Override
- protected void onPostExecute(List[] result) {
- super.onPostExecute(result);
- if (result != null) {
- feeds = result[0];
- feedItemStatistics = result[1];
- setEmptyViewIfListIsEmpty();
- if (fla != null) {
- fla.notifyDataSetChanged();
- }
- } else {
- Log.e(TAG, "Failed to load feeds");
- }
- }
- };
- loadTask.execute();
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View result = inflater.inflate(R.layout.feedlist, container, false);
- listView = (ListView) result.findViewById(android.R.id.list);
- gridView = (GridView) result.findViewById(R.id.grid);
- emptyView = (TextView) result.findViewById(android.R.id.empty);
-
- return result;
-
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- if (listView != null) {
- listView.setOnItemClickListener(this);
- listView.setOnItemLongClickListener(this);
- listView.setAdapter(fla);
- listView.setEmptyView(emptyView);
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Using ListView");
- } else {
- gridView.setOnItemClickListener(this);
- gridView.setOnItemLongClickListener(this);
- gridView.setAdapter(fla);
- gridView.setEmptyView(emptyView);
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Using GridView");
- }
- setEmptyViewIfListIsEmpty();
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Resuming");
- EventDistributor.getInstance().register(contentUpdate);
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- EventDistributor.getInstance().unregister(contentUpdate);
- }
-
- @Override
- public void onPause() {
- super.onPause();
- if (mActionMode != null) {
- mActionMode.finish();
- }
- }
-
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
-
- @Override
- public void update(EventDistributor eventDistributor, Integer arg) {
- if ((EVENTS & arg) != 0) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Received contentUpdate Intent.");
- loadFeeds();
- }
- }
- };
-
- @Override
- public boolean onCreateActionMode(ActionMode mode, Menu menu) {
- FeedMenuHandler.onCreateOptionsMenu(mode.getMenuInflater(), menu);
- mode.setTitle(selectedFeed.getTitle());
- return true;
- }
-
- @Override
- public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- return FeedMenuHandler.onPrepareOptionsMenu(menu, selectedFeed);
- }
-
- @SuppressLint("NewApi")
- @Override
- public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- try {
- if (FeedMenuHandler.onOptionsItemClicked(getActivity(),
- item, selectedFeed)) {
- loadFeeds();
- } else {
- switch (item.getItemId()) {
- case R.id.remove_item:
- final FeedRemover remover = new FeedRemover(
- getActivity(), selectedFeed) {
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- loadFeeds();
- }
- };
- ConfirmationDialog conDialog = new ConfirmationDialog(
- getActivity(), R.string.remove_feed_label,
- R.string.feed_delete_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(
- DialogInterface dialog) {
- dialog.dismiss();
- remover.executeAsync();
- }
- };
- conDialog.createNewDialog().show();
- break;
- }
- }
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- DownloadRequestErrorDialogCreator.newRequestErrorDialog(
- getActivity(), e.getMessage());
- }
- mode.finish();
- return true;
- }
-
- @Override
- public void onDestroyActionMode(ActionMode mode) {
- mActionMode = null;
- selectedFeed = null;
- fla.setSelectedItemIndex(FeedlistAdapter.SELECTION_NONE);
- }
-
- @Override
- public void onItemClick(AdapterView<?> arg0, View arg1, int position,
- long id) {
- Feed selection = fla.getItem(position);
- Intent showFeed = new Intent(getActivity(), FeedItemlistActivity.class);
- showFeed.putExtra(EXTRA_SELECTED_FEED, selection.getId());
-
- getActivity().startActivity(showFeed);
- }
-
- @Override
- public boolean onItemLongClick(AdapterView<?> parent, View view,
- int position, long id) {
- Feed selection = fla.getItem(position);
- if (selection != null) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Selected Feed with title " + selection.getTitle());
- if (mActionMode != null) {
- mActionMode.finish();
- }
- fla.setSelectedItemIndex(position);
- selectedFeed = selection;
- mActionMode = ((ActionBarActivity) getActivity()).startSupportActionMode(FeedlistFragment.this);
-
- }
- return true;
- }
-
- private AbsListView getMainView() {
- return (listView != null) ? listView : gridView;
- }
-
- private void setEmptyViewIfListIsEmpty() {
- if (getMainView() != null && emptyView != null && feeds != null) {
- if (feeds.isEmpty()) {
- emptyView.setText(R.string.no_feeds_label);
- }
- }
- }
-}
diff --git a/src/de/danoeh/antennapod/fragment/MiroGuideChannellistFragment.java b/src/de/danoeh/antennapod/fragment/MiroGuideChannellistFragment.java
deleted file mode 100644
index 53910b673..000000000
--- a/src/de/danoeh/antennapod/fragment/MiroGuideChannellistFragment.java
+++ /dev/null
@@ -1,266 +0,0 @@
-package de.danoeh.antennapod.fragment;
-
-import android.annotation.SuppressLint;
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.support.v4.app.ListFragment;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.AbsListView;
-import android.widget.AbsListView.OnScrollListener;
-import android.widget.ListView;
-import de.danoeh.antennapod.BuildConfig;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.MiroGuideChannelViewActivity;
-import de.danoeh.antennapod.adapter.MiroGuideChannelListAdapter;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideException;
-import de.danoeh.antennapod.miroguide.conn.MiroGuideService;
-import de.danoeh.antennapod.miroguide.model.MiroGuideChannel;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Displays a list of MiroGuideChannel objects that were results of a certain
- * MiroGuideService query. If the user reaches the bottom of the list, more
- * entries will be loaded until all entries have been loaded or the maximum
- * number of channels has been reached.
- * */
-public class MiroGuideChannellistFragment extends ListFragment {
- private static final String TAG = "MiroGuideChannellistFragment";
-
- private static final String ARG_FILTER = "filter";
- private static final String ARG_FILTER_VALUE = "filter_value";
- private static final String ARG_SORT = "sort";
-
- private static final int MAX_CHANNELS = 200;
- private static final int CHANNELS_PER_QUERY = MiroGuideService.DEFAULT_CHANNEL_LIMIT;
-
- private ArrayList<MiroGuideChannel> channels;
- private MiroGuideChannelListAdapter listAdapter;
- private int offset;
-
- private boolean isLoadingChannels;
- /**
- * True if there are no more entries to load or if the maximum number of
- * channels in the channellist has been reached
- */
- private boolean stopLoading;
-
- private View footer;
-
- private String filter;
- private String filterValue;
- private String sort;
-
- private AsyncTask<Void, Void, List<MiroGuideChannel>> channelLoader;
-
- /**
- * Creates a new instance of Channellist fragment.
- *
- * @throws IllegalArgumentException
- * if filter, filterValue or sort is null
- * */
- public static MiroGuideChannellistFragment newInstance(String filter,
- String filterValue, String sort) {
- if (filter == null) {
- throw new IllegalArgumentException("filter cannot be null");
- }
- if (filterValue == null) {
- throw new IllegalArgumentException("filter value cannot be null");
- }
- if (sort == null) {
- throw new IllegalArgumentException("sort cannot be null");
- }
- MiroGuideChannellistFragment cf = new MiroGuideChannellistFragment();
- Bundle args = new Bundle();
- args.putString(ARG_FILTER, filter);
- args.putString(ARG_FILTER_VALUE, filterValue);
- args.putString(ARG_SORT, sort);
- cf.setArguments(args);
- return cf;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- offset = 0;
- channels = new ArrayList<MiroGuideChannel>();
-
- Bundle args = getArguments();
- filter = args.getString(ARG_FILTER);
- filterValue = args.getString(ARG_FILTER_VALUE);
- sort = args.getString(ARG_SORT);
-
- LayoutInflater inflater = (LayoutInflater) getActivity()
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- footer = inflater.inflate(R.layout.loading_footer, null);
- listAdapter = new MiroGuideChannelListAdapter(getActivity(), 0,
- channels);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (channels.isEmpty()) {
- setListShown(false);
- loadChannels();
- }
- }
-
- @Override
- public void onPause() {
- super.onPause();
- if (channelLoader != null) {
- channelLoader.cancel(true);
- }
- }
-
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
-
- getListView().addFooterView(footer); // footer has to be added before
- // the adapter has been set
- getListView().setAdapter(listAdapter);
- getListView().removeFooterView(footer);
-
- getListView().setOnScrollListener(new OnScrollListener() {
-
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
- int lastVisibleItem = firstVisibleItem + visibleItemCount;
- if (lastVisibleItem == totalItemCount) {
- if (BuildConfig.DEBUG)
- loadChannels();
- }
- }
-
- @Override
- public void onScrollStateChanged(AbsListView view, int scrollState) {
- }
- });
- }
-
- @Override
- public void onListItemClick(ListView l, View v, int position, long id) {
- super.onListItemClick(l, v, position, id);
- if (listAdapter != null) {
- MiroGuideChannel selection = listAdapter.getItem(position);
- Intent launchIntent = new Intent(getActivity(),
- MiroGuideChannelViewActivity.class);
- launchIntent.putExtra(
- MiroGuideChannelViewActivity.EXTRA_CHANNEL_ID,
- selection.getId());
- launchIntent.putExtra(
- MiroGuideChannelViewActivity.EXTRA_CHANNEL_URL,
- selection.getDownloadUrl());
- startActivity(launchIntent);
- }
- }
-
- @SuppressLint("NewApi")
- private void loadChannels() {
- if (!isLoadingChannels) {
- if (!stopLoading) {
- isLoadingChannels = true;
- channelLoader = new AsyncTask<Void, Void, List<MiroGuideChannel>>() {
- private MiroGuideException exception;
-
- @Override
- protected void onCancelled() {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Channel loader was cancelled");
- }
-
- @Override
- protected void onPostExecute(List<MiroGuideChannel> result) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Channel loading finished");
- if (exception == null) {
- getListView().removeFooterView(footer);
- for (MiroGuideChannel channel : result) {
- channels.add(channel);
- }
- listAdapter.notifyDataSetChanged();
- offset += CHANNELS_PER_QUERY;
- // check if fragment should not send any more
- // queries
- if (result.size() < CHANNELS_PER_QUERY) {
- if (BuildConfig.DEBUG)
- Log.d(TAG,
- "Query result was less than requested number of channels. Stopping to send any more queries");
- stopLoading = true;
- }
- if (offset >= MAX_CHANNELS) {
- if (BuildConfig.DEBUG)
- Log.d(TAG,
- "Maximum number of feeds has been reached. Stopping to send any more queries");
- stopLoading = true;
- }
-
- setListShown(true);
- } else {
- AlertDialog.Builder dialog = new AlertDialog.Builder(
- getActivity());
- dialog.setTitle(R.string.error_label);
- dialog.setMessage(exception.getMessage());
- dialog.setNeutralButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(
- DialogInterface dialog,
- int which) {
- dialog.dismiss();
- }
- });
- dialog.create().show();
- }
- isLoadingChannels = false;
- }
-
- @Override
- protected void onPreExecute() {
- getListView().addFooterView(footer);
- }
-
- @Override
- protected List<MiroGuideChannel> doInBackground(
- Void... params) {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Background channel loader started");
- MiroGuideService service = new MiroGuideService();
- try {
- return service.getChannelList(filter, filterValue,
- sort, CHANNELS_PER_QUERY, offset);
- } catch (MiroGuideException e) {
- exception = e;
- e.printStackTrace();
- } finally {
- // service.close();
- }
- return null;
- }
- };
-
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- channelLoader
- .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- channelLoader.execute();
- }
- }
- } else {
- if (BuildConfig.DEBUG)
- Log.d(TAG, "Channels are already being loaded");
- }
- }
-}
diff --git a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideConnector.java b/src/de/danoeh/antennapod/miroguide/conn/MiroGuideConnector.java
deleted file mode 100644
index b4c06c340..000000000
--- a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideConnector.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package de.danoeh.antennapod.miroguide.conn;
-
-import android.net.Uri;
-import de.danoeh.antennapod.util.LangUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-/** Executes HTTP requests and returns the results. */
-public class MiroGuideConnector {
- private HttpClient httpClient;
-
- private static final String HOST_URL = "http://www.miroguide.com/api/";
- private static final String PATH_GET_CHANNELS = "get_channels";
- private static final String PATH_LIST_CATEGORIES = "list_categories";
- private static final String PATH_GET_CHANNEL = "get_channel";
-
- public MiroGuideConnector() {
- httpClient = new DefaultHttpClient();
- }
-
- public void shutdown() {
- httpClient.getConnectionManager().shutdown();
- }
-
- private Uri.Builder getBaseURIBuilder(String path) {
- Uri.Builder builder = Uri.parse(HOST_URL).buildUpon();
- builder.appendPath(path).appendQueryParameter("datatype", "json");
- return builder;
- }
-
- public JSONArray getArrayResponse(Uri uri) throws MiroGuideException {
- try {
- JSONArray result = new JSONArray(executeRequest(uri));
- return result;
- } catch (JSONException e) {
- e.printStackTrace();
- throw new MiroGuideException();
- }
- }
-
- public JSONObject getSingleObjectResponse(Uri uri) throws MiroGuideException {
- try {
- JSONObject result = new JSONObject(executeRequest(uri));
- return result;
- } catch (JSONException e) {
- e.printStackTrace();
- throw new MiroGuideException();
- }
- }
-
- /**
- * Executes a HTTP GET request with the given URI and returns the content of
- * the return value.
- *
- * @throws MiroGuideException
- */
- private String executeRequest(Uri uri) throws MiroGuideException {
- HttpGet httpGet = new HttpGet(uri.toString());
- String result = null;
- try {
- HttpResponse response = httpClient.execute(httpGet);
- if (response.getStatusLine().getStatusCode() == 200) {
- HttpEntity entity = response.getEntity();
- if (entity != null) {
- BufferedReader reader = new BufferedReader(
- new InputStreamReader(entity.getContent(),
- LangUtils.UTF_8));
- try {
- result = reader.readLine();
- } finally {
- reader.close();
- }
- }
- } else {
- throw new MiroGuideException(response.getStatusLine()
- .getReasonPhrase());
- }
- } catch (IOException e) {
- e.printStackTrace();
- throw new MiroGuideException(e.getMessage());
- }
- return result;
-
- }
-
- public Uri createGetChannelsUri(String filter, String filterValue,
- String sort, String limit, String offset) throws MiroGuideException {
- Uri.Builder resultBuilder = getBaseURIBuilder(PATH_GET_CHANNELS);
- resultBuilder.appendQueryParameter("filter", filter)
- .appendQueryParameter("filter_value", filterValue);
-
- if (sort != null) {
- resultBuilder.appendQueryParameter("sort", sort);
- }
- if (limit != null) {
- resultBuilder.appendQueryParameter("limit", limit);
- }
- if (offset != null) {
- resultBuilder.appendQueryParameter("offset", offset);
- }
- Uri result = resultBuilder.build();
- return result;
- }
-
- public Uri createListCategoriesURI() throws MiroGuideException {
- Uri.Builder resultBuilder = getBaseURIBuilder(PATH_LIST_CATEGORIES);
- Uri result = resultBuilder.build();
-
- return result;
- }
-
- public Uri createGetChannelUri(String id) throws MiroGuideException {
- Uri.Builder resultBuilder = getBaseURIBuilder(PATH_GET_CHANNEL)
- .appendQueryParameter("id", id);
- Uri result = resultBuilder.build();
- return result;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideException.java b/src/de/danoeh/antennapod/miroguide/conn/MiroGuideException.java
deleted file mode 100644
index 6097761d8..000000000
--- a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.danoeh.antennapod.miroguide.conn;
-
-public class MiroGuideException extends Exception {
- private static final long serialVersionUID = -8834656185748713194L;
-
- public MiroGuideException() {
- super();
- }
-
- public MiroGuideException(String arg0, Throwable arg1) {
- super(arg0, arg1);
- }
-
- public MiroGuideException(String arg0) {
- super(arg0);
- }
-
- public MiroGuideException(Throwable arg0) {
- super(arg0);
- }
-
-
-}
diff --git a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideService.java b/src/de/danoeh/antennapod/miroguide/conn/MiroGuideService.java
deleted file mode 100644
index bdb4ec5dd..000000000
--- a/src/de/danoeh/antennapod/miroguide/conn/MiroGuideService.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package de.danoeh.antennapod.miroguide.conn;
-
-import de.danoeh.antennapod.miroguide.model.MiroGuideChannel;
-import de.danoeh.antennapod.miroguide.model.MiroGuideItem;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
-
-/** Provides methods to communicate with the Miroguide API on an abstract level. */
-public class MiroGuideService {
- private static final String TAG = "MiroGuideService";
-
- public static final int DEFAULT_CHANNEL_LIMIT = 20;
-
- public static final String FILTER_CATEGORY = "category";
- public static final String FILTER_NAME = "name";
- public static final String SORT_NAME = "name";
- public static final String SORT_POPULAR = "popular";
- public static final String SORT_RATING = "rating";
-
- public static final String JSON_DATE_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ss";
-
- private MiroGuideConnector connector;
-
- private static ThreadLocal<SimpleDateFormat> jSONDateFormat = new ThreadLocal<SimpleDateFormat>() {
- @Override
- protected SimpleDateFormat initialValue() {
- return new SimpleDateFormat(JSON_DATE_FORMAT_STRING, Locale.US);
- }
-
- };
-
- public MiroGuideService() {
- connector = new MiroGuideConnector();
- }
-
- public void close() {
- connector.shutdown();
- }
-
- public String[] getCategories() throws MiroGuideException {
- JSONArray resultArray = connector.getArrayResponse(connector
- .createListCategoriesURI());
- String[] result = new String[resultArray.length()];
- for (int i = 0; i < resultArray.length(); i++) {
- try {
- result[i] = resultArray.getJSONObject(i).getString("name");
- } catch (JSONException e) {
- e.printStackTrace();
- throw new MiroGuideException();
- }
- }
- return result;
- }
-
- /** Get a list of MiroGuideChannel objects without their items. */
- public List<MiroGuideChannel> getChannelList(String filter, String filterValue,
- String sort, int limit, int offset) throws MiroGuideException {
- JSONArray resultArray = connector.getArrayResponse(connector
- .createGetChannelsUri(filter, filterValue, sort,
- Integer.toString(limit), Integer.toString(offset)));
- int resultLen = resultArray.length();
- List<MiroGuideChannel> channels = new ArrayList<MiroGuideChannel>(resultLen);
- for (int i = 0; i < resultLen; i++) {
- JSONObject content = null;
- try {
- content = resultArray.getJSONObject(i);
- MiroGuideChannel channel = extractMiroChannel(content, false);
- channels.add(channel);
- } catch (JSONException e) {
- e.printStackTrace();
- throw new MiroGuideException();
- }
- }
-
- return channels;
- }
-
- /**
- * Get a single channel with its items.
- *
- * @throws MiroGuideException
- */
- public MiroGuideChannel getChannel(long id) throws MiroGuideException {
- JSONObject resultObject = connector.getSingleObjectResponse(connector
- .createGetChannelUri(Long.toString(id)));
- MiroGuideChannel result = null;
- try {
- result = extractMiroChannel(resultObject, true);
- } catch (JSONException e) {
- e.printStackTrace();
- throw new MiroGuideException();
- }
- return result;
- }
-
- /**
- * Get a MiroGuideChannel object from it's JSON source. The itemlist of the
- * channel can be included or excluded
- *
- * @throws JSONException
- */
- private MiroGuideChannel extractMiroChannel(JSONObject content, boolean withItems)
- throws JSONException {
- long id = content.getLong("id");
- String name = content.getString("name");
- String description = content.getString("description");
- String thumbnailUrl = content.optString("thumbnail_url");
- String downloadUrl = content.getString("url");
- String websiteUrl = content.getString("website_url");
- if (!withItems) {
- return new MiroGuideChannel(id, name, thumbnailUrl, downloadUrl,
- websiteUrl, description);
- } else {
- JSONArray itemData = content.getJSONArray("item");
- int numItems = itemData.length();
- ArrayList<MiroGuideItem> items = new ArrayList<MiroGuideItem>(numItems);
- for (int i = 0; i < numItems; i++) {
- items.add(extractMiroItem(itemData.getJSONObject(i)));
- }
-
- return new MiroGuideChannel(id, name, thumbnailUrl, downloadUrl,
- websiteUrl, description, items);
- }
- }
-
- /** Get a MiroGuideItem from its JSON source. */
- private MiroGuideItem extractMiroItem(JSONObject content) throws JSONException {
- Date date = parseMiroItemDate(content.getString("date"));
- String description = content.getString("description");
- String name = content.getString("name");
- String url = content.getString("url");
- return new MiroGuideItem(name, description, date, url);
- }
-
- private Date parseMiroItemDate(String s) {
- try {
- return jSONDateFormat.get().parse(s);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return null;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/miroguide/model/MiroGuideChannel.java b/src/de/danoeh/antennapod/miroguide/model/MiroGuideChannel.java
deleted file mode 100644
index f5d62d2e8..000000000
--- a/src/de/danoeh/antennapod/miroguide/model/MiroGuideChannel.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package de.danoeh.antennapod.miroguide.model;
-
-import java.util.ArrayList;
-
-public class MiroGuideChannel {
- private long id;
- private String name;
- private String thumbnailUrl;
- private String downloadUrl;
- private String websiteUrl;
- private String description;
- private ArrayList<MiroGuideItem> items;
-
- public MiroGuideChannel(long id, String name, String thumbnailUrl,
- String downloadUrl, String websiteUrl, String description) {
- super();
- this.id = id;
- this.name = name;
- this.thumbnailUrl = thumbnailUrl;
- this.downloadUrl = downloadUrl;
- this.websiteUrl = websiteUrl;
- this.description = description;
- }
-
- public MiroGuideChannel(long id, String name, String thumbnailUrl,
- String downloadUrl, String websiteUrl, String description,
- ArrayList<MiroGuideItem> items) {
- super();
- this.id = id;
- this.name = name;
- this.thumbnailUrl = thumbnailUrl;
- this.downloadUrl = downloadUrl;
- this.websiteUrl = websiteUrl;
- this.description = description;
- this.items = items;
- }
-
- @Override
- public String toString() {
- return id + " " + name;
- }
-
- public long getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getThumbnailUrl() {
- return thumbnailUrl;
- }
-
- public String getDownloadUrl() {
- return downloadUrl;
- }
-
- public String getWebsiteUrl() {
- return websiteUrl;
- }
-
- public String getDescription() {
- return description;
- }
-
- public ArrayList<MiroGuideItem> getItems() {
- return items;
- }
-
- public void setThumbnailUrl(String thumbnailUrl) {
- this.thumbnailUrl = thumbnailUrl;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/miroguide/model/MiroGuideItem.java b/src/de/danoeh/antennapod/miroguide/model/MiroGuideItem.java
deleted file mode 100644
index cb5b15c56..000000000
--- a/src/de/danoeh/antennapod/miroguide/model/MiroGuideItem.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package de.danoeh.antennapod.miroguide.model;
-
-import java.util.Date;
-
-public class MiroGuideItem {
- private String name;
- private String description;
- private Date date;
- private String url;
-
- public MiroGuideItem(String name, String description, Date date, String url) {
- super();
- this.name = name;
- this.description = description;
- this.date = (Date) date.clone();
- this.url = url;
- }
-
- @Override
- public String toString() {
- return name + " " + date.toString();
- }
-
- public String getName() {
- return name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public Date getDate() {
- return (Date) date.clone();
- }
-
- public String getUrl() {
- return url;
- }
-
-}
diff --git a/src/de/danoeh/antennapod/service/download/DownloadService.java b/src/de/danoeh/antennapod/service/download/DownloadService.java
index 0f9c7bd7f..3810c071d 100644
--- a/src/de/danoeh/antennapod/service/download/DownloadService.java
+++ b/src/de/danoeh/antennapod/service/download/DownloadService.java
@@ -21,9 +21,7 @@ import android.util.Log;
import android.webkit.URLUtil;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.DownloadActivity;
import de.danoeh.antennapod.activity.DownloadAuthenticationActivity;
-import de.danoeh.antennapod.activity.DownloadLogActivity;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.NavListAdapter;
import de.danoeh.antennapod.feed.*;