diff --git a/app/src/main/java/code/name/monkey/retromusic/Constants.kt b/app/src/main/java/code/name/monkey/retromusic/Constants.kt index 23e9bf40c..29e165973 100644 --- a/app/src/main/java/code/name/monkey/retromusic/Constants.kt +++ b/app/src/main/java/code/name/monkey/retromusic/Constants.kt @@ -157,3 +157,4 @@ const val SNOWFALL = "snowfall" const val LYRICS_TYPE = "lyrics_type" const val PLAYBACK_SPEED = "playback_speed" const val PLAYBACK_PITCH = "playback_pitch" +const val CUSTOM_FONT = "custom_font" diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt index e9aa2a3b3..502977858 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt @@ -147,7 +147,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener { } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { - if (key == GENERAL_THEME || key == MATERIAL_YOU || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES) { + if (key == GENERAL_THEME || key == MATERIAL_YOU || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT) { postRecreate() } } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index c5e02af89..9682bfc09 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -58,6 +58,9 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable { com.google.android.material.R.style.ThemeOverlay_Material3_DynamicColors_DayNight ) } + if (PreferenceUtil.isCustomFont) { + setTheme(R.style.FontThemeOverlay) + } } override fun onWindowFocusChanged(hasFocus: Boolean) { diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt index 6463070d7..5fc056b35 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt @@ -115,8 +115,10 @@ fun SeekBar.addAccentColor() { fun Slider.accent() { if (materialYou) return - trackActiveTintList = context.accentColor().colorStateList - trackInactiveTintList = context.accentColorVariant().colorStateList + val accentColor = context.accentColor() + thumbTintList = accentColor.colorStateList + trackActiveTintList = accentColor.colorStateList + trackInactiveTintList = ColorUtil.withAlpha(accentColor, 0.1F).colorStateList } fun Button.accentTextColor() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt index c0c8207ef..05205b9c5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt @@ -121,6 +121,11 @@ class ThemeSettingsFragment : AbsSettingsFragment() { restartActivity() true } + val customFont: ATESwitchPreference? = findPreference(CUSTOM_FONT) + customFont?.setOnPreferenceChangeListener { _, _ -> + restartActivity() + true + } } override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt index 7a92d61a6..b12986c2e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt @@ -665,6 +665,9 @@ object PreferenceUtil { val materialYou get() = sharedPreferences.getBoolean(MATERIAL_YOU, VersionUtils.hasS()) + val isCustomFont + get() = sharedPreferences.getBoolean(CUSTOM_FONT, false) + val isSnowFalling get() = sharedPreferences.getBoolean(SNOWFALL, false) diff --git a/app/src/main/res/font/manrope.xml b/app/src/main/res/font/manrope.xml new file mode 100644 index 000000000..a586ee9d0 --- /dev/null +++ b/app/src/main/res/font/manrope.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/font/manrope_bold.ttf b/app/src/main/res/font/manrope_bold.ttf new file mode 100644 index 000000000..db03274e4 Binary files /dev/null and b/app/src/main/res/font/manrope_bold.ttf differ diff --git a/app/src/main/res/font/manrope_extrabold.ttf b/app/src/main/res/font/manrope_extrabold.ttf new file mode 100644 index 000000000..85012307d Binary files /dev/null and b/app/src/main/res/font/manrope_extrabold.ttf differ diff --git a/app/src/main/res/font/manrope_extralight.ttf b/app/src/main/res/font/manrope_extralight.ttf new file mode 100644 index 000000000..6ab6b5f5a Binary files /dev/null and b/app/src/main/res/font/manrope_extralight.ttf differ diff --git a/app/src/main/res/font/manrope_light.ttf b/app/src/main/res/font/manrope_light.ttf new file mode 100644 index 000000000..ae71630f5 Binary files /dev/null and b/app/src/main/res/font/manrope_light.ttf differ diff --git a/app/src/main/res/font/manrope_medium.ttf b/app/src/main/res/font/manrope_medium.ttf new file mode 100644 index 000000000..22badeb9f Binary files /dev/null and b/app/src/main/res/font/manrope_medium.ttf differ diff --git a/app/src/main/res/font/manrope_regular.ttf b/app/src/main/res/font/manrope_regular.ttf new file mode 100644 index 000000000..7cf09bf80 Binary files /dev/null and b/app/src/main/res/font/manrope_regular.ttf differ diff --git a/app/src/main/res/font/manrope_semibold.ttf b/app/src/main/res/font/manrope_semibold.ttf new file mode 100644 index 000000000..c3a676851 Binary files /dev/null and b/app/src/main/res/font/manrope_semibold.ttf differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5a1f5e2e1..b98cf67a9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ + About %s Team, social links @@ -290,6 +291,9 @@ Pinterest Follow Pinterest page for Retro Music design inspiration Plain + Pitch + Playback Settings + Playback Speed The playing notification provides actions for play/pause etc. Playing notification Playlist is empty @@ -360,6 +364,7 @@ Adaptive color Colored notification Crossfade (Beta) + Use Custom font Desaturated color Show now playing screen Extra controls @@ -526,7 +531,4 @@ You have to select at least one category. You will be forwarded to the issue tracker website. Your account data is only used for authentication. - Playback Speed - Pitch - Playback Settings diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 00f71af8f..4309c0cf7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -246,4 +246,8 @@ @null @color/transparent + diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index 4b67a2825..86b3e9c32 100755 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -30,6 +30,12 @@ android:title="@string/pref_title_md3" app:isPreferenceVisible="@bool/md3_available" /> + +