diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-08-21 17:03:43 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-08-21 17:03:43 -0700 |
commit | c777c62aea3a7b251e8f6c907a60ebf35ddbb8c8 (patch) | |
tree | 15df7a7ea0fdd94e89ba0113d8e1b186eef4d93d /app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java | |
parent | 9f597b5135b85b99755cd791e32796b89fbf81dd (diff) | |
parent | 5a175f3b94cb8b5bd078e373f4a25b7ab65c4cc8 (diff) | |
download | dsub-c777c62aea3a7b251e8f6c907a60ebf35ddbb8c8.tar.gz dsub-c777c62aea3a7b251e8f6c907a60ebf35ddbb8c8.tar.bz2 dsub-c777c62aea3a7b251e8f6c907a60ebf35ddbb8c8.zip |
Merge branch 'SlideUpPanel2'
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java | 76 |
1 files changed, 44 insertions, 32 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java index c71d99f6..d992319b 100644 --- a/app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java +++ b/app/src/main/java/github/daneren2005/dsub/fragments/SelectBookmarkFragment.java @@ -19,43 +19,40 @@ package github.daneren2005.dsub.fragments; import android.view.ContextMenu; +import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import github.daneren2005.dsub.R; -import github.daneren2005.dsub.activity.DownloadActivity; +import github.daneren2005.dsub.adapter.SectionAdapter; import github.daneren2005.dsub.domain.Bookmark; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.service.DownloadService; import github.daneren2005.dsub.service.MusicService; +import github.daneren2005.dsub.util.MenuUtil; import github.daneren2005.dsub.util.ProgressListener; import github.daneren2005.dsub.util.SilentBackgroundTask; import github.daneren2005.dsub.util.Util; import github.daneren2005.dsub.adapter.BookmarkAdapter; +import github.daneren2005.dsub.view.UpdateView; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class SelectBookmarkFragment extends SelectListFragment<MusicDirectory.Entry> { +public class SelectBookmarkFragment extends SelectRecyclerFragment<MusicDirectory.Entry> { private static final String TAG = SelectBookmarkFragment.class.getSimpleName(); @Override - public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, view, menuInfo); - - MenuInflater inflater = context.getMenuInflater(); - inflater.inflate(R.menu.select_bookmark_context, menu); - - hideMenuItems(menu, (AdapterView.AdapterContextMenuInfo) menuInfo); + public void onCreateContextMenu(Menu menu, MenuInflater menuInflater, UpdateView<MusicDirectory.Entry> updateView, MusicDirectory.Entry item) { + menuInflater.inflate(R.menu.select_bookmark_context, menu); + MenuUtil.hideMenuItems(context, menu); } @Override - public boolean onContextItemSelected(MenuItem menuItem) { - AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuItem.getMenuInfo(); - MusicDirectory.Entry bookmark = objects.get(info.position); - + public boolean onContextItemSelected(MenuItem menuItem, UpdateView<MusicDirectory.Entry> updateView, MusicDirectory.Entry bookmark) { switch(menuItem.getItemId()) { case R.id.bookmark_menu_info: displayBookmarkInfo(bookmark); @@ -64,12 +61,8 @@ public class SelectBookmarkFragment extends SelectListFragment<MusicDirectory.En deleteBookmark(bookmark, adapter); return true; } - - if(onContextItemSelected(menuItem, bookmark)) { - return true; - } - return true; + return onContextItemSelected(menuItem, bookmark); } @Override @@ -78,8 +71,8 @@ public class SelectBookmarkFragment extends SelectListFragment<MusicDirectory.En } @Override - public ArrayAdapter getAdapter(List<MusicDirectory.Entry> bookmarks) { - return new BookmarkAdapter(context, bookmarks); + public SectionAdapter getAdapter(List<MusicDirectory.Entry> bookmarks) { + return new BookmarkAdapter(context, bookmarks, this); } @Override @@ -93,13 +86,12 @@ public class SelectBookmarkFragment extends SelectListFragment<MusicDirectory.En } @Override - public void onItemClick(AdapterView<?> parent, View view, int position, long id) { + public void onItemClicked(final MusicDirectory.Entry bookmark) { final DownloadService downloadService = getDownloadService(); if(downloadService == null) { return; } - final MusicDirectory.Entry bookmark = (MusicDirectory.Entry) parent.getItemAtPosition(position); new SilentBackgroundTask<Void>(context) { @Override protected Void doInBackground() throws Throwable { @@ -110,22 +102,42 @@ public class SelectBookmarkFragment extends SelectListFragment<MusicDirectory.En @Override protected void done(Void result) { - Util.startActivityWithoutTransition(context, DownloadActivity.class); + context.openNowPlaying(); } }.execute(); } - + private void displayBookmarkInfo(final MusicDirectory.Entry entry) { Bookmark bookmark = entry.getBookmark(); - String comment = bookmark.getComment(); - if(comment == null) { - comment = ""; + List<Integer> headers = new ArrayList<>(); + List<String> details = new ArrayList<>(); + + headers.add(R.string.details_song); + details.add(entry.getTitle()); + + if(entry.getArtist() != null) { + headers.add(R.string.details_artist); + details.add(entry.getArtist()); + } + if(entry.getAlbum() != null) { + headers.add(R.string.details_album); + details.add(entry.getAlbum()); + } + + headers.add(R.string.details_position); + details.add(Util.formatDuration(bookmark.getPosition() / 1000)); + + headers.add(R.string.details_created); + details.add(Util.formatDate(bookmark.getCreated())); + + headers.add(R.string.details_updated); + details.add(Util.formatDate(bookmark.getChanged())); + + if(bookmark.getComment() != null) { + headers.add(R.string.details_comments); + details.add(bookmark.getComment()); } - String msg = context.getResources().getString(R.string.bookmark_details, - entry.getTitle(), Util.formatDuration(bookmark.getPosition() / 1000), - Util.formatDate(bookmark.getCreated()), Util.formatDate(bookmark.getChanged()), comment); - - Util.info(context, R.string.bookmark_details_title, msg, false); + Util.showDetailsDialog(context, R.string.bookmark_details_title, headers, details); } } |