diff --git a/app/build.gradle b/app/build.gradle index 9e9b16b8..17bcda56 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,8 +23,8 @@ android { applicationId "com.kabouzeid.gramophone" minSdkVersion 16 targetSdkVersion 22 - versionCode 4 - versionName "0.9.2b" + versionCode 5 + versionName "0.9.3b" } compileOptions { diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/SongAdapter.java index 2031fd06..c54c7832 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/SongAdapter.java @@ -83,7 +83,8 @@ public class SongAdapter extends RecyclerView.Adapter { holder.songTitle.setTextColor(accentColor); holder.songInfo.setVisibility(View.GONE); holder.overflowButton.setVisibility(View.GONE); - holder.albumArt.setPadding(48, 48, 48, 48); + final int padding = activity.getResources().getDimensionPixelSize(R.dimen.default_item_margin); + holder.albumArt.setPadding(padding, padding, padding, padding); holder.albumArt.setColorFilter(accentColor); holder.albumArt.setImageResource(R.drawable.ic_shuffle_white_48dp); holder.separator.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java index 8d08507e..96db26f0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java @@ -46,7 +46,7 @@ public class PlayingNotificationHelper { R.layout.notification_playing_expanded); notification = new NotificationCompat.Builder(service) - .setSmallIcon(R.drawable.notification_icon) + .setSmallIcon(R.drawable.ic_audiotrack_white_24dp) .setContentIntent(getOpenMusicControllerPendingIntent()) .setCategory(NotificationCompat.CATEGORY_PROGRESS) .setPriority(NotificationCompat.PRIORITY_MAX) diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MediaButtonIntentReceiver.java b/app/src/main/java/com/kabouzeid/gramophone/service/MediaButtonIntentReceiver.java index 5d4bd3f4..b8fe931b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MediaButtonIntentReceiver.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MediaButtonIntentReceiver.java @@ -28,9 +28,11 @@ public class MediaButtonIntentReceiver extends BroadcastReceiver { break; case KeyEvent.KEYCODE_HEADSETHOOK: case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: - case KeyEvent.KEYCODE_MEDIA_PLAY: command = MusicService.ACTION_TOGGLE_PLAYBACK; break; + case KeyEvent.KEYCODE_MEDIA_PLAY: + command = MusicService.ACTION_RESUME; + break; case KeyEvent.KEYCODE_MEDIA_NEXT: command = MusicService.ACTION_SKIP; break; 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 284f735e..4d7d466f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -41,6 +41,7 @@ import java.util.List; public class MusicService extends Service implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener, AudioManager.OnAudioFocusChangeListener { public static final String ACTION_TOGGLE_PLAYBACK = "com.kabouzeid.gramophone.action.TOGGLE_PLAYBACK"; public static final String ACTION_PLAY = "com.kabouzeid.gramophone.action.PLAY"; + public static final String ACTION_RESUME = "com.kabouzeid.gramophone.action.RESUME"; public static final String ACTION_PAUSE = "com.kabouzeid.gramophone.action.PAUSE"; public static final String ACTION_STOP = "com.kabouzeid.gramophone.action.STOP"; public static final String ACTION_SKIP = "com.kabouzeid.gramophone.action.SKIP"; @@ -56,7 +57,7 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe private final BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - if (intent.getAction().equals(AudioManager.ACTION_AUDIO_BECOMING_NOISY)) { + if (intent.getAction().compareTo(AudioManager.ACTION_AUDIO_BECOMING_NOISY) == 0) { pausePlaying(); } } @@ -145,6 +146,9 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe case ACTION_PLAY: playSong(); break; + case ACTION_RESUME: + resumePlaying(); + break; case ACTION_REWIND: back(); break; @@ -594,17 +598,19 @@ public class MusicService extends Service implements MediaPlayer.OnPreparedListe } public void resumePlaying() { - if (requestFocus()) { - if (isPlayerPrepared) { - player.start(); - playingNotificationHelper.updatePlayState(isPlaying()); - remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING); - notifyOnMusicRemoteEventListeners(MusicRemoteEvent.RESUME); + if(!isPlaying()) { + if (requestFocus()) { + if (isPlayerPrepared) { + player.start(); + playingNotificationHelper.updatePlayState(isPlaying()); + remoteControlClient.setPlaybackState(RemoteControlClient.PLAYSTATE_PLAYING); + notifyOnMusicRemoteEventListeners(MusicRemoteEvent.RESUME); + } else { + playSong(); + } } else { - playSong(); + Toast.makeText(this, getResources().getString(R.string.audio_focus_denied), Toast.LENGTH_SHORT).show(); } - } else { - Toast.makeText(this, getResources().getString(R.string.audio_focus_denied), Toast.LENGTH_SHORT).show(); } } diff --git a/app/src/main/res/drawable-hdpi/ic_audiotrack_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_audiotrack_white_24dp.png new file mode 100644 index 00000000..07db49ef Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_audiotrack_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_audiotrack_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_audiotrack_white_24dp.png new file mode 100644 index 00000000..38820392 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_audiotrack_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_audiotrack_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_audiotrack_white_24dp.png new file mode 100644 index 00000000..30119cdb Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_audiotrack_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_audiotrack_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_audiotrack_white_24dp.png new file mode 100644 index 00000000..4590b76e Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_audiotrack_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_audiotrack_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_audiotrack_white_24dp.png new file mode 100644 index 00000000..93ad3387 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_audiotrack_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/notification_icon.png b/app/src/main/res/drawable-xxxhdpi/notification_icon.png deleted file mode 100644 index e1bce0cc..00000000 Binary files a/app/src/main/res/drawable-xxxhdpi/notification_icon.png and /dev/null differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0214d3a7..d1bcace3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -26,7 +26,7 @@ Unknown Album Untitled Song Nothing is playing - fling to open current playing + Fling to toggle the now playing screen fling to return Press once again to exit! Sorry - an error occurred while attempting to play this song @@ -63,7 +63,7 @@ Playing queue Close Save as playlist - Gramophone is a completely free material designed music player by Karim Abou Zeid.\n\nIcon by Cookicons\n\nGoogle+   Twitter + Gramophone is a completely free material designed music player by Karim Abou Zeid.\n\nGoogle+   Twitter\n\nIcon by Cookicons SearchActivity more No results