diff --git a/app/src/main/assets/changelog.html b/app/src/main/assets/changelog.html index 9e01269d..30397857 100644 --- a/app/src/main/assets/changelog.html +++ b/app/src/main/assets/changelog.html @@ -30,6 +30,12 @@
  1. FIX: Playlist view wrong background color on dark theme.
  2. +
  3. FIX: Progress slider barely visible with dark theme and black accent or light theme + and white accent. +
  4. +
  5. FIX: Progress slider stops working when switching between alternative and regular + progress slider. +
  6. FIX: Removed the unneeded menu button from the artist and album list.
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 84721f57..c346d0d2 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 @@ -134,7 +134,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi TextView songCurrentProgress; TextView songTotalTime; - SeekBar seekBar; + SeekBar progressSlider; private int lastFooterColor = -1; private int lastTitleTextColor = -2; @@ -168,9 +168,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi initAppearanceVarsFromSharedPrefs(); PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this); - initProgressSliderDependentViews(); - moveSeekBarIntoPlace(); adjustTitleBoxSize(); setUpPlaybackControllerCard(); setUpMusicControllers(); @@ -265,9 +263,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi break; case PreferenceUtil.ALTERNATIVE_PROGRESS_SLIDER_NOW_PLAYING: alternativeProgressSlider = PreferenceUtil.getInstance(this).alternativeProgressSliderNowPlaying(); - initProgressSliderDependentViews(); - moveSeekBarIntoPlace(); - setTint(seekBar, getThemeColorAccent()); + setUpProgressSlider(); break; case PreferenceUtil.PLAYBACK_CONTROLLER_CARD_NOW_PLAYING: showPlaybackControllerCard = PreferenceUtil.getInstance(this).playbackControllerCardNowPlaying(); @@ -510,7 +506,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi songCurrentProgress = (TextView) findViewById(R.id.player_alternative_song_current_progress); songTotalTime = (TextView) findViewById(R.id.player_alternative_song_total_time); - seekBar = (SeekBar) findViewById(R.id.player_alternative_progress_slider); + progressSlider = (SeekBar) findViewById(R.id.player_alternative_progress_slider); } else { findViewById(R.id.player_default_progress_container).setVisibility(View.VISIBLE); findViewById(R.id.player_default_progress_slider).setVisibility(View.VISIBLE); @@ -518,17 +514,17 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi songCurrentProgress = (TextView) findViewById(R.id.player_default_song_current_progress); songTotalTime = (TextView) findViewById(R.id.player_default_song_total_time); - seekBar = (SeekBar) findViewById(R.id.player_default_progress_slider); + progressSlider = (SeekBar) findViewById(R.id.player_default_progress_slider); } } - private void moveSeekBarIntoPlace() { + private void moveProgressSliderIntoPlace() { if (!alternativeProgressSlider) { - RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) seekBar.getLayoutParams(); - seekBar.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); + RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) progressSlider.getLayoutParams(); + progressSlider.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); final int seekBarMarginLeftRight = getResources().getDimensionPixelSize(R.dimen.seek_bar_margin_left_right); - lp.setMargins(seekBarMarginLeftRight, 0, seekBarMarginLeftRight, -(seekBar.getMeasuredHeight() / 2)); - seekBar.setLayoutParams(lp); + lp.setMargins(seekBarMarginLeftRight, 0, seekBarMarginLeftRight, -(progressSlider.getMeasuredHeight() / 2)); + progressSlider.setLayoutParams(lp); } } @@ -552,24 +548,33 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi setUpPrevNext(); setUpRepeatButton(); setUpShuffleButton(); - setUpSeekBar(); + setUpProgressSlider(); } - private void setTint(@NonNull SeekBar seekBar, int color) { - ColorStateList s1 = ColorStateList.valueOf(color); + private void setUpProgressSliderTint() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - seekBar.setThumbTintList(s1); - if (!alternativeProgressSlider) seekBar.setProgressTintList(s1); + if (alternativeProgressSlider) { + progressSlider.setThumbTintList(ThemeSingleton.get().positiveColor); + } else { + final ColorStateList seekBarTint = ColorStateList.valueOf(getThemeColorAccent()); + progressSlider.setThumbTintList(seekBarTint); + progressSlider.setProgressTintList(seekBarTint); + } } else { - seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_IN); - if (!alternativeProgressSlider) - seekBar.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN); + if (alternativeProgressSlider) { + progressSlider.getThumb().setColorFilter(ThemeSingleton.get().positiveColor.getDefaultColor(), PorterDuff.Mode.SRC_IN); + } else { + progressSlider.getThumb().setColorFilter(getThemeColorAccent(), PorterDuff.Mode.SRC_IN); + progressSlider.getProgressDrawable().setColorFilter(getThemeColorAccent(), PorterDuff.Mode.SRC_IN); + } } } - private void setUpSeekBar() { - setTint(seekBar, getThemeColorAccent()); - seekBar.setOnSeekBarChangeListener(new SimpleOnSeekbarChangeListener() { + private void setUpProgressSlider() { + initProgressSliderDependentViews(); + moveProgressSliderIntoPlace(); + setUpProgressSliderTint(); + progressSlider.setOnSeekBarChangeListener(new SimpleOnSeekbarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser) { @@ -871,8 +876,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi final int totalMillis = MusicPlayerRemote.getSongDurationMillis(); final int progressMillis = MusicPlayerRemote.getSongProgressMillis(); - seekBar.setMax(totalMillis); - seekBar.setProgress(progressMillis); + progressSlider.setMax(totalMillis); + progressSlider.setProgress(progressMillis); songCurrentProgress.setText(MusicUtil.getReadableDurationString(progressMillis)); songTotalTime.setText(MusicUtil.getReadableDurationString(totalMillis));