remove all traces of theme helper library
This commit is contained in:
parent
7fbb5b85f8
commit
6daf166172
20 changed files with 62 additions and 50 deletions
|
|
@ -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<AuthenticationResult>() {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<SearchAdapter.ViewHolder
|
|||
itemView.setOnLongClickListener(null);
|
||||
|
||||
if (itemViewType != HEADER) {
|
||||
itemView.setBackgroundColor(ATHUtil.resolveColor(activity, R.attr.cardBackgroundColor));
|
||||
itemView.setBackgroundColor(ThemeUtil.getColorResource(activity, R.attr.cardBackgroundColor));
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
itemView.setElevation(activity.getResources().getDimensionPixelSize(R.dimen.card_elevation));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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});
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue