Move back to alarmmanager for events update, add xiaomi warning
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
package com.tommasoberlose.anotherwidget.components
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.tommasoberlose.anotherwidget.R
|
||||
import kotlinx.android.synthetic.main.bottom_sheet_dialog.view.*
|
||||
|
||||
typealias DialogCallback = () -> Unit
|
||||
|
||||
class MaterialBottomSheetDialog(
|
||||
context: Context,
|
||||
private val title: String? = "",
|
||||
private val message: String? = ""
|
||||
) : BottomSheetDialog(context, R.style.BottomSheetDialogTheme) {
|
||||
|
||||
private var positiveButtonLabel: String? = null
|
||||
private var negativeButtonLabel: String? = null
|
||||
private var positiveCallback: DialogCallback? = null
|
||||
private var negativeCallback: DialogCallback? = null
|
||||
|
||||
fun setPositiveButton(label: String? = context.getString(android.R.string.ok), callback: DialogCallback? = null): MaterialBottomSheetDialog {
|
||||
positiveButtonLabel = label
|
||||
positiveCallback = callback
|
||||
return this
|
||||
}
|
||||
|
||||
fun setNegativeButton(label: String? = context.getString(android.R.string.cancel), callback: DialogCallback? = null): MaterialBottomSheetDialog {
|
||||
negativeButtonLabel = label
|
||||
negativeCallback = callback
|
||||
return this
|
||||
}
|
||||
|
||||
override fun show() {
|
||||
val view = View.inflate(context, R.layout.bottom_sheet_dialog, null)
|
||||
|
||||
// Header
|
||||
view.message.isVisible = title != null
|
||||
view.title.text = title ?: ""
|
||||
|
||||
view.message.isVisible = message != null
|
||||
view.message.text = message ?: ""
|
||||
|
||||
view.action_positive.isVisible = positiveButtonLabel != null
|
||||
view.action_positive.text = positiveButtonLabel ?: ""
|
||||
view.action_positive.setOnClickListener {
|
||||
positiveCallback?.invoke()
|
||||
this.dismiss()
|
||||
}
|
||||
|
||||
view.action_negative.isVisible = negativeButtonLabel != null
|
||||
view.action_negative.text = negativeButtonLabel ?: ""
|
||||
view.action_negative.setOnClickListener {
|
||||
negativeCallback?.invoke()
|
||||
this.dismiss()
|
||||
}
|
||||
|
||||
setContentView(view)
|
||||
super.show()
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user