From 6daf1661727ab21d0e00c3aad838224de1faef09 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sat, 19 Jun 2021 12:18:15 +0900 Subject: [PATCH] remove all traces of theme helper library --- app/build.gradle | 1 - .../gramophone/activities/LoginActivity.java | 2 +- .../gramophone/activities/MainActivity.java | 3 +-- .../activities/base/AbsMusicPanelActivity.java | 3 ++- .../activities/base/AbsThemeActivity.java | 12 ++++++++++-- .../dkanada/gramophone/adapter/SearchAdapter.java | 4 ++-- .../adapter/song/PlaylistSongAdapter.java | 4 ++-- .../fragments/player/MiniPlayerFragment.java | 5 ++--- .../fragments/player/card/CardPlayerFragment.java | 8 +++----- .../card/CardPlayerPlaybackControlsFragment.java | 6 +----- .../fragments/player/flat/FlatPlayerFragment.java | 6 ++---- .../gramophone/glide/CustomPaletteTarget.java | 5 ++--- .../com/dkanada/gramophone/util/ImageUtil.java | 15 ++++++++------- .../dkanada/gramophone/util/NavigationUtil.java | 9 +++++++++ .../com/dkanada/gramophone/util/ThemeUtil.java | 5 +++++ .../dkanada/gramophone/views/IconImageView.java | 4 ++-- .../res/drawable-v21/rect_selector_strong.xml | 4 ++-- .../drawable-v21/rect_selector_strong_dark.xml | 4 ++-- .../main/res/drawable/rect_selector_strong.xml | 6 +++--- .../res/drawable/rect_selector_strong_dark.xml | 6 +++--- 20 files changed, 62 insertions(+), 50 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5ecd1a97..ced57e8a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -80,7 +80,6 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' - implementation 'com.github.kabouzeid:app-theme-helper:1.3.10' implementation 'com.github.kabouzeid:RecyclerView-FastScroll:1.0.16-kmod' implementation 'com.github.kabouzeid:SeekArc:1.2-kmod' implementation 'com.github.kabouzeid:AndroidSlidingUpPanel:3.3.3-kmod' diff --git a/app/src/main/java/com/dkanada/gramophone/activities/LoginActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/LoginActivity.java index 692d0b9d..51fbf6d1 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/LoginActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/LoginActivity.java @@ -80,7 +80,7 @@ public class LoginActivity extends AbsBaseActivity implements View.OnClickListen } binding.login.setEnabled(false); - binding.login.setBackgroundColor(getResources().getColor(R.color.md_grey_800)); + binding.login.setBackgroundColor(getResources().getColor(android.R.color.darker_gray)); App.getApiClient().ChangeServerLocation(server); App.getApiClient().AuthenticateUserAsync(username, password, new Response() { diff --git a/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java index 0bb4edbc..d1c774b7 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java @@ -18,7 +18,6 @@ import com.dkanada.gramophone.activities.base.AbsMusicContentActivity; import com.dkanada.gramophone.util.NavigationUtil; import com.dkanada.gramophone.util.PreferenceUtil; import com.dkanada.gramophone.util.ThemeUtil; -import com.kabouzeid.appthemehelper.ThemeStore; import com.dkanada.gramophone.databinding.ActivityMainContentBinding; import com.dkanada.gramophone.databinding.ActivityMainDrawerLayoutBinding; import com.dkanada.gramophone.databinding.NavigationDrawerHeaderBinding; @@ -132,7 +131,7 @@ public class MainActivity extends AbsMusicContentActivity { } private void setUpNavigationView() { - int normalColor = ThemeStore.textColorPrimary(this); + int normalColor = ThemeUtil.getColorResource(this, android.R.attr.textColorPrimary); int activeColor = PreferenceUtil.getInstance(this).getAccentColor(); binding.navigationView.setItemIconTintList(ThemeUtil.getColorStateList(normalColor, activeColor)); diff --git a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsMusicPanelActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsMusicPanelActivity.java index df683d4c..21c588b6 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsMusicPanelActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsMusicPanelActivity.java @@ -21,6 +21,7 @@ import com.dkanada.gramophone.fragments.player.MiniPlayerFragment; import com.dkanada.gramophone.fragments.player.NowPlayingScreen; import com.dkanada.gramophone.fragments.player.card.CardPlayerFragment; import com.dkanada.gramophone.fragments.player.flat.FlatPlayerFragment; +import com.dkanada.gramophone.util.NavigationUtil; import com.dkanada.gramophone.util.PreferenceUtil; import com.dkanada.gramophone.util.ViewUtil; import com.sothree.slidinguppanel.SlidingUpPanelLayout; @@ -98,7 +99,7 @@ public abstract class AbsMusicPanelActivity extends AbsMusicServiceActivity impl super.onResume(); if (currentNowPlayingScreen != PreferenceUtil.getInstance(this).getNowPlayingScreen()) { - recreate(); + NavigationUtil.recreateMain(this); } } diff --git a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java index a6f5f68d..805f6c68 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/base/AbsThemeActivity.java @@ -9,6 +9,7 @@ import android.view.Window; import androidx.appcompat.app.AppCompatActivity; +import com.dkanada.gramophone.util.NavigationUtil; import com.dkanada.gramophone.util.ThemeUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.util.PreferenceUtil; @@ -17,6 +18,8 @@ import com.google.android.material.color.MaterialColors; public abstract class AbsThemeActivity extends AppCompatActivity { private int currentTheme; + private int primaryColor; + private int accentColor; @Override protected void onCreate(Bundle savedInstanceState) { @@ -24,14 +27,19 @@ public abstract class AbsThemeActivity extends AppCompatActivity { setTheme(PreferenceUtil.getInstance(this).getTheme().style); setColor(PreferenceUtil.getInstance(this).getPrimaryColor()); + + primaryColor = PreferenceUtil.getInstance(this).getPrimaryColor(); + accentColor = PreferenceUtil.getInstance(this).getAccentColor(); } @Override protected void onResume() { super.onResume(); - if (PreferenceUtil.getInstance(this).getTheme().style != currentTheme) { - recreate(); + if (PreferenceUtil.getInstance(this).getTheme().style != currentTheme + || PreferenceUtil.getInstance(this).getPrimaryColor() != primaryColor + || PreferenceUtil.getInstance(this).getAccentColor() != accentColor) { + NavigationUtil.recreateMain(this); } } diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/SearchAdapter.java index ba3f66c1..7c1d8013 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/SearchAdapter.java @@ -10,7 +10,6 @@ import androidx.core.util.Pair; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; -import com.kabouzeid.appthemehelper.util.ATHUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.base.MediaEntryViewHolder; import com.dkanada.gramophone.glide.CustomGlideRequest; @@ -21,6 +20,7 @@ import com.dkanada.gramophone.model.Artist; import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.util.MusicUtil; import com.dkanada.gramophone.util.NavigationUtil; +import com.dkanada.gramophone.util.ThemeUtil; import java.util.ArrayList; import java.util.List; @@ -102,7 +102,7 @@ public class SearchAdapter extends RecyclerView.Adapter= Build.VERSION_CODES.LOLLIPOP) { itemView.setElevation(activity.getResources().getDimensionPixelSize(R.dimen.card_elevation)); } diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java index 517e8f88..d9e96286 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java @@ -9,11 +9,11 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.dkanada.gramophone.dialogs.RemoveFromPlaylistDialog; -import com.kabouzeid.appthemehelper.ThemeStore; import com.dkanada.gramophone.R; import com.dkanada.gramophone.interfaces.CabHolder; import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.util.MusicUtil; +import com.dkanada.gramophone.util.ThemeUtil; import java.util.List; @@ -41,7 +41,7 @@ public class PlaylistSongAdapter extends AbsOffsetSongAdapter { @Override public void onBindViewHolder(@NonNull final SongAdapter.ViewHolder holder, int position) { if (holder.getItemViewType() == OFFSET_ITEM) { - int textColor = ThemeStore.textColorSecondary(activity); + int textColor = ThemeUtil.getColorResource(activity, android.R.attr.textColorSecondary); if (holder.title != null) { holder.title.setText(MusicUtil.getPlaylistInfoString(activity, dataSet)); holder.title.setTextColor(textColor); diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/MiniPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/MiniPlayerFragment.java index 3f5019db..ade6718f 100644 --- a/app/src/main/java/com/dkanada/gramophone/fragments/player/MiniPlayerFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/MiniPlayerFragment.java @@ -17,13 +17,12 @@ import androidx.annotation.Nullable; import com.dkanada.gramophone.databinding.FragmentMiniPlayerBinding; import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.util.PreferenceUtil; -import com.kabouzeid.appthemehelper.ThemeStore; -import com.kabouzeid.appthemehelper.util.ATHUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.helper.MusicProgressViewUpdateHelper; import com.dkanada.gramophone.helper.PlayPauseButtonOnClickHandler; import com.dkanada.gramophone.fragments.AbsMusicServiceFragment; +import com.dkanada.gramophone.util.ThemeUtil; import com.dkanada.gramophone.views.PlayPauseDrawable; public class MiniPlayerFragment extends AbsMusicServiceFragment implements MusicProgressViewUpdateHelper.Callback { @@ -67,7 +66,7 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music miniPlayerPlayPauseDrawable = new PlayPauseDrawable(requireActivity()); binding.miniPlayerPlayPauseButton.setImageDrawable(miniPlayerPlayPauseDrawable); - binding.miniPlayerPlayPauseButton.setColorFilter(ATHUtil.resolveColor(requireActivity(), R.attr.iconColor, ThemeStore.textColorSecondary(requireActivity())), PorterDuff.Mode.SRC_IN); + binding.miniPlayerPlayPauseButton.setColorFilter(ThemeUtil.getColorResource(requireActivity(), R.attr.iconColor), PorterDuff.Mode.SRC_IN); binding.miniPlayerPlayPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler()); } diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerFragment.java index 078b3795..1759192a 100644 --- a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerFragment.java @@ -26,8 +26,6 @@ import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager; import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils; -import com.kabouzeid.appthemehelper.ThemeStore; -import com.kabouzeid.appthemehelper.util.ATHUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.base.MediaEntryViewHolder; import com.dkanada.gramophone.adapter.song.PlayingQueueAdapter; @@ -99,7 +97,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum }); // for some reason the xml attribute doesn't get applied here. - binding.playingQueueCard.setCardBackgroundColor(ATHUtil.resolveColor(getActivity(), R.attr.cardBackgroundColor)); + binding.playingQueueCard.setCardBackgroundColor(ThemeUtil.getColorResource(getActivity(), R.attr.cardBackgroundColor)); } @Override @@ -224,7 +222,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum private void updateIsFavorite() { boolean favorite = MusicPlayerRemote.getCurrentSong().favorite; int res = favorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_border_white_24dp; - int color = ThemeUtil.getColorResource(requireContext(), android.R.color.white, 255); + int color = ThemeUtil.getColorResource(requireContext(), android.R.color.white); Drawable drawable = ImageUtil.getTintedVectorDrawable(getActivity(), res, color); binding.playerToolbar.getMenu().findItem(R.id.action_toggle_favorite) @@ -377,7 +375,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum currentSongViewHolder.separator.setVisibility(View.VISIBLE); currentSongViewHolder.shortSeparator.setVisibility(View.GONE); currentSongViewHolder.image.setScaleType(ImageView.ScaleType.CENTER); - currentSongViewHolder.image.setColorFilter(ATHUtil.resolveColor(fragment.getActivity(), R.attr.iconColor, ThemeStore.textColorSecondary(fragment.getActivity())), PorterDuff.Mode.SRC_IN); + currentSongViewHolder.image.setColorFilter(ThemeUtil.getColorResource(fragment.getActivity(), R.attr.iconColor), PorterDuff.Mode.SRC_IN); currentSongViewHolder.image.setImageResource(R.drawable.ic_volume_up_white_24dp); currentSongViewHolder.itemView.setOnClickListener(v -> { if (binding.playerSlidingLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) { diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java index 10f929e5..43982422 100644 --- a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java @@ -13,7 +13,6 @@ import android.widget.SeekBar; import androidx.annotation.NonNull; import com.dkanada.gramophone.util.ThemeUtil; -import com.kabouzeid.appthemehelper.util.TintHelper; import com.dkanada.gramophone.R; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.databinding.FragmentCardPlayerPlaybackControlsBinding; @@ -111,13 +110,10 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment } private void setUpPlayPauseFab() { - final int fabColor = Color.WHITE; - TintHelper.setTintAuto(binding.playerPlayPauseFab, fabColor, true); - playerFabPlayPauseDrawable = new PlayPauseDrawable(requireActivity()); binding.playerPlayPauseFab.setImageDrawable(playerFabPlayPauseDrawable); - binding.playerPlayPauseFab.setColorFilter(ThemeUtil.getPrimaryTextColor(requireContext(), fabColor), PorterDuff.Mode.SRC_IN); + binding.playerPlayPauseFab.setColorFilter(ThemeUtil.getPrimaryTextColor(requireContext(), Color.WHITE), PorterDuff.Mode.SRC_IN); binding.playerPlayPauseFab.setOnClickListener(new PlayPauseButtonOnClickHandler()); binding.playerPlayPauseFab.post(() -> { binding.playerPlayPauseFab.setPivotX(binding.playerPlayPauseFab.getWidth() / 2f); diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerFragment.java index 4fb7ee8b..6d6d9c3f 100644 --- a/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerFragment.java @@ -24,8 +24,6 @@ import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager; import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils; -import com.kabouzeid.appthemehelper.ThemeStore; -import com.kabouzeid.appthemehelper.util.ATHUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.base.MediaEntryViewHolder; import com.dkanada.gramophone.adapter.song.PlayingQueueAdapter; @@ -224,7 +222,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum private void updateIsFavorite() { boolean favorite = MusicPlayerRemote.getCurrentSong().favorite; int res = favorite ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_favorite_border_white_24dp; - int color = ThemeUtil.getColorResource(requireContext(), android.R.color.white, 255); + int color = ThemeUtil.getColorResource(requireContext(), android.R.color.white); Drawable drawable = ImageUtil.getTintedVectorDrawable(requireActivity(), res, color); binding.playerToolbar.getMenu().findItem(R.id.action_toggle_favorite) @@ -364,7 +362,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum currentSongViewHolder.separator.setVisibility(View.VISIBLE); currentSongViewHolder.shortSeparator.setVisibility(View.GONE); currentSongViewHolder.image.setScaleType(ImageView.ScaleType.CENTER); - currentSongViewHolder.image.setColorFilter(ATHUtil.resolveColor(fragment.getActivity(), R.attr.iconColor, ThemeStore.textColorSecondary(fragment.getActivity())), PorterDuff.Mode.SRC_IN); + currentSongViewHolder.image.setColorFilter(ThemeUtil.getColorResource(fragment.getActivity(), R.attr.iconColor), PorterDuff.Mode.SRC_IN); currentSongViewHolder.image.setImageResource(R.drawable.ic_volume_up_white_24dp); currentSongViewHolder.itemView.setOnClickListener(v -> { if (binding.playerSlidingLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) { diff --git a/app/src/main/java/com/dkanada/gramophone/glide/CustomPaletteTarget.java b/app/src/main/java/com/dkanada/gramophone/glide/CustomPaletteTarget.java index 41d11007..8aa85099 100644 --- a/app/src/main/java/com/dkanada/gramophone/glide/CustomPaletteTarget.java +++ b/app/src/main/java/com/dkanada/gramophone/glide/CustomPaletteTarget.java @@ -6,7 +6,6 @@ import android.widget.ImageView; import androidx.annotation.NonNull; import com.bumptech.glide.request.transition.Transition; -import com.kabouzeid.appthemehelper.util.ATHUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.glide.palette.BitmapPaletteTarget; import com.dkanada.gramophone.glide.palette.BitmapPaletteWrapper; @@ -30,11 +29,11 @@ public abstract class CustomPaletteTarget extends BitmapPaletteTarget { } protected int getDefaultFooterColor() { - return ATHUtil.resolveColor(getView().getContext(), R.attr.defaultFooterColor); + return ThemeUtil.getColorResource(getView().getContext(), R.attr.defaultFooterColor); } protected int getAlbumArtistFooterColor() { - return ATHUtil.resolveColor(getView().getContext(), R.attr.cardBackgroundColor); + return ThemeUtil.getColorResource(getView().getContext(), R.attr.cardBackgroundColor); } public abstract void onColorReady(int color); diff --git a/app/src/main/java/com/dkanada/gramophone/util/ImageUtil.java b/app/src/main/java/com/dkanada/gramophone/util/ImageUtil.java index b3b33aba..efa9509c 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/ImageUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/ImageUtil.java @@ -6,6 +6,7 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; +import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import androidx.annotation.AttrRes; @@ -13,10 +14,9 @@ import androidx.annotation.ColorInt; import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.content.res.ResourcesCompat; -import com.kabouzeid.appthemehelper.util.TintHelper; - import java.io.InputStream; public class ImageUtil { @@ -90,12 +90,13 @@ public class ImageUtil { return ResourcesCompat.getDrawable(res, resId, theme); } - public static Drawable getTintedVectorDrawable(@NonNull Resources res, @DrawableRes int resId, @Nullable Resources.Theme theme, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(res, resId, theme), color); - } - public static Drawable getTintedVectorDrawable(@NonNull Context context, @DrawableRes int resId, @ColorInt int color) { - return TintHelper.createTintedDrawable(getVectorDrawable(context.getResources(), resId, context.getTheme()), color); + Drawable drawable = getVectorDrawable(context.getResources(), resId, context.getTheme()); + + DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN); + DrawableCompat.setTint(drawable, color); + + return drawable; } public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int resId) { diff --git a/app/src/main/java/com/dkanada/gramophone/util/NavigationUtil.java b/app/src/main/java/com/dkanada/gramophone/util/NavigationUtil.java index 56ac70e1..269dc8e6 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/NavigationUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/NavigationUtil.java @@ -45,6 +45,15 @@ public class NavigationUtil { context.startActivity(intent); } + // TODO investigate why the normal recreate method wont work + // initial recreate is fine but subsequent runs will incorrectly apply the light theme on main + public static void recreateMain(Activity activity) { + NavigationUtil.startMain(activity); + + activity.overridePendingTransition(0, android.R.anim.fade_out); + activity.finish(); + } + public static void startLogin(Context context) { final Intent intent = new Intent(context, LoginActivity.class); diff --git a/app/src/main/java/com/dkanada/gramophone/util/ThemeUtil.java b/app/src/main/java/com/dkanada/gramophone/util/ThemeUtil.java index e837a9a3..4b1fe363 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/ThemeUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/ThemeUtil.java @@ -78,6 +78,11 @@ public class ThemeUtil { return getSecondaryTextColor(context, MaterialColors.isColorLight(color)); } + @ColorInt + public static int getColorResource(Context context, int resource) { + return getColorResource(context, resource, 255); + } + @ColorInt public static int getColorResource(Context context, int resource, int alpha) { TypedArray array = context.obtainStyledAttributes(new int[]{resource}); diff --git a/app/src/main/java/com/dkanada/gramophone/views/IconImageView.java b/app/src/main/java/com/dkanada/gramophone/views/IconImageView.java index 0ef369f9..0687fa57 100644 --- a/app/src/main/java/com/dkanada/gramophone/views/IconImageView.java +++ b/app/src/main/java/com/dkanada/gramophone/views/IconImageView.java @@ -6,7 +6,7 @@ import android.util.AttributeSet; import androidx.appcompat.widget.AppCompatImageView; -import com.kabouzeid.appthemehelper.util.ATHUtil; +import com.dkanada.gramophone.util.ThemeUtil; import com.dkanada.gramophone.R; public class IconImageView extends AppCompatImageView { @@ -27,6 +27,6 @@ public class IconImageView extends AppCompatImageView { private void init(Context context) { if (context == null) return; - setColorFilter(ATHUtil.resolveColor(context, R.attr.iconColor), PorterDuff.Mode.SRC_IN); + setColorFilter(ThemeUtil.getColorResource(context, R.attr.iconColor), PorterDuff.Mode.SRC_IN); } } diff --git a/app/src/main/res/drawable-v21/rect_selector_strong.xml b/app/src/main/res/drawable-v21/rect_selector_strong.xml index 5069c6b2..331b69e7 100644 --- a/app/src/main/res/drawable-v21/rect_selector_strong.xml +++ b/app/src/main/res/drawable-v21/rect_selector_strong.xml @@ -1,5 +1,5 @@ + android:color="@color/color_text_secondary_light"> diff --git a/app/src/main/res/drawable-v21/rect_selector_strong_dark.xml b/app/src/main/res/drawable-v21/rect_selector_strong_dark.xml index b67f4645..249ad49d 100644 --- a/app/src/main/res/drawable-v21/rect_selector_strong_dark.xml +++ b/app/src/main/res/drawable-v21/rect_selector_strong_dark.xml @@ -1,5 +1,5 @@ + android:color="@color/color_text_secondary_dark"> diff --git a/app/src/main/res/drawable/rect_selector_strong.xml b/app/src/main/res/drawable/rect_selector_strong.xml index bdc06ea6..54fe1972 100644 --- a/app/src/main/res/drawable/rect_selector_strong.xml +++ b/app/src/main/res/drawable/rect_selector_strong.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/app/src/main/res/drawable/rect_selector_strong_dark.xml b/app/src/main/res/drawable/rect_selector_strong_dark.xml index 08afc2f9..f6db8d87 100644 --- a/app/src/main/res/drawable/rect_selector_strong_dark.xml +++ b/app/src/main/res/drawable/rect_selector_strong_dark.xml @@ -1,9 +1,9 @@ - - - + + +