diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/audio/AlbumListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/audio/AlbumListFragment.java index 8229713..76096c5 100644 --- a/app/src/main/java/org/xbmc/kore/ui/sections/audio/AlbumListFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/sections/audio/AlbumListFragment.java @@ -101,7 +101,8 @@ public class AlbumListFragment extends AbstractCursorListFragment { MenuItem sortByAlbum = menu.findItem(R.id.action_sort_by_album), sortByArtist = menu.findItem(R.id.action_sort_by_artist), - sortByArtistYear = menu.findItem(R.id.action_sort_by_artist_year); + sortByArtistYear = menu.findItem(R.id.action_sort_by_artist_year), + sortByYear = menu.findItem(R.id.action_sort_by_year); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); @@ -117,6 +118,9 @@ public class AlbumListFragment extends AbstractCursorListFragment { case Settings.SORT_BY_ARTIST_YEAR: sortByArtistYear.setChecked(true); break; + case Settings.SORT_BY_YEAR: + sortByYear.setChecked(true); + break; } super.onCreateOptionsMenu(menu, inflater); } @@ -146,6 +150,13 @@ public class AlbumListFragment extends AbstractCursorListFragment { .apply(); refreshList(); break; + case R.id.action_sort_by_year: + item.setChecked(!item.isChecked()); + preferences.edit() + .putInt(Settings.KEY_PREF_ALBUMS_SORT_ORDER, Settings.SORT_BY_YEAR) + .apply(); + refreshList(); + break; default: break; } @@ -196,6 +207,8 @@ public class AlbumListFragment extends AbstractCursorListFragment { sortOrderStr = AlbumListQuery.SORT_BY_ARTIST; } else if (sortOrder == Settings.SORT_BY_ARTIST_YEAR) { sortOrderStr = AlbumListQuery.SORT_BY_ARTIST_YEAR; + } else if (sortOrder == Settings.SORT_BY_YEAR) { + sortOrderStr = AlbumListQuery.SORT_BY_YEAR; } else { sortOrderStr = AlbumListQuery.SORT_BY_ALBUM; } @@ -252,6 +265,8 @@ public class AlbumListFragment extends AbstractCursorListFragment { String SORT_BY_ARTIST = MediaDatabase.sortCommonTokens(MediaContract.Albums.DISPLAYARTIST) + " COLLATE NOCASE ASC"; String SORT_BY_ARTIST_YEAR = MediaDatabase.sortCommonTokens(MediaContract.Albums.DISPLAYARTIST) + " COLLATE NOCASE ASC, " + MediaContract.Albums.YEAR + " ASC"; + String SORT_BY_YEAR = MediaContract.Albums.YEAR + " ASC, " + + MediaDatabase.sortCommonTokens(MediaContract.Albums.TITLE) + " COLLATE NOCASE ASC"; int ID = 0; int ALBUMID = 1; diff --git a/app/src/main/res/menu/album_list.xml b/app/src/main/res/menu/album_list.xml index f9f927c..753dded 100644 --- a/app/src/main/res/menu/album_list.xml +++ b/app/src/main/res/menu/album_list.xml @@ -29,6 +29,8 @@ android:title="@string/by_artist"/> +