Android Open Source - EnklawaPlayer Abstract Episodes Fragment From Project Back to project page EnklawaPlayer .
License The source code is released under:
GNU General Public License
If you think the Android project EnklawaPlayer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package macbury.pod.fragments.main;
/ / w w w . j a v a 2 s . c o m
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import java.util.List;
import macbury.pod.adapters.EpisodesAdapter;
import macbury.pod.adapters.EpisodesAdapterListener;
import macbury.pod.db.models.Episode;
import macbury.pod.db.models.EpisodeFile;
import macbury.pod.dialogs.EpisodeAboutDialog;
/**
* Created by macbury on 14.09.14.
*/
public abstract class AbstractEpisodesFragment extends EnklawaBaseAbstractListFragment implements EpisodesAdapterListener, DialogInterface.OnDismissListener {
protected static final String TAG = "AbstractEpisodesFragment" ;
protected List<Episode> episodesArray;
protected EpisodesAdapter episodeAdapter;
private EpisodeAboutDialog dialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.episodeAdapter = new EpisodesAdapter(getActivity());
this.episodeAdapter.setListener(this );
this.setListAdapter(episodeAdapter);
}
@Override
public void onSyncPodUpdate() {
updateEpisodes();
}
public void updateEpisodes() {
this.episodesArray = getEpisodes();
this.episodeAdapter.set(episodesArray);
episodeAdapter.notifyDataSetChanged();
}
public abstract List<Episode> getEpisodes();
@Override
protected void onDownloadUpdate(int progress, EpisodeFile file) {
episodeAdapter.notifyDataSetChanged();
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Episode episode = episodeAdapter.getItem(position);
if (dialog != null) {
dialog.hide();
dialog = null;
}
this.dialog = new EpisodeAboutDialog(getActivity(), episode);
dialog.setOnDismissListener(this );
dialog.show();
}
@Override
public void onPause() {
super.onPause();
if (dialog != null) {
dialog.hide();
dialog = null;
}
}
@Override
public void onDownloadEpisodeButtonClick(Episode episode) {
Log.v(TAG, "Clicked download episode: " + episode.name);
app.db.episodeFiles.createFromEpisode(episode);
app.services.downloadPendingEpisodes();
}
@Override
public void onCancelEpisodeDownloadButtonClick(Episode episode) {
Log.v(TAG, "Clicked cancel download episode: " + episode.name);
getActivity().startService(app.intents.cancelEpisodeDownloadService(episode));
}
@Override
public void onPauseEpisodeDownloadButtonClick(Episode episode) {
app.services.pausePlayer();
}
@Override
public void onRemoveEpisodeButtonClick(Episode episode) {
}
@Override
public void onPlayEpisodeDownloadButtonClick(Episode episode) {
Log.v(TAG, "Clicked play download episode: " + episode.name);
getActivity().startActivity(app.intents.openPlayerForEpisode(episode));
}
@Override
public void onDismiss(DialogInterface dialog) {
episodeAdapter.notifyDataSetChanged();
}
}
Java Source Code List macbury.pod.ApplicationTest.java macbury.pod.activities.DonateActivity.java macbury.pod.activities.ProgramEpisodesActivity.java macbury.pod.activities.SettingsActivity.java macbury.pod.activities.ext.AccentFragmentActivity.java macbury.pod.activities.main.MainActivityActionBarToggle.java macbury.pod.activities.main.MainActivity.java macbury.pod.activities.main.NavigationController.java macbury.pod.activities.main.NavigationListener.java macbury.pod.activities.player.PlayerActivity.java macbury.pod.activities.player.RadioActivity.java macbury.pod.adapters.EpisodesAdapterListener.java macbury.pod.adapters.EpisodesAdapter.java macbury.pod.adapters.ProgramsAdapter.java macbury.pod.api.APICategory.java macbury.pod.api.APIEpisode.java macbury.pod.api.APIProgram.java macbury.pod.api.APIResponse.java macbury.pod.api.APIThread.java macbury.pod.db.DatabaseCRUDListener.java macbury.pod.db.models.EnqueueEpisode.java macbury.pod.db.models.EpisodeFile.java macbury.pod.db.models.Episode.java macbury.pod.db.models.ForumThread.java macbury.pod.db.models.Program.java macbury.pod.db.scopes.AbstractScope.java macbury.pod.db.scopes.EnqueueEpisodeScope.java macbury.pod.db.scopes.EpisodeFilesScope.java macbury.pod.db.scopes.EpisodesScope.java macbury.pod.db.scopes.ProgramsScope.java macbury.pod.db.scopes.ThreadScope.java macbury.pod.dialogs.EpisodeAboutDialog.java macbury.pod.dialogs.ProgramAboutDialog.java macbury.pod.extensions.Converter.java macbury.pod.extensions.DateDeserializer.java macbury.pod.extensions.SleepTimer.java macbury.pod.fragments.SettingsFragment.java macbury.pod.fragments.main.AbstractEpisodesFragment.java macbury.pod.fragments.main.AllProgramsFragment.java macbury.pod.fragments.main.EnklawaBaseAbstractListFragment.java macbury.pod.fragments.main.episodes.DownloadedEpisodesFragment.java macbury.pod.fragments.main.episodes.NewestEpisodesFragment.java macbury.pod.fragments.main.episodes.PlaylistFragment.java macbury.pod.fragments.main.episodes.ProgramEpisodesFragment.java macbury.pod.fragments.player.ExternalPlayerFragment.java macbury.pod.fragments.player.PlayerArtworkAndInfoFragment.java macbury.pod.fragments.player.PlayerControllerFragment.java macbury.pod.managers.AlarmsManager.java macbury.pod.managers.App.java macbury.pod.managers.BroadcastsManager.java macbury.pod.managers.DatabaseManager.java macbury.pod.managers.IntentManager.java macbury.pod.managers.NotificationsManager.java macbury.pod.managers.ServiceManager.java macbury.pod.managers.SettingsManager.java macbury.pod.managers.StorageManager.java macbury.pod.managers.download.DownloadEpisode.java macbury.pod.managers.download.DownloadManagerListener.java macbury.pod.managers.download.DownloadManager.java macbury.pod.managers.player.PlaybackStatus.java macbury.pod.managers.player.PlayerManagerListener.java macbury.pod.managers.player.PlayerManager.java macbury.pod.managers.player.sources.AbstractMediaSource.java macbury.pod.managers.player.sources.EpisodeMediaSource.java macbury.pod.managers.player.sources.RadioMediaSource.java macbury.pod.navigation_drawer.NavAdapter.java macbury.pod.navigation_drawer.NavBaseItem.java macbury.pod.navigation_drawer.NavDivider.java macbury.pod.navigation_drawer.items.AllProgramsNavItem.java macbury.pod.navigation_drawer.items.DownloadedEpisodesNavItem.java macbury.pod.navigation_drawer.items.FavoriteProgramNavItem.java macbury.pod.navigation_drawer.items.ForumNavItem.java macbury.pod.navigation_drawer.items.NavItemFragment.java macbury.pod.navigation_drawer.items.NewestEpisodesNavItem.java macbury.pod.navigation_drawer.items.PlayQueueNavItem.java macbury.pod.receivers.BootReceiver.java macbury.pod.receivers.MediaButtonReceiver.java macbury.pod.services.DownloadService.java macbury.pod.services.PlayerService.java macbury.pod.services.SyncPodService.java macbury.pod.tutorial.MainActivityTutorial.java macbury.pod.views.TappableFrameLayout.java