Dialog code refactor with extensions

This commit is contained in:
Hemanth S 2020-07-19 20:09:04 +05:30
parent f85c55cf49
commit e68258a2fd
16 changed files with 110 additions and 70 deletions

View file

@ -18,16 +18,15 @@ import android.app.Dialog
import android.content.Context
import android.content.res.ColorStateList
import android.graphics.Color
import android.widget.Button
import android.widget.CheckBox
import android.widget.SeekBar
import androidx.annotation.AttrRes
import androidx.appcompat.app.AlertDialog
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.retromusic.App
import code.name.monkey.retromusic.R
fun Int.ripAlpha(): Int {
@ -81,12 +80,6 @@ fun SeekBar.addAccentColor() {
thumbTintList = colorState
}
fun AlertDialog.colorButtons(): AlertDialog {
setOnShowListener {
getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ThemeStore.accentColor(App.getContext()))
getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(ThemeStore.accentColor(App.getContext()))
getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(ThemeStore.accentColor(App.getContext()))
}
return this
fun Button.accentTextColor() {
setTextColor(ThemeStore.accentColor(context))
}

View file

@ -0,0 +1,22 @@
package code.name.monkey.retromusic.extensions
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.R
import com.google.android.material.dialog.MaterialAlertDialogBuilder
fun DialogFragment.materialDialog(title: Int): MaterialAlertDialogBuilder {
return MaterialAlertDialogBuilder(
requireContext(),
R.style.ThemeOverlay_MaterialComponents_Dialog_Alert
).setTitle(title)
}
fun AlertDialog.colorButtons(): AlertDialog {
setOnShowListener {
getButton(AlertDialog.BUTTON_POSITIVE).accentTextColor()
getButton(AlertDialog.BUTTON_NEGATIVE).accentTextColor()
getButton(AlertDialog.BUTTON_NEUTRAL).accentTextColor()
}
return this
}