Converted all text to material widgest and font
This commit is contained in:
parent
fa2707fc0f
commit
a4d7ad90d4
174 changed files with 2000 additions and 3145 deletions
|
@ -9,12 +9,12 @@ import android.view.WindowManager
|
|||
import androidx.core.view.ViewCompat
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
|
||||
import code.name.monkey.retromusic.fragments.player.lockscreen.LockScreenPlayerControlsFragment
|
||||
import code.name.monkey.retromusic.glide.GlideApp
|
||||
import code.name.monkey.retromusic.glide.RetroGlideExtension
|
||||
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
|
||||
import code.name.monkey.retromusic.fragments.player.lockscreen.LockScreenPlayerControlsFragment
|
||||
import com.r0adkll.slidr.Slidr
|
||||
import com.r0adkll.slidr.model.SlidrConfig
|
||||
import com.r0adkll.slidr.model.SlidrListener
|
||||
|
@ -57,11 +57,13 @@ class LockScreenActivity : AbsMusicServiceActivity() {
|
|||
|
||||
}
|
||||
|
||||
override fun onSlideClosed() {
|
||||
override fun onSlideClosed(): Boolean {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
|
||||
keyguardManager.requestDismissKeyguard(this@LockScreenActivity, null)
|
||||
}
|
||||
finish()
|
||||
return true
|
||||
}
|
||||
})
|
||||
.position(SlidrPosition.BOTTOM)
|
||||
|
|
|
@ -48,11 +48,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP
|
|||
}
|
||||
|
||||
override fun createContentView(): View {
|
||||
@SuppressLint("InflateParams")
|
||||
val contentView = layoutInflater.inflate(R.layout.activity_main_drawer_layout, null)
|
||||
val drawerContent = contentView.findViewById<ViewGroup>(R.id.drawer_content_container)
|
||||
drawerContent.addView(wrapSlidingMusicPanel(R.layout.activity_main_content))
|
||||
return contentView
|
||||
return wrapSlidingMusicPanel(R.layout.activity_main_content)
|
||||
}
|
||||
|
||||
override fun onCreate(
|
||||
|
|
|
@ -3,6 +3,7 @@ package code.name.monkey.retromusic.activities;
|
|||
import android.content.Context;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.webkit.WebView;
|
||||
|
||||
|
@ -18,13 +19,14 @@ import java.io.InputStreamReader;
|
|||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.activities.base.AbsBaseActivity;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
|
||||
import static code.name.monkey.appthemehelper.util.ATHUtil.INSTANCE;
|
||||
|
||||
public class WhatsNewActivity extends AbsBaseActivity {
|
||||
WebView webView;
|
||||
Toolbar toolbar;
|
||||
|
@ -41,8 +43,8 @@ public class WhatsNewActivity extends AbsBaseActivity {
|
|||
}
|
||||
}
|
||||
|
||||
private static String colorToHex(int color) {
|
||||
return Integer.toHexString(color).substring(2);
|
||||
private static String colorToCSS(int color) {
|
||||
return String.format("rgb(%d, %d, %d)", Color.red(color), Color.green(color), Color.blue(color)); // on API 29, WebView doesn't load with hex colors
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -75,14 +77,16 @@ public class WhatsNewActivity extends AbsBaseActivity {
|
|||
in.close();
|
||||
|
||||
// Inject color values for WebView body background and links
|
||||
final String backgroundColor = colorToHex(ThemeStore.Companion.primaryColor(this));
|
||||
final String contentColor = ATHUtil.INSTANCE.isWindowBackgroundDark(this) ? "#ffffff" : "#000000";
|
||||
webView.loadData(buf.toString()
|
||||
.replace("{style-placeholder}",
|
||||
String.format("body { background-color: %s; color: %s; }", backgroundColor, contentColor))
|
||||
.replace("{link-color}", colorToHex(ThemeStore.Companion.accentColor(this)))
|
||||
.replace("{link-color-active}", colorToHex(ColorUtil.INSTANCE.lightenColor(ThemeStore.Companion.accentColor(this))))
|
||||
, "text/html", "UTF-8");
|
||||
final boolean isDark = INSTANCE.isWindowBackgroundDark(this);
|
||||
final String backgroundColor = colorToCSS(INSTANCE.resolveColor(this, R.attr.md_background_color, Color.parseColor(isDark ? "#424242" : "#ffffff")));
|
||||
final String contentColor = colorToCSS(Color.parseColor(isDark ? "#ffffff" : "#000000"));
|
||||
final String changeLog = buf.toString()
|
||||
.replace("{style-placeholder}",
|
||||
String.format("body { background-color: %s; color: %s; }", backgroundColor, contentColor))
|
||||
.replace("{link-color}", colorToCSS(ThemeStore.Companion.accentColor(this)))
|
||||
.replace("{link-color-active}", colorToCSS(ColorUtil.INSTANCE.lightenColor(ThemeStore.Companion.accentColor(this))));
|
||||
|
||||
webView.loadData(changeLog, "text/html", "UTF-8");
|
||||
} catch (Throwable e) {
|
||||
webView.loadData("<h1>Unable to load</h1><p>" + e.getLocalizedMessage() + "</p>", "text/html", "UTF-8");
|
||||
}
|
||||
|
|
|
@ -82,12 +82,6 @@ class SearchAdapter(private val activity: AppCompatActivity, private var dataSet
|
|||
init {
|
||||
itemView.setOnLongClickListener(null)
|
||||
|
||||
if (itemViewType != HEADER) {
|
||||
if (separator != null) {
|
||||
separator!!.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
if (menu != null) {
|
||||
if (itemViewType == SONG) {
|
||||
menu!!.visibility = View.VISIBLE
|
||||
|
|
|
@ -84,16 +84,6 @@ open class AlbumAdapter(protected val activity: AppCompatActivity,
|
|||
val isChecked = isChecked(album)
|
||||
holder.itemView.isActivated = isChecked
|
||||
|
||||
if (holder.adapterPosition == itemCount - 1) {
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
} else {
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
if (holder.title != null) {
|
||||
holder.title!!.text = getAlbumTitle(album)
|
||||
}
|
||||
|
|
|
@ -68,9 +68,7 @@ class ArtistAdapter(val activity: AppCompatActivity,
|
|||
if (holder.text != null) {
|
||||
holder.text!!.visibility = View.GONE
|
||||
}
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
|
||||
loadArtistImage(artist, holder)
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,6 @@ open class MediaEntryViewHolder(view: View) : RecyclerView.ViewHolder(view), Vie
|
|||
var imageContainer: ViewGroup? = null
|
||||
var imageContainerCard: CardView? = null
|
||||
var menu: View? = null
|
||||
var separator: View? = null
|
||||
var shortSeparator: View? = null
|
||||
var dragView: View? = null
|
||||
var paletteColorContainer: View? = null
|
||||
var time: TextView? = null
|
||||
|
@ -53,8 +51,6 @@ open class MediaEntryViewHolder(view: View) : RecyclerView.ViewHolder(view), Vie
|
|||
menu = view.findViewById(R.id.menu)
|
||||
dragView = view.findViewById(R.id.drag_view)
|
||||
|
||||
separator = view.findViewById(R.id.separator)
|
||||
shortSeparator = view.findViewById(R.id.short_separator)
|
||||
paletteColorContainer = view.findViewById(R.id.palette_color_container)
|
||||
|
||||
time = view.findViewById(R.id.time);
|
||||
|
|
|
@ -84,15 +84,6 @@ class PlaylistAdapter(protected val activity: AppCompatActivity, dataSet: ArrayL
|
|||
if (holder.image != null) {
|
||||
holder.image!!.setImageDrawable(getIconRes(playlist))
|
||||
}
|
||||
if (holder.adapterPosition == itemCount - 1) {
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
} else {
|
||||
if (holder.shortSeparator != null && dataSet[position] !is AbsSmartPlaylist) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getIconRes(playlist: Playlist): Drawable {
|
||||
|
|
|
@ -78,16 +78,6 @@ open class SongAdapter @JvmOverloads constructor(protected val activity: AppComp
|
|||
val isChecked = isChecked(song)
|
||||
holder.itemView.isActivated = isChecked
|
||||
|
||||
if (holder.adapterPosition == itemCount - 1) {
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
} else {
|
||||
if (holder.shortSeparator != null) {
|
||||
holder.shortSeparator!!.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
if (holder.title != null) {
|
||||
holder.title!!.text = getSongTitle(song)
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A : RecyclerVie
|
|||
* @return whether the palette option should be available for the current item layout or not
|
||||
*/
|
||||
fun canUsePalette(): Boolean {
|
||||
return itemLayoutRes == R.layout.item_color
|
||||
return itemLayoutRes == R.layout.item_card_color
|
||||
}
|
||||
|
||||
protected fun notifyLayoutResChanged(@LayoutRes res: Int) {
|
||||
|
|
|
@ -302,8 +302,6 @@ class PortraitImpl(private val fragment: ClassicPlayerFragment) : BaseImpl(fragm
|
|||
currentSongViewHolder = MediaEntryViewHolder(fragment.view?.findViewById(R.id.currentSong)!!)
|
||||
|
||||
currentSongViewHolder?.apply {
|
||||
separator?.visibility = View.VISIBLE
|
||||
shortSeparator?.visibility = View.GONE
|
||||
image?.apply {
|
||||
scaleType = ImageView.ScaleType.CENTER
|
||||
setColorFilter(ATHUtil.resolveColor(fragment.activity!!, R.attr.iconColor, ThemeStore.textColorSecondary(fragment.activity!!)), PorterDuff.Mode.SRC_IN)
|
||||
|
|
|
@ -100,13 +100,13 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() {
|
|||
}
|
||||
|
||||
override fun setDark(color: Int) {
|
||||
val colorBg = ATHUtil.resolveColor(context, android.R.attr.colorBackground)
|
||||
val colorBg = ATHUtil.resolveColor(requireContext(), android.R.attr.colorBackground)
|
||||
if (ColorUtil.isColorLight(colorBg)) {
|
||||
lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(context, true)
|
||||
lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(context, true)
|
||||
lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(requireContext(), true)
|
||||
lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(requireContext(), true)
|
||||
} else {
|
||||
lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(context, false)
|
||||
lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(context!!, false)
|
||||
lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(requireContext(), false)
|
||||
lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(requireContext(), false)
|
||||
}
|
||||
|
||||
updateRepeatState()
|
||||
|
@ -116,7 +116,7 @@ class MaterialControlsFragment : AbsPlayerControlsFragment() {
|
|||
lastPlaybackControlsColor = color
|
||||
color
|
||||
} else {
|
||||
ThemeStore.textColorSecondary(context!!)
|
||||
ThemeStore.textColorSecondary(requireContext())
|
||||
}
|
||||
|
||||
text.setTextColor(colorFinal)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package code.name.monkey.retromusic.fragments.player.material
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -9,14 +8,12 @@ import androidx.appcompat.widget.Toolbar
|
|||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.extensions.hide
|
||||
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
|
||||
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
|
||||
import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.synthetic.main.fragment_material.*
|
||||
import kotlinx.android.synthetic.main.shadow_statusbar_toolbar.*
|
||||
|
||||
/**
|
||||
* @author Hemanth S (h4h13).
|
||||
|
@ -47,15 +44,15 @@ class MaterialFragment : AbsPlayerFragment() {
|
|||
}
|
||||
|
||||
override fun toolbarIconColor(): Int {
|
||||
return ATHUtil.resolveColor(context!!, R.attr.iconColor)
|
||||
return ATHUtil.resolveColor(requireContext(), R.attr.iconColor)
|
||||
}
|
||||
|
||||
override fun onColorChanged(color: Int) {
|
||||
playbackControlsFragment.setDark(color)
|
||||
lastColor = color
|
||||
callbacks!!.onPaletteColorChanged()
|
||||
callbacks?.onPaletteColorChanged()
|
||||
|
||||
ToolbarContentTintHelper.colorizeToolbar(playerToolbar, ATHUtil.resolveColor(context!!, R.attr.iconColor), activity)
|
||||
ToolbarContentTintHelper.colorizeToolbar(playerToolbar, ATHUtil.resolveColor(requireContext(), R.attr.iconColor), requireActivity())
|
||||
}
|
||||
|
||||
override fun toggleFavorite(song: Song) {
|
||||
|
@ -90,9 +87,9 @@ class MaterialFragment : AbsPlayerFragment() {
|
|||
private fun setUpPlayerToolbar() {
|
||||
playerToolbar.apply {
|
||||
inflateMenu(R.menu.menu_player)
|
||||
setNavigationOnClickListener { activity!!.onBackPressed() }
|
||||
setNavigationOnClickListener { requireActivity().onBackPressed() }
|
||||
setOnMenuItemClickListener(this@MaterialFragment)
|
||||
ToolbarContentTintHelper.colorizeToolbar(this, ATHUtil.resolveColor(context, R.attr.iconColor), activity)
|
||||
ToolbarContentTintHelper.colorizeToolbar(this, ATHUtil.resolveColor(context, R.attr.iconColor), requireActivity())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
|
|||
aboutSettings.setOnClickListener(this)
|
||||
|
||||
buyProContainer.apply {
|
||||
if (!App.isProVersion) show() else hide()
|
||||
if (App.isProVersion) show() else hide()
|
||||
setOnClickListener {
|
||||
NavigationUtil.goToProVersion(context)
|
||||
}
|
||||
|
|
|
@ -40,12 +40,17 @@ import com.afollestad.materialdialogs.color.colorChooser
|
|||
*/
|
||||
|
||||
class ThemeSettingsFragment : AbsSettingsFragment() {
|
||||
private var materialDialog: MaterialDialog? = null
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
materialDialog?.dismiss()
|
||||
}
|
||||
|
||||
override fun invalidateSettings() {
|
||||
|
||||
val categoryColor: ATEPreferenceCategory? = findPreference("category_color")
|
||||
val primaryColorPref = ATEColorPreference(preferenceScreen.context)
|
||||
|
||||
val primaryColor = ThemeStore.primaryColor(requireContext())
|
||||
|
||||
primaryColorPref.apply {
|
||||
|
@ -57,7 +62,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() {
|
|||
setIcon(R.drawable.ic_colorize_white_24dp)
|
||||
setColor(primaryColor, ColorUtil.darkenColor(primaryColor))
|
||||
setOnPreferenceClickListener {
|
||||
MaterialDialog(requireContext(), BottomSheet()).show {
|
||||
materialDialog = MaterialDialog(requireContext(), BottomSheet()).show {
|
||||
title(R.string.primary_color)
|
||||
positiveButton(R.string.set)
|
||||
colorChooser(initialSelection = BLUE,
|
||||
|
@ -120,7 +125,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() {
|
|||
accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor))
|
||||
|
||||
accentColorPref.setOnPreferenceClickListener {
|
||||
MaterialDialog(requireContext(), BottomSheet()).show {
|
||||
materialDialog = MaterialDialog(requireContext(), BottomSheet()).show {
|
||||
title(R.string.accent_color)
|
||||
positiveButton(R.string.set)
|
||||
colorChooser(colors = ACCENT_COLORS, allowCustomArgb = true, subColors = ACCENT_COLORS_SUB) { _, color ->
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2019 Hemanth Savarala.
|
||||
*
|
||||
* Licensed under the GNU General Public License v3
|
||||
*
|
||||
* This is free software: you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
package code.name.monkey.retromusic.views;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.WindowInsets;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
public class FitSystemWindowsLayout extends FrameLayout {
|
||||
private boolean mFit = false;
|
||||
|
||||
public FitSystemWindowsLayout(final Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public FitSystemWindowsLayout(final Context context, final AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public FitSystemWindowsLayout(final Context context, final AttributeSet attrs, final int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
public boolean isFit() {
|
||||
return mFit;
|
||||
}
|
||||
|
||||
public void setFit(final boolean fit) {
|
||||
if (mFit == fit) {
|
||||
return;
|
||||
}
|
||||
|
||||
mFit = fit;
|
||||
requestApplyInsets();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
protected boolean fitSystemWindows(final Rect insets) {
|
||||
if (mFit) {
|
||||
setPadding(
|
||||
insets.left,
|
||||
insets.top,
|
||||
insets.right,
|
||||
insets.bottom
|
||||
);
|
||||
return true;
|
||||
} else {
|
||||
setPadding(0, 0, 0, 0);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT_WATCH)
|
||||
@Override
|
||||
public WindowInsets onApplyWindowInsets(final WindowInsets insets) {
|
||||
if (mFit) {
|
||||
setPadding(
|
||||
insets.getSystemWindowInsetLeft(),
|
||||
insets.getSystemWindowInsetTop(),
|
||||
insets.getSystemWindowInsetRight(),
|
||||
insets.getSystemWindowInsetBottom()
|
||||
);
|
||||
return insets.consumeSystemWindowInsets();
|
||||
} else {
|
||||
setPadding(0, 0, 0, 0);
|
||||
return insets;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -32,5 +32,6 @@ class RetroChip @JvmOverloads constructor(
|
|||
chipIcon?.setTintList(ColorStateList.valueOf(iconColor))
|
||||
setTextColor(iconColor)
|
||||
chipStrokeColor = ColorStateList.valueOf(dividerColor)
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue