adding a Use Default button to the color picker
This commit is contained in:
parent
ff63136f5f
commit
7764ea2d7c
2 changed files with 20 additions and 9 deletions
|
@ -12,11 +12,12 @@ import android.widget.ImageView
|
|||
import androidx.appcompat.app.AlertDialog
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.DEFAULT_NAVIGATION_BAR_COLOR
|
||||
import com.simplemobiletools.commons.views.ColorPickerSquare
|
||||
import kotlinx.android.synthetic.main.dialog_color_picker.view.*
|
||||
|
||||
// forked from https://github.com/yukuku/ambilwarna
|
||||
class ColorPickerDialog(val activity: Activity, color: Int, val removeDimmedBackground: Boolean = false,
|
||||
class ColorPickerDialog(val activity: Activity, color: Int, val removeDimmedBackground: Boolean = false, val showUseDefaultButton: Boolean = false,
|
||||
val currentColorCallback: ((color: Int) -> Unit)? = null, val callback: (wasPositivePressed: Boolean, color: Int) -> Unit) {
|
||||
lateinit var viewHue: View
|
||||
lateinit var viewSatVal: ColorPickerSquare
|
||||
|
@ -120,17 +121,22 @@ class ColorPickerDialog(val activity: Activity, color: Int, val removeDimmedBack
|
|||
}
|
||||
|
||||
val textColor = activity.baseConfig.textColor
|
||||
dialog = AlertDialog.Builder(activity)
|
||||
val builder = AlertDialog.Builder(activity)
|
||||
.setPositiveButton(R.string.ok) { dialog, which -> confirmNewColor() }
|
||||
.setNegativeButton(R.string.cancel) { dialog, which -> dialogDismissed() }
|
||||
.setOnCancelListener { dialogDismissed() }
|
||||
.create().apply {
|
||||
activity.setupDialogStuff(view, this) {
|
||||
view.color_picker_arrow.applyColorFilter(textColor)
|
||||
view.color_picker_hex_arrow.applyColorFilter(textColor)
|
||||
viewCursor.applyColorFilter(textColor)
|
||||
}
|
||||
}
|
||||
|
||||
if (showUseDefaultButton) {
|
||||
builder.setNeutralButton(R.string.use_default) { dialog, which -> useDefault() }
|
||||
}
|
||||
|
||||
dialog = builder.create().apply {
|
||||
activity.setupDialogStuff(view, this) {
|
||||
view.color_picker_arrow.applyColorFilter(textColor)
|
||||
view.color_picker_hex_arrow.applyColorFilter(textColor)
|
||||
viewCursor.applyColorFilter(textColor)
|
||||
}
|
||||
}
|
||||
|
||||
view.onGlobalLayout {
|
||||
moveHuePicker()
|
||||
|
@ -151,6 +157,10 @@ class ColorPickerDialog(val activity: Activity, color: Int, val removeDimmedBack
|
|||
}
|
||||
}
|
||||
|
||||
private fun useDefault() {
|
||||
callback(true, DEFAULT_NAVIGATION_BAR_COLOR)
|
||||
}
|
||||
|
||||
private fun getHexCode(color: Int) = color.toHex().substring(1)
|
||||
|
||||
private fun updateHue() {
|
||||
|
|
|
@ -21,6 +21,7 @@ const val ALARM_SOUND_TYPE_ALARM = 1
|
|||
const val ALARM_SOUND_TYPE_NOTIFICATION = 2
|
||||
const val YOUR_ALARM_SOUNDS_MIN_ID = 1000
|
||||
const val SHOW_FAQ_BEFORE_MAIL = "show_faq_before_mail"
|
||||
const val DEFAULT_NAVIGATION_BAR_COLOR = -2
|
||||
val DEFAULT_WIDGET_BG_COLOR = Color.parseColor("#33000000")
|
||||
|
||||
const val HOUR_MINUTES = 60
|
||||
|
|
Loading…
Reference in a new issue