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"/>
+