improve theme utilities and fix issue with color drawable

This commit is contained in:
dkanada 2021-06-16 13:13:47 +09:00
commit 2c7113ecb9
17 changed files with 72 additions and 85 deletions

View file

@ -8,10 +8,11 @@ import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.kabouzeid.appthemehelper.util.ColorUtil;
import com.dkanada.gramophone.util.ThemeUtil;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.dkanada.gramophone.util.Util;
import com.google.android.material.color.MaterialColors;
public abstract class AbsThemeActivity extends AppCompatActivity {
private int currentTheme;
@ -41,7 +42,7 @@ public abstract class AbsThemeActivity extends AppCompatActivity {
}
public void setColor(int color) {
boolean light = ColorUtil.isColorLight(color);
boolean light = MaterialColors.isColorLight(color);
setLightStatusBar(light);
setLightNavigationBar(light);
@ -62,7 +63,7 @@ public abstract class AbsThemeActivity extends AppCompatActivity {
public void setStatusBarColor(int color) {
View statusBar = getWindow().getDecorView().getRootView().findViewById(R.id.status_bar);
int dark = ColorUtil.darkenColor(color);
int dark = ThemeUtil.getColorDark(color);
// KitKat through Lollipop will do this automatically
if (statusBar != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@ -76,7 +77,7 @@ public abstract class AbsThemeActivity extends AppCompatActivity {
}
public void setTaskDescriptionColor(int color) {
int solid = ColorUtil.stripAlpha(color);
int solid = MaterialColors.compositeARGBWithAlpha(color, 255);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setTaskDescription(new ActivityManager.TaskDescription(getTitle().toString(), null, solid));

View file

@ -17,7 +17,6 @@ import com.dkanada.gramophone.activities.base.AbsMusicContentActivity;
import com.dkanada.gramophone.databinding.ActivityAlbumDetailBinding;
import com.dkanada.gramophone.util.ThemeUtil;
import com.google.android.material.appbar.AppBarLayout;
import com.kabouzeid.appthemehelper.util.ColorUtil;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.song.AlbumSongAdapter;
import com.dkanada.gramophone.dialogs.AddToPlaylistDialog;
@ -124,13 +123,13 @@ public class AlbumDetailActivity extends AbsMusicContentActivity implements Pale
// needed to auto readjust the toolbar content color
setSupportActionBar(binding.toolbar);
int secondaryTextColor = ThemeUtil.getSecondaryTextColor(this, ColorUtil.isColorLight(color));
int secondaryTextColor = ThemeUtil.getSecondaryTextColor(this, color);
binding.artistIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.durationIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.songCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.albumYearIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.artistText.setTextColor(ThemeUtil.getPrimaryTextColor(this, ColorUtil.isColorLight(color)));
binding.artistText.setTextColor(ThemeUtil.getPrimaryTextColor(this, color));
binding.durationText.setTextColor(secondaryTextColor);
binding.songCountText.setTextColor(secondaryTextColor);
binding.albumYearText.setTextColor(secondaryTextColor);

View file

@ -20,7 +20,6 @@ import com.dkanada.gramophone.databinding.ActivityArtistDetailBinding;
import com.dkanada.gramophone.util.NavigationUtil;
import com.dkanada.gramophone.util.ThemeUtil;
import com.google.android.material.appbar.AppBarLayout;
import com.kabouzeid.appthemehelper.util.ColorUtil;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.album.HorizontalAlbumAdapter;
import com.dkanada.gramophone.dialogs.AddToPlaylistDialog;
@ -174,7 +173,7 @@ public class ArtistDetailActivity extends AbsMusicContentActivity implements Pal
// needed to auto readjust the toolbar content color
setSupportActionBar(binding.toolbar);
int secondaryTextColor = ThemeUtil.getSecondaryTextColor(this, ColorUtil.isColorLight(color));
int secondaryTextColor = ThemeUtil.getSecondaryTextColor(this, color);
binding.durationIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.songCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);
binding.albumCountIcon.setColorFilter(secondaryTextColor, PorterDuff.Mode.SRC_IN);