diff options
author | volhol <volhol@users.noreply.github.com> | 2015-03-31 01:33:04 +0200 |
---|---|---|
committer | volhol <volhol@users.noreply.github.com> | 2015-03-31 01:33:04 +0200 |
commit | 71db0368c45ff6cb7b669982b68fdfefd8606352 (patch) | |
tree | 901f51e05aa6b20db7ee45c644ab35da1d1ec791 /app/src/main/java/de | |
parent | af7b947368ce4c23cba3000bb32fcb6d8430f8b4 (diff) | |
download | AntennaPod-71db0368c45ff6cb7b669982b68fdfefd8606352.zip |
Direct play from the the lists
Pause/play buttons work; position in media item not always updated yet
Diffstat (limited to 'app/src/main/java/de')
9 files changed, 23 insertions, 7 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java index 18b31d580..8d3e73429 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java @@ -27,7 +27,7 @@ public class ActionButtonUtils { this.context = context; drawables = context.obtainStyledAttributes(new int[]{ - R.attr.av_play, R.attr.navigation_cancel, R.attr.av_download, R.attr.borderless_button, R.attr.navigation_accept}); + R.attr.av_play, R.attr.navigation_cancel, R.attr.av_download, R.attr.av_pause, R.attr.navigation_accept}); labels = new int[]{R.string.play_label, R.string.cancel_download_label, R.string.download_label, R.string.mark_read_label}; } @@ -57,7 +57,7 @@ public class ActionButtonUtils { } else { // item is not being downloaded butSecondary.setVisibility(View.VISIBLE); - if (media.isPlaying()) { + if (media.isCurrentlyPlaying()) { butSecondary.setImageDrawable(drawables.getDrawable(3)); } else { butSecondary diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java index ac39b818d..bae109cf9 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java @@ -1,6 +1,7 @@ package de.danoeh.antennapod.adapter; import android.content.Context; +import android.content.Intent; import android.widget.Toast; import org.apache.commons.lang3.Validate; @@ -9,6 +10,7 @@ import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; +import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.DownloadRequestException; @@ -46,7 +48,13 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { DownloadRequester.getInstance().cancelDownload(context, media); Toast.makeText(context, R.string.download_cancelled_msg, Toast.LENGTH_SHORT).show(); } else { // media is downloaded - if (item.getState() != FeedItem.State.PLAYING) { + if (item.hasMedia() && item.getMedia().isCurrentlyPlaying()) { + context.sendBroadcast(new Intent(PlaybackService.ACTION_PAUSE_PLAY_CURRENT_EPISODE)); + } + else if (item.hasMedia() && item.getMedia().isPlaying()) { + context.sendBroadcast(new Intent(PlaybackService.ACTION_RESUME_PLAY_CURRENT_EPISODE)); + } + else { DBTasks.playMedia(context, media, false, true, false); } } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java index ba0eb4c29..d56bfc587 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java @@ -188,8 +188,6 @@ public class FeedItemlistAdapter extends BaseAdapter { public void onClick(View v) { FeedItem item = (FeedItem) v.getTag(); callback.onActionButtonPressed(item); - EventDistributor.getInstance().sendPlaybackHistoryUpdateBroadcast(); - EventDistributor.getInstance().sendUnreadItemsUpdateBroadcast(); } }; diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NewEpisodesListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NewEpisodesListAdapter.java index 10b1f8e79..7a05b9370 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NewEpisodesListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NewEpisodesListAdapter.java @@ -148,7 +148,6 @@ public class NewEpisodesListAdapter extends BaseAdapter { public void onClick(View v) { FeedItem item = (FeedItem) v.getTag(); actionButtonCallback.onActionButtonPressed(item); - EventDistributor.getInstance().sendUnreadItemsUpdateBroadcast(); } }; diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java index 34757149a..a256dc129 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/QueueListAdapter.java @@ -138,7 +138,6 @@ public class QueueListAdapter extends BaseAdapter { public void onClick(View v) { FeedItem item = (FeedItem) v.getTag(); actionButtonCallback.onActionButtonPressed(item); - EventDistributor.getInstance().sendQueueUpdateBroadcast(); } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java index 5312beeeb..ff68d267d 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java @@ -296,6 +296,9 @@ public class ItemlistFragment extends ListFragment { updateProgressBarVisibility(); } } + if ((arg & EventDistributor.PLAYER_STATUS_UPDATE) != 0) { + adapter.notifyDataSetChanged(); + } } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java index 24991144e..39b72f2e2 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java @@ -340,6 +340,9 @@ public class NewEpisodesFragment extends Fragment { getActivity().supportInvalidateOptionsMenu(); } } + if ((arg & EventDistributor.PLAYER_STATUS_UPDATE) != 0) { + listAdapter.notifyDataSetChanged(); + } } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java index f6d2d5d07..96f9742a0 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java @@ -171,6 +171,9 @@ public class PlaybackHistoryFragment extends ListFragment { startItemLoader(); getActivity().supportInvalidateOptionsMenu(); } + if ((arg & EventDistributor.PLAYER_STATUS_UPDATE) != 0) { + adapter.notifyDataSetChanged(); + } } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index da33c6ea3..b48b52514 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -477,6 +477,9 @@ public class QueueFragment extends Fragment { getActivity().supportInvalidateOptionsMenu(); } } + if ((arg & EventDistributor.PLAYER_STATUS_UPDATE) != 0) { + listAdapter.notifyDataSetChanged(); + } } }; |