Added navigation bar color to Pre Oreo devices for better navigation bar visibility
This commit is contained in:
parent
7b1f9cc1f3
commit
edb6574c35
13 changed files with 115 additions and 46 deletions
|
@ -17,6 +17,7 @@ package code.name.monkey.retromusic.activities
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.NavDestination
|
import androidx.navigation.NavDestination
|
||||||
import code.name.monkey.appthemehelper.ThemeStore
|
import code.name.monkey.appthemehelper.ThemeStore
|
||||||
|
@ -34,7 +35,6 @@ class SettingsActivity : AbsThemeActivity(), ColorCallback, OnThemeChangedListen
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
val mSavedInstanceState = extra<Bundle>(TAG).value ?: savedInstanceState
|
val mSavedInstanceState = extra<Bundle>(TAG).value ?: savedInstanceState
|
||||||
super.onCreate(mSavedInstanceState)
|
super.onCreate(mSavedInstanceState)
|
||||||
setLightStatusBarAuto(surfaceColor())
|
|
||||||
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
binding = ActivitySettingsBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
setupToolbar()
|
setupToolbar()
|
||||||
|
|
|
@ -14,12 +14,15 @@
|
||||||
*/
|
*/
|
||||||
package code.name.monkey.retromusic.activities.base
|
package code.name.monkey.retromusic.activities.base
|
||||||
|
|
||||||
|
import android.animation.ArgbEvaluator
|
||||||
|
import android.animation.ValueAnimator
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
||||||
|
import android.view.animation.PathInterpolator
|
||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import androidx.core.animation.doOnEnd
|
import androidx.core.animation.doOnEnd
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
@ -61,9 +64,11 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.model.CategoryInfo
|
import code.name.monkey.retromusic.model.CategoryInfo
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
import code.name.monkey.retromusic.util.RetroUtil
|
import code.name.monkey.retromusic.util.RetroUtil
|
||||||
|
import code.name.monkey.retromusic.util.ViewUtil
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior.*
|
import com.google.android.material.bottomsheet.BottomSheetBehavior.*
|
||||||
import org.koin.androidx.viewmodel.ext.android.viewModel
|
import org.koin.androidx.viewmodel.ext.android.viewModel
|
||||||
|
|
||||||
|
|
||||||
abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
||||||
companion object {
|
companion object {
|
||||||
val TAG: String = AbsSlidingMusicPanelActivity::class.java.simpleName
|
val TAG: String = AbsSlidingMusicPanelActivity::class.java.simpleName
|
||||||
|
@ -82,10 +87,22 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
||||||
private val panelState: Int
|
private val panelState: Int
|
||||||
get() = bottomSheetBehavior.state
|
get() = bottomSheetBehavior.state
|
||||||
private lateinit var binding: SlidingMusicPanelLayoutBinding
|
private lateinit var binding: SlidingMusicPanelLayoutBinding
|
||||||
|
|
||||||
|
private var navigationBarColorAnimator: ValueAnimator? = null
|
||||||
|
private val argbEvaluator: ArgbEvaluator = ArgbEvaluator()
|
||||||
|
|
||||||
private val bottomSheetCallbackList = object : BottomSheetCallback() {
|
private val bottomSheetCallbackList = object : BottomSheetCallback() {
|
||||||
|
|
||||||
override fun onSlide(bottomSheet: View, slideOffset: Float) {
|
override fun onSlide(bottomSheet: View, slideOffset: Float) {
|
||||||
setMiniPlayerAlphaProgress(slideOffset)
|
setMiniPlayerAlphaProgress(slideOffset)
|
||||||
|
navigationBarColorAnimator?.cancel()
|
||||||
|
setNavigationBarColorPreOreo(
|
||||||
|
argbEvaluator.evaluate(
|
||||||
|
slideOffset,
|
||||||
|
surfaceColor(),
|
||||||
|
playerFragment!!.paletteColor
|
||||||
|
) as Int
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStateChanged(bottomSheet: View, newState: Int) {
|
override fun onStateChanged(bottomSheet: View, newState: Int) {
|
||||||
|
@ -177,9 +194,25 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
||||||
binding.playerFragmentContainer.alpha = (progress - 0.2F) / 0.2F
|
binding.playerFragmentContainer.alpha = (progress - 0.2F) / 0.2F
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun animateNavigationBarColor(color: Int) {
|
||||||
|
navigationBarColorAnimator?.cancel()
|
||||||
|
navigationBarColorAnimator = ValueAnimator
|
||||||
|
.ofArgb(window.navigationBarColor, color).apply {
|
||||||
|
duration = ViewUtil.RETRO_MUSIC_ANIM_TIME.toLong()
|
||||||
|
interpolator = PathInterpolator(0.4f, 0f, 1f, 1f)
|
||||||
|
addUpdateListener { animation: ValueAnimator ->
|
||||||
|
setNavigationBarColorPreOreo(
|
||||||
|
animation.animatedValue as Int
|
||||||
|
)
|
||||||
|
}
|
||||||
|
start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
open fun onPanelCollapsed() {
|
open fun onPanelCollapsed() {
|
||||||
setMiniPlayerAlphaProgress(0F)
|
setMiniPlayerAlphaProgress(0F)
|
||||||
// restore values
|
// restore values
|
||||||
|
animateNavigationBarColor(surfaceColor())
|
||||||
setLightStatusBarAuto(surfaceColor())
|
setLightStatusBarAuto(surfaceColor())
|
||||||
setLightNavigationAuto()
|
setLightNavigationAuto()
|
||||||
setTaskDescriptionColor(taskColor)
|
setTaskDescriptionColor(taskColor)
|
||||||
|
@ -258,12 +291,15 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
||||||
setLightNavigationBar(true)
|
setLightNavigationBar(true)
|
||||||
setLightStatusBar(isColorLight)
|
setLightStatusBar(isColorLight)
|
||||||
} else if (nowPlayingScreen == Card || nowPlayingScreen == Blur || nowPlayingScreen == BlurCard) {
|
} else if (nowPlayingScreen == Card || nowPlayingScreen == Blur || nowPlayingScreen == BlurCard) {
|
||||||
|
animateNavigationBarColor(Color.BLACK)
|
||||||
setLightStatusBar(false)
|
setLightStatusBar(false)
|
||||||
setLightNavigationBar(true)
|
setLightNavigationBar(true)
|
||||||
} else if (nowPlayingScreen == Color || nowPlayingScreen == Tiny || nowPlayingScreen == Gradient) {
|
} else if (nowPlayingScreen == Color || nowPlayingScreen == Tiny || nowPlayingScreen == Gradient) {
|
||||||
|
animateNavigationBarColor(paletteColor)
|
||||||
setLightNavigationBar(isColorLight)
|
setLightNavigationBar(isColorLight)
|
||||||
setLightStatusBar(isColorLight)
|
setLightStatusBar(isColorLight)
|
||||||
} else if (nowPlayingScreen == Full) {
|
} else if (nowPlayingScreen == Full) {
|
||||||
|
animateNavigationBarColor(paletteColor)
|
||||||
setLightNavigationBar(isColorLight)
|
setLightNavigationBar(isColorLight)
|
||||||
setLightStatusBar(false)
|
setLightStatusBar(false)
|
||||||
} else if (nowPlayingScreen == Classic) {
|
} else if (nowPlayingScreen == Classic) {
|
||||||
|
|
|
@ -14,14 +14,16 @@
|
||||||
*/
|
*/
|
||||||
package code.name.monkey.retromusic.extensions
|
package code.name.monkey.retromusic.extensions
|
||||||
|
|
||||||
|
import android.R
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
import android.view.View
|
||||||
import androidx.annotation.DimenRes
|
import androidx.annotation.DimenRes
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
import com.google.android.material.appbar.MaterialToolbar
|
||||||
|
import android.view.ViewGroup
|
||||||
|
|
||||||
fun AppCompatActivity.applyToolbar(toolbar: MaterialToolbar) {
|
fun AppCompatActivity.applyToolbar(toolbar: MaterialToolbar) {
|
||||||
//toolbar.setBackgroundColor(surfaceColor())
|
|
||||||
ToolbarContentTintHelper.colorBackButton(toolbar)
|
ToolbarContentTintHelper.colorBackButton(toolbar)
|
||||||
setSupportActionBar(toolbar)
|
setSupportActionBar(toolbar)
|
||||||
}
|
}
|
||||||
|
@ -39,3 +41,5 @@ inline fun <reified T : Any> Activity.extraNotNull(key: String, default: T? = nu
|
||||||
fun Activity.dip(@DimenRes id: Int): Int {
|
fun Activity.dip(@DimenRes id: Int): Int {
|
||||||
return resources.getDimensionPixelSize(id)
|
return resources.getDimensionPixelSize(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline val Activity.rootView: View get() = findViewById<ViewGroup>(R.id.content).getChildAt(0)
|
|
@ -6,9 +6,7 @@ import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.*
|
||||||
import androidx.core.view.WindowInsetsCompat
|
|
||||||
import androidx.core.view.WindowInsetsControllerCompat
|
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import code.name.monkey.appthemehelper.ATH
|
import code.name.monkey.appthemehelper.ATH
|
||||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||||
|
@ -46,7 +44,6 @@ fun AppCompatActivity.exitFullscreen() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun AppCompatActivity.hideStatusBar() {
|
fun AppCompatActivity.hideStatusBar() {
|
||||||
hideStatusBar(PreferenceUtil.isFullScreenMode)
|
hideStatusBar(PreferenceUtil.isFullScreenMode)
|
||||||
}
|
}
|
||||||
|
@ -54,17 +51,26 @@ fun AppCompatActivity.hideStatusBar() {
|
||||||
private fun AppCompatActivity.hideStatusBar(fullscreen: Boolean) {
|
private fun AppCompatActivity.hideStatusBar(fullscreen: Boolean) {
|
||||||
val statusBar = window.decorView.rootView.findViewById<View>(R.id.status_bar)
|
val statusBar = window.decorView.rootView.findViewById<View>(R.id.status_bar)
|
||||||
if (statusBar != null) {
|
if (statusBar != null) {
|
||||||
statusBar.visibility = if (fullscreen) View.GONE else View.VISIBLE
|
statusBar.isGone = fullscreen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun AppCompatActivity.setDrawBehindSystemBars() {
|
fun AppCompatActivity.setDrawBehindSystemBars() {
|
||||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||||
window.statusBarColor = Color.TRANSPARENT
|
if (VersionUtils.hasOreo()) {
|
||||||
window.navigationBarColor = Color.TRANSPARENT
|
|
||||||
if (VersionUtils.hasQ()) {
|
if (VersionUtils.hasQ()) {
|
||||||
window.isNavigationBarContrastEnforced = false
|
window.isNavigationBarContrastEnforced = false
|
||||||
}
|
}
|
||||||
|
setNavigationBarColor(Color.TRANSPARENT)
|
||||||
|
setStatusBarColor(Color.TRANSPARENT)
|
||||||
|
} else {
|
||||||
|
setNavigationBarColorPreOreo(surfaceColor())
|
||||||
|
if (VersionUtils.hasMarshmallow()) {
|
||||||
|
setStatusBarColor(Color.TRANSPARENT)
|
||||||
|
} else {
|
||||||
|
setStatusBarColor(surfaceColor())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun FragmentActivity.setTaskDescriptionColor(color: Int) {
|
fun FragmentActivity.setTaskDescriptionColor(color: Int) {
|
||||||
|
@ -105,6 +111,10 @@ fun AppCompatActivity.setLightNavigationBar(enabled: Boolean) {
|
||||||
ATH.setLightNavigationBar(this, enabled)
|
ATH.setLightNavigationBar(this, enabled)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.setLightNavigationBarAuto(bgColor: Int) {
|
||||||
|
setLightNavigationBar(ColorUtil.isColorLight(bgColor))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This will set the color of the view with the id "status_bar" on KitKat and Lollipop. On
|
* This will set the color of the view with the id "status_bar" on KitKat and Lollipop. On
|
||||||
|
@ -137,3 +147,31 @@ fun AppCompatActivity.setStatusBarColorAuto() {
|
||||||
setStatusBarColor(ATHUtil.resolveColor(this, R.attr.colorSurface))
|
setStatusBarColor(ATHUtil.resolveColor(this, R.attr.colorSurface))
|
||||||
setLightStatusBarAuto(ATHUtil.resolveColor(this, R.attr.colorSurface))
|
setLightStatusBarAuto(ATHUtil.resolveColor(this, R.attr.colorSurface))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.setNavigationBarColor(color: Int) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
window.navigationBarColor = color
|
||||||
|
} else {
|
||||||
|
window.navigationBarColor = ColorUtil.darkenColor(color)
|
||||||
|
}
|
||||||
|
setLightNavigationBarAuto(color)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.setNavigationBarColorPreOreo(color: Int) {
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
||||||
|
window.navigationBarColor = ColorUtil.darkenColor(color)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun AppCompatActivity.setStatusBarColorPreMarshmallow(color: Int) {
|
||||||
|
val statusBar = window.decorView.rootView.findViewById<View>(R.id.status_bar)
|
||||||
|
if (statusBar != null) {
|
||||||
|
statusBar.setBackgroundColor(
|
||||||
|
ColorUtil.darkenColor(
|
||||||
|
color
|
||||||
|
)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
window.statusBarColor = ColorUtil.darkenColor(color)
|
||||||
|
}
|
||||||
|
}
|
|
@ -66,7 +66,6 @@ val FragmentManager.currentNavigationFragment: Fragment?
|
||||||
fun AppCompatActivity.currentFragment(navHostId: Int): Fragment? {
|
fun AppCompatActivity.currentFragment(navHostId: Int): Fragment? {
|
||||||
val navHostFragment: NavHostFragment =
|
val navHostFragment: NavHostFragment =
|
||||||
supportFragmentManager.findFragmentById(navHostId) as NavHostFragment
|
supportFragmentManager.findFragmentById(navHostId) as NavHostFragment
|
||||||
navHostFragment.targetFragment
|
|
||||||
return navHostFragment.childFragmentManager.fragments.firstOrNull()
|
return navHostFragment.childFragmentManager.fragments.firstOrNull()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@ import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat
|
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat
|
||||||
import code.name.monkey.retromusic.BuildConfig
|
|
||||||
import code.name.monkey.retromusic.activities.OnThemeChangedListener
|
import code.name.monkey.retromusic.activities.OnThemeChangedListener
|
||||||
|
import code.name.monkey.retromusic.extensions.rootView
|
||||||
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
|
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
|
||||||
import code.name.monkey.retromusic.preferences.*
|
import code.name.monkey.retromusic.preferences.*
|
||||||
import code.name.monkey.retromusic.util.NavigationUtil
|
import code.name.monkey.retromusic.util.NavigationUtil
|
||||||
|
@ -77,7 +77,7 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
|
||||||
// So we get insets from decor view
|
// So we get insets from decor view
|
||||||
// https://github.com/material-components/material-components-android/issues/1310
|
// https://github.com/material-components/material-components-android/issues/1310
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
requireActivity().window.decorView
|
requireActivity().rootView
|
||||||
) { _, insets ->
|
) { _, insets ->
|
||||||
listView.updatePadding(bottom = insets.safeGetBottomInsets())
|
listView.updatePadding(bottom = insets.safeGetBottomInsets())
|
||||||
insets
|
insets
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
package code.name.monkey.retromusic.fragments.settings
|
package code.name.monkey.retromusic.fragments.settings
|
||||||
|
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.os.Build
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -29,6 +28,7 @@ import code.name.monkey.retromusic.App
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.databinding.FragmentMainSettingsBinding
|
import code.name.monkey.retromusic.databinding.FragmentMainSettingsBinding
|
||||||
import code.name.monkey.retromusic.extensions.hide
|
import code.name.monkey.retromusic.extensions.hide
|
||||||
|
import code.name.monkey.retromusic.extensions.rootView
|
||||||
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
|
import code.name.monkey.retromusic.extensions.safeGetBottomInsets
|
||||||
import code.name.monkey.retromusic.extensions.show
|
import code.name.monkey.retromusic.extensions.show
|
||||||
import code.name.monkey.retromusic.util.NavigationUtil
|
import code.name.monkey.retromusic.util.NavigationUtil
|
||||||
|
@ -90,7 +90,7 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
requireActivity().window.decorView
|
requireActivity().rootView
|
||||||
) { _, insets ->
|
) { _, insets ->
|
||||||
binding.container.updatePadding(bottom = insets.safeGetBottomInsets())
|
binding.container.updatePadding(bottom = insets.safeGetBottomInsets())
|
||||||
insets
|
insets
|
||||||
|
@ -100,6 +100,5 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
_binding = null
|
_binding = null
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(requireActivity().window.decorView, null)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
package code.name.monkey.retromusic.glide
|
package code.name.monkey.retromusic.glide
|
||||||
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.graphics.drawable.ColorDrawable
|
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import androidx.core.graphics.drawable.toDrawable
|
|
||||||
import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
|
import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
|
||||||
import code.name.monkey.appthemehelper.util.TintHelper
|
import code.name.monkey.appthemehelper.util.TintHelper
|
||||||
import code.name.monkey.retromusic.App
|
|
||||||
import code.name.monkey.retromusic.App.Companion.getContext
|
import code.name.monkey.retromusic.App.Companion.getContext
|
||||||
import code.name.monkey.retromusic.Constants.USER_BANNER
|
import code.name.monkey.retromusic.Constants.USER_BANNER
|
||||||
import code.name.monkey.retromusic.Constants.USER_PROFILE
|
import code.name.monkey.retromusic.Constants.USER_PROFILE
|
||||||
|
|
|
@ -13,33 +13,31 @@
|
||||||
*/
|
*/
|
||||||
package code.name.monkey.retromusic.lyrics
|
package code.name.monkey.retromusic.lyrics
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
|
||||||
import kotlin.jvm.JvmOverloads
|
|
||||||
import android.text.TextPaint
|
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.animation.ValueAnimator
|
import android.animation.ValueAnimator
|
||||||
import android.view.GestureDetector
|
import android.annotation.SuppressLint
|
||||||
import android.widget.Scroller
|
|
||||||
import android.view.GestureDetector.SimpleOnGestureListener
|
|
||||||
import android.view.MotionEvent
|
|
||||||
import code.name.monkey.retromusic.R
|
|
||||||
import android.text.TextUtils
|
|
||||||
import android.os.AsyncTask
|
|
||||||
import android.text.StaticLayout
|
|
||||||
import android.view.animation.LinearInterpolator
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
|
import android.graphics.drawable.Drawable
|
||||||
|
import android.os.AsyncTask
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
import android.text.Layout
|
import android.text.Layout
|
||||||
|
import android.text.StaticLayout
|
||||||
|
import android.text.TextPaint
|
||||||
|
import android.text.TextUtils
|
||||||
import android.text.format.DateUtils
|
import android.text.format.DateUtils
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
|
import android.view.GestureDetector
|
||||||
|
import android.view.GestureDetector.SimpleOnGestureListener
|
||||||
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.animation.LinearInterpolator
|
||||||
|
import android.widget.Scroller
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import code.name.monkey.retromusic.BuildConfig
|
import code.name.monkey.retromusic.BuildConfig
|
||||||
|
import code.name.monkey.retromusic.R
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.StringBuilder
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
|
||||||
|
|
|
@ -15,12 +15,7 @@
|
||||||
package code.name.monkey.retromusic.util
|
package code.name.monkey.retromusic.util
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.net.Uri
|
|
||||||
import code.name.monkey.retromusic.R
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
|
||||||
import com.google.android.play.core.review.ReviewManagerFactory
|
import com.google.android.play.core.review.ReviewManagerFactory
|
||||||
|
|
||||||
object AppRater {
|
object AppRater {
|
||||||
|
|
|
@ -26,7 +26,6 @@ import androidx.core.graphics.BlendModeCompat.SRC_IN
|
||||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||||
import com.google.android.material.progressindicator.CircularProgressIndicator
|
|
||||||
|
|
||||||
object ViewUtil {
|
object ViewUtil {
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,13 @@ object ThemeManager {
|
||||||
context: Context
|
context: Context
|
||||||
): Int = when (context.generalThemeValue) {
|
): Int = when (context.generalThemeValue) {
|
||||||
DARK -> AppCompatDelegate.MODE_NIGHT_YES
|
DARK -> AppCompatDelegate.MODE_NIGHT_YES
|
||||||
|
BLACK -> {
|
||||||
|
if (PreferenceUtil.baseTheme == "dark") {
|
||||||
|
AppCompatDelegate.MODE_NIGHT_YES
|
||||||
|
} else {
|
||||||
|
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
|
||||||
|
}
|
||||||
|
}
|
||||||
else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
|
else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ package code.name.monkey.appthemehelper
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.app.ActivityManager
|
import android.app.ActivityManager
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Color
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue