diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java index 2122151d..b0d0675e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -447,7 +447,7 @@ public class MusicService extends Service { public int getNextPosition(boolean force) { int position = getPosition() + 1; - switch (repeatMode) { + switch (getRepeatMode()) { case REPEAT_MODE_ALL: if (isLastTrack()) { position = 0; @@ -459,7 +459,7 @@ public class MusicService extends Service { position = 0; } } else { - position = getPosition(); + position -= 1; } break; default: @@ -658,11 +658,11 @@ public class MusicService extends Service { playerHandler.removeMessages(FADE_DOWN_AND_PAUSE); playerHandler.sendEmptyMessage(FADE_UP_AND_RESUME); } else { + playImpl(); try { player.setVolume(1f); } catch (IllegalStateException ignored) { } - playImpl(); } } @@ -923,13 +923,23 @@ public class MusicService extends Service { break; case TRACK_WENT_TO_NEXT: - service.setPosition(service.nextPosition); - service.prepareNext(); - service.notifyChange(META_CHANGED); + if (service.getRepeatMode() == REPEAT_MODE_NONE && service.isLastTrack()) { + service.pause(true); + service.seek(0); + } else { + service.setPosition(service.nextPosition); + service.prepareNext(); + service.notifyChange(META_CHANGED); + } break; case TRACK_ENDED: - service.playNextSong(false); + if (service.getRepeatMode() == REPEAT_MODE_NONE && service.isLastTrack()) { + service.notifyChange(PLAYSTATE_CHANGED); + service.seek(0); + } else { + service.playNextSong(false); + } break; case RELEASE_WAKELOCK: diff --git a/app/src/main/res/layout/item_grid_artist_album.xml b/app/src/main/res/layout/item_grid_artist_album.xml index c2fdcd68..aee20767 100644 --- a/app/src/main/res/layout/item_grid_artist_album.xml +++ b/app/src/main/res/layout/item_grid_artist_album.xml @@ -20,7 +20,7 @@ android:layout_height="104dp" android:scaleType="centerCrop" android:transitionName="@string/transition_album_cover" - tools:ignore="UnusedAttribute" /> + tools:ignore="ContentDescription,UnusedAttribute" /> @@ -13,9 +11,10 @@ android:layout_height="match_parent" android:descendantFocusability="blocksDescendants" android:orientation="horizontal" + android:paddingEnd="0dp" android:paddingLeft="16dp" - android:paddingStart="16dp" - tools:ignore="RtlSymmetry"> + android:paddingRight="0dp" + android:paddingStart="16dp"> diff --git a/app/src/main/res/layout/item_list_artist_song.xml b/app/src/main/res/layout/item_list_artist_song.xml index 4f7a5b97..2fd59587 100644 --- a/app/src/main/res/layout/item_list_artist_song.xml +++ b/app/src/main/res/layout/item_list_artist_song.xml @@ -3,8 +3,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="72dp" - android:background="?card_color" - android:elevation="2dp" android:foreground="?rect_selector" tools:ignore="UnusedAttribute"> @@ -13,7 +11,9 @@ android:layout_height="match_parent" android:descendantFocusability="blocksDescendants" android:orientation="horizontal" + android:paddingEnd="0dp" android:paddingLeft="16dp" + android:paddingRight="0dp" android:paddingStart="16dp"> @@ -31,6 +29,7 @@ + android:layout_gravity="center_vertical" + tools:ignore="ContentDescription" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_list_smart_playlist.xml b/app/src/main/res/layout/item_list_smart_playlist.xml index 8edf90c2..d6c74398 100644 --- a/app/src/main/res/layout/item_list_smart_playlist.xml +++ b/app/src/main/res/layout/item_list_smart_playlist.xml @@ -12,7 +12,9 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" + android:paddingEnd="0dp" android:paddingLeft="16dp" + android:paddingRight="0dp" android:paddingStart="16dp"> @@ -13,7 +11,9 @@ android:layout_height="match_parent" android:descendantFocusability="blocksDescendants" android:orientation="horizontal" + android:paddingEnd="0dp" android:paddingLeft="16dp" + android:paddingRight="0dp" android:paddingStart="16dp">