diff --git a/app/src/main/assets/changelog.html b/app/src/main/assets/changelog.html
index 3dc1e71f..ba979cd0 100644
--- a/app/src/main/assets/changelog.html
+++ b/app/src/main/assets/changelog.html
@@ -25,6 +25,12 @@
You can view the changelog dialog again at any time from the about section.
+Version 0.9.46 beta 2
+
+
+ - FIX: Cab (contextual action bar) content not visible with light primary colors
+
+
Version 0.9.46 beta 1
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
index 655691db..c8b6d99e 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java
@@ -384,7 +384,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menuRes)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp)
- .setBackgroundColor(getPaletteColor())
+ .setBackgroundColor(ColorUtil.shiftBackgroundColorForLightText(getPaletteColor()))
.start(new MaterialCab.Callback() {
@Override
public boolean onCabCreated(MaterialCab materialCab, Menu menu) {
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
index 6d77a661..e1d092c7 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java
@@ -448,7 +448,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menuRes)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp)
- .setBackgroundColor(getPaletteColor())
+ .setBackgroundColor(ColorUtil.shiftBackgroundColorForLightText(getPaletteColor()))
.start(new MaterialCab.Callback() {
@Override
public boolean onCabCreated(MaterialCab materialCab, Menu menu) {
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 9fe32153..5bb6af19 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
@@ -541,7 +541,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menu)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp)
- .setBackgroundColor(getThemeColorPrimary())
+ .setBackgroundColor(ColorUtil.shiftBackgroundColorForLightText(getThemeColorPrimary()))
.start(callback);
return cab;
}
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
index eb6ac6cc..f209861a 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java
@@ -191,7 +191,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
cab = new MaterialCab(this, R.id.cab_stub)
.setMenu(menu)
.setCloseDrawableRes(R.drawable.ic_close_white_24dp)
- .setBackgroundColor(getThemeColorPrimary())
+ .setBackgroundColor(ColorUtil.shiftBackgroundColorForLightText(getThemeColorPrimary()))
.start(callback);
return cab;
}
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 93f660d5..08c4b9a5 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java
@@ -121,4 +121,20 @@ public class ColorUtil {
public static int getSecondaryTextColorForBackground(final Context context, @ColorInt int backgroundColor) {
return getSecondaryTextColor(context, useDarkTextColorOnBackground(backgroundColor));
}
+
+ @ColorInt
+ public static int shiftBackgroundColorForLightText(@ColorInt int backgroundColor) {
+ while (ColorUtil.useDarkTextColorOnBackground(backgroundColor)) {
+ backgroundColor = ColorUtil.shiftColorDown(backgroundColor);
+ }
+ return backgroundColor;
+ }
+
+ @ColorInt
+ public static int shiftBackgroundColorForDarkText(@ColorInt int backgroundColor) {
+ while (!ColorUtil.useDarkTextColorOnBackground(backgroundColor)) {
+ backgroundColor = ColorUtil.shiftColorUp(backgroundColor);
+ }
+ return backgroundColor;
+ }
}
diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java
index 7254dcfc..b002db32 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/ViewUtil.java
@@ -22,7 +22,6 @@ import android.view.View;
import android.view.ViewTreeObserver;
import android.view.animation.PathInterpolator;
import android.widget.CheckBox;
-import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioButton;
@@ -160,6 +159,7 @@ public class ViewUtil {
setToolbarIconColor(context, toolbar, getToolbarIconColor(context, dark));
}
+ @ColorInt
public static int getToolbarIconColor(Context context, boolean dark) {
if (dark) {
return ColorUtil.getSecondaryTextColor(context, true);