Merge branch 'dev' of https://github.com/h4h13/RetroMusicPlayer into dev
This commit is contained in:
commit
3c3cbf08a9
226 changed files with 4395 additions and 5422 deletions
|
@ -22,11 +22,17 @@ import android.widget.Button
|
|||
import android.widget.CheckBox
|
||||
import android.widget.SeekBar
|
||||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.fragment.app.Fragment
|
||||
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.MaterialValueHelper
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import com.google.android.material.textfield.TextInputLayout
|
||||
import io.github.muntashirakon.music.App
|
||||
import io.github.muntashirakon.music.R
|
||||
|
||||
|
@ -83,4 +89,45 @@ fun SeekBar.addAccentColor() {
|
|||
|
||||
fun Button.accentTextColor() {
|
||||
setTextColor(ThemeStore.accentColor(App.getContext()))
|
||||
}
|
||||
|
||||
fun SeekBar.applyColor(@ColorInt color: Int) {
|
||||
thumbTintList = ColorStateList.valueOf(color)
|
||||
progressTintList = ColorStateList.valueOf(color)
|
||||
progressBackgroundTintList = ColorStateList.valueOf(color)
|
||||
}
|
||||
|
||||
fun ExtendedFloatingActionButton.accentColor() {
|
||||
val color = ThemeStore.accentColor(context)
|
||||
val textColor = MaterialValueHelper.getPrimaryTextColor(context, ColorUtil.isColorLight(color))
|
||||
val colorStateList = ColorStateList.valueOf(color)
|
||||
val textColorStateList = ColorStateList.valueOf(textColor)
|
||||
backgroundTintList = colorStateList
|
||||
setTextColor(textColorStateList)
|
||||
iconTint = textColorStateList
|
||||
}
|
||||
|
||||
fun MaterialButton.applyColor(color: Int) {
|
||||
val backgroundColorStateList = ColorStateList.valueOf(color)
|
||||
val textColorColorStateList = ColorStateList.valueOf(
|
||||
MaterialValueHelper.getPrimaryTextColor(
|
||||
context,
|
||||
ColorUtil.isColorLight(color)
|
||||
)
|
||||
)
|
||||
backgroundTintList = backgroundColorStateList
|
||||
setTextColor(textColorColorStateList)
|
||||
iconTint = textColorColorStateList
|
||||
}
|
||||
|
||||
fun TextInputLayout.accentColor() {
|
||||
val accentColor = ThemeStore.accentColor(context)
|
||||
val colorState = ColorStateList.valueOf(accentColor)
|
||||
boxStrokeColor = accentColor
|
||||
defaultHintTextColor = colorState
|
||||
isHintAnimationEnabled = true
|
||||
}
|
||||
|
||||
fun TextInputEditText.accentColor() {
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package io.github.muntashirakon.music.extensions
|
||||
|
||||
import android.app.Activity
|
||||
import androidx.annotation.DimenRes
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
|
||||
fun AppCompatActivity.dimToPixel(@DimenRes dimenRes: Int): Int {
|
||||
return resources.getDimensionPixelSize(dimenRes)
|
||||
}
|
||||
|
||||
fun Activity.dipToPix(dpInFloat: Float): Float {
|
||||
val scale = resources.displayMetrics.density
|
||||
return dpInFloat * scale + 0.5f
|
||||
}
|
||||
|
||||
fun Fragment.dipToPix(dpInFloat: Float): Float {
|
||||
val scale = resources.displayMetrics.density
|
||||
return dpInFloat * scale + 0.5f
|
||||
}
|
|
@ -3,7 +3,10 @@ package io.github.muntashirakon.music.extensions
|
|||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.os.PowerManager
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.annotation.IntegerRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
|
@ -51,5 +54,23 @@ fun AppCompatActivity.currentFragment(navHostId: Int): Fragment? {
|
|||
val navHostFragment: NavHostFragment =
|
||||
supportFragmentManager.findFragmentById(navHostId) as NavHostFragment
|
||||
navHostFragment.targetFragment
|
||||
return navHostFragment?.childFragmentManager?.fragments?.first()
|
||||
return navHostFragment.childFragmentManager.fragments.first()
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
fun <T> AppCompatActivity.whichFragment(@IdRes id: Int): T {
|
||||
return supportFragmentManager.findFragmentById(id) as T
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
fun <T> Fragment.whichFragment(@IdRes id: Int): T {
|
||||
return childFragmentManager.findFragmentById(id) as T
|
||||
}
|
||||
|
||||
fun Fragment.showToast(@StringRes stringRes: Int) {
|
||||
showToast(getString(stringRes))
|
||||
}
|
||||
|
||||
fun Fragment.showToast(message: String) {
|
||||
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show()
|
||||
}
|
|
@ -4,17 +4,22 @@ import androidx.annotation.IdRes
|
|||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
|
||||
fun Fragment.navigate(@IdRes id: Int) = findNavController().navigate(id)
|
||||
|
||||
fun Fragment.navController(@IdRes id: Int): NavController {
|
||||
fun Fragment.findNavController(@IdRes id: Int): NavController {
|
||||
val fragment = childFragmentManager.findFragmentById(id) as NavHostFragment
|
||||
return fragment.navController
|
||||
}
|
||||
|
||||
fun AppCompatActivity.navController(@IdRes id: Int): NavController {
|
||||
fun Fragment.findActivityNavController(@IdRes id: Int): NavController {
|
||||
return requireActivity().findNavController(id)
|
||||
}
|
||||
|
||||
fun AppCompatActivity.findNavController(@IdRes id: Int): NavController {
|
||||
val fragment = supportFragmentManager.findFragmentById(id) as NavHostFragment
|
||||
return fragment.navController
|
||||
}
|
|
@ -14,13 +14,10 @@
|
|||
|
||||
package io.github.muntashirakon.music.extensions
|
||||
|
||||
import android.content.res.ColorStateList
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.EditText
|
||||
import android.widget.SeekBar
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.annotation.LayoutRes
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.TintHelper
|
||||
|
@ -48,9 +45,3 @@ fun EditText.appHandleColor(): EditText {
|
|||
TintHelper.colorHandles(this, ThemeStore.accentColor(context))
|
||||
return this
|
||||
}
|
||||
|
||||
fun SeekBar.applyColor(@ColorInt color: Int) {
|
||||
thumbTintList = ColorStateList.valueOf(color)
|
||||
progressTintList = ColorStateList.valueOf(color)
|
||||
progressBackgroundTintList = ColorStateList.valueOf(color)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue