diff --git a/app/src/main/assets/changelog.html b/app/src/main/assets/changelog.html index 30397857..8a2f60e7 100644 --- a/app/src/main/assets/changelog.html +++ b/app/src/main/assets/changelog.html @@ -28,12 +28,15 @@

Version 0.9.43 beta2

    -
  1. FIX: Playlist view wrong background color on dark theme. +
  2. FIX: Playlist view having wrong background color on dark theme.
  3. -
  4. FIX: Progress slider barely visible with dark theme and black accent or light theme +
  5. FIX: Bottom bar sometimes disappearing from itself after changing the theme. +
  6. +
  7. FIX: Progress slider being barely visible with dark theme and black accent or light + theme and white accent.
  8. -
  9. FIX: Progress slider stops working when switching between alternative and regular +
  10. FIX: Progress slider stopped working when switching between alternative and regular progress slider.
  11. FIX: Removed the unneeded menu button from the artist and album list. diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java index 04bf41f0..c946b24f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java @@ -161,7 +161,6 @@ public class MusicPlayerRemote { return -1; } - @Nullable public static ArrayList getPlayingQueue() { if (musicService != null) { return musicService.getPlayingQueue(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 2c35abc0..a6a48b19 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -262,8 +262,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity } private void updateNavigationDrawerHeader() { - Song song = MusicPlayerRemote.getCurrentSong(); - if (song.id != -1) { + if (!MusicPlayerRemote.getPlayingQueue().isEmpty()) { + Song song = MusicPlayerRemote.getCurrentSong(); if (navigationDrawerHeader == null) { navigationDrawerHeader = navigationView.inflateHeaderView(R.layout.navigation_drawer_header); //noinspection ConstantConditions diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java index c346d0d2..ab211e0e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java @@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.ui.activities.base; import android.animation.Animator; import android.annotation.SuppressLint; +import android.content.ComponentName; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.ColorStateList; @@ -11,6 +12,7 @@ import android.graphics.PorterDuff; import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.os.IBinder; import android.os.Message; import android.support.annotation.ColorInt; import android.support.annotation.LayoutRes; @@ -185,11 +187,6 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi onPanelSlide(slidingUpPanelLayout, 1); onPanelExpanded(slidingUpPanelLayout); } - // ensures that the fab and the mini player are hidden if the queue is empty - if (MusicPlayerRemote.getCurrentSong().id == -1) { - playPauseFab.setVisibility(View.GONE); - hideBottomBar(true); - } } }); } @@ -220,6 +217,12 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi updateCurrentSong(); } + @Override + public void onServiceConnected(ComponentName name, IBinder service) { + hideBottomBarIfQueueIsEmpty(); + super.onServiceConnected(name, service); + } + @Override public void onRepeatModeChanged() { super.onRepeatModeChanged(); @@ -433,9 +436,19 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi public void hideBottomBar(boolean hide) { if (hide) { - slidingUpPanelLayout.setPanelHeight(0); + slidingUpPanelLayout.post(new Runnable() { + @Override + public void run() { + slidingUpPanelLayout.setPanelHeight(0); + } + }); } else { - slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height)); + slidingUpPanelLayout.post(new Runnable() { + @Override + public void run() { + slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height)); + } + }); } } @@ -710,15 +723,15 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi } private void updateCurrentSong() { + hideBottomBarIfQueueIsEmpty(); getCurrentSong(); updateMiniPlayerAndHeaderText(); setUpAlbumArtAndApplyPalette(); updatePlayerMenu(); } - private void getCurrentSong() { - song = MusicPlayerRemote.getCurrentSong(); - if (song.id == -1) { + private void hideBottomBarIfQueueIsEmpty() { + if (MusicPlayerRemote.getPlayingQueue().isEmpty()) { playPauseFab.setVisibility(View.GONE); hideBottomBar(true); } else { @@ -727,6 +740,10 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi } } + private void getCurrentSong() { + song = MusicPlayerRemote.getCurrentSong(); + } + private void updateMiniPlayerAndHeaderText() { songTitle.setText(song.title); songText.setText(song.artistName);