diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java index 984e2ef9..fa20292f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java @@ -58,6 +58,7 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv private AbsMusicServiceActivity activity; private int lastPlaybackControlsColor; + private int lastDisabledPlaybackControlsColor; private MusicProgressViewUpdateHelper progressViewUpdateHelper; @@ -147,7 +148,14 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv } public void setColor(int color) { - lastPlaybackControlsColor = ColorUtil.getOpaqueColor(ColorUtil.getSecondaryTextColorForBackground(getContext(), color)); + if (ColorUtil.useDarkTextColorOnBackground(color)) { + lastPlaybackControlsColor = ColorUtil.getSecondaryTextColor(getActivity(), true); + lastDisabledPlaybackControlsColor = ColorUtil.getSecondaryDisabledTextColor(getActivity(), true); + } else { + lastPlaybackControlsColor = ColorUtil.getPrimaryTextColor(getActivity(), false); + lastDisabledPlaybackControlsColor = ColorUtil.getPrimaryDisabledTextColor(getActivity(), false); + } + updateRepeatState(); updateShuffleState(); updatePrevNextColor(); @@ -235,7 +243,7 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv break; default: shuffleButton.setImageDrawable(Util.getTintedDrawable(activity, R.drawable.ic_shuffle_white_36dp, - ColorUtil.getColorWithAlpha(0.5f, lastPlaybackControlsColor))); + lastDisabledPlaybackControlsColor)); break; } } @@ -262,7 +270,7 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv break; default: repeatButton.setImageDrawable(Util.getTintedDrawable(activity, R.drawable.ic_repeat_white_36dp, - ColorUtil.getColorWithAlpha(0.5f, lastPlaybackControlsColor))); + lastDisabledPlaybackControlsColor)); break; } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java index dfa1e703..69a608a2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java @@ -104,6 +104,16 @@ public class ColorUtil { return dark ? ContextCompat.getColor(context, R.color.secondary_text_default_material_light) : ContextCompat.getColor(context, R.color.secondary_text_default_material_dark); } + @ColorInt + public static int getPrimaryDisabledTextColor(final Context context, boolean dark) { + return dark ? ContextCompat.getColor(context, R.color.primary_text_disabled_material_light) : ContextCompat.getColor(context, R.color.primary_text_disabled_material_dark); + } + + @ColorInt + public static int getSecondaryDisabledTextColor(final Context context, boolean dark) { + return dark ? ContextCompat.getColor(context, R.color.secondary_text_disabled_material_light) : ContextCompat.getColor(context, R.color.secondary_text_disabled_material_dark); + } + public static float getLuminance(@ColorInt int color) { return (Color.red(color) * 0.299f + Color.green(color) * 0.587f + Color.blue(color) * 0.114f); } @@ -122,6 +132,16 @@ public class ColorUtil { return getSecondaryTextColor(context, useDarkTextColorOnBackground(backgroundColor)); } + @ColorInt + public static int getPrimaryDisabledTextColorForBackground(final Context context, @ColorInt int backgroundColor) { + return getPrimaryDisabledTextColor(context, useDarkTextColorOnBackground(backgroundColor)); + } + + @ColorInt + public static int getSecondaryDisabledTextColorForBackground(final Context context, @ColorInt int backgroundColor) { + return getSecondaryDisabledTextColor(context, useDarkTextColorOnBackground(backgroundColor)); + } + @ColorInt public static int shiftBackgroundColorForLightText(@ColorInt int backgroundColor) { while (ColorUtil.useDarkTextColorOnBackground(backgroundColor)) {