Commit feb0f4b7 authored by topjohnwu's avatar topjohnwu

Fix MagiskDialog

parent 6c8fe465
...@@ -6,10 +6,7 @@ import android.graphics.drawable.Drawable ...@@ -6,10 +6,7 @@ import android.graphics.drawable.Drawable
import android.view.ContextThemeWrapper import android.view.ContextThemeWrapper
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.*
import android.widget.PopupMenu
import android.widget.ProgressBar
import android.widget.TextView
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
...@@ -166,8 +163,8 @@ fun RecyclerView.setDividers(dividerVertical: Drawable?, dividerHorizontal: Draw ...@@ -166,8 +163,8 @@ fun RecyclerView.setDividers(dividerVertical: Drawable?, dividerHorizontal: Draw
} }
@BindingAdapter("app:icon") @BindingAdapter("app:icon")
fun MaterialButton.setIconRes(res: Int) { fun Button.setIconRes(res: Int) {
setIconResource(res) (this as MaterialButton).setIconResource(res)
} }
@BindingAdapter("strokeWidth") @BindingAdapter("strokeWidth")
......
...@@ -13,6 +13,7 @@ import android.view.WindowManager ...@@ -13,6 +13,7 @@ import android.view.WindowManager
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatDialog import androidx.appcompat.app.AppCompatDialog
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.databinding.Bindable import androidx.databinding.Bindable
...@@ -77,13 +78,9 @@ class MagiskDialog( ...@@ -77,13 +78,9 @@ class MagiskDialog(
override var callbacks: PropertyChangeRegistry? = null override var callbacks: PropertyChangeRegistry? = null
@get:Bindable @get:Bindable
var icon = 0 var icon: Drawable? = null
set(value) = set(value, field, { field = it }, BR.icon) set(value) = set(value, field, { field = it }, BR.icon)
@get:Bindable
var iconRaw: Drawable? = null
set(value) = set(value, field, { field = it }, BR.iconRaw)
@get:Bindable @get:Bindable
var title: CharSequence = "" var title: CharSequence = ""
set(value) = set(value, field, { field = it }, BR.title) set(value) = set(value, field, { field = it }, BR.title)
...@@ -185,10 +182,12 @@ class MagiskDialog( ...@@ -185,10 +182,12 @@ class MagiskDialog(
apply { data.message = message } apply { data.message = message }
fun applyIcon(@DrawableRes drawableRes: Int) = fun applyIcon(@DrawableRes drawableRes: Int) =
apply { data.icon = drawableRes } apply {
data.icon = AppCompatResources.getDrawable(context, drawableRes)
}
fun applyIcon(drawable: Drawable) = fun applyIcon(drawable: Drawable) =
apply { data.iconRaw = drawable } apply { data.icon = drawable }
fun applyButton(buttonType: ButtonType, builder: ButtonBuilder.() -> Unit) = apply { fun applyButton(buttonType: ButtonType, builder: ButtonBuilder.() -> Unit) = apply {
val button = when (buttonType) { val button = when (buttonType) {
...@@ -269,7 +268,7 @@ class MagiskDialog( ...@@ -269,7 +268,7 @@ class MagiskDialog(
fun resetTitle() = applyTitle("") fun resetTitle() = applyTitle("")
fun resetMessage() = applyMessage("") fun resetMessage() = applyMessage("")
fun resetIcon() = applyIcon(0) fun resetIcon() = apply { data.icon = null }
fun resetButtons() = apply { fun resetButtons() = apply {
ButtonType.values().forEach { ButtonType.values().forEach {
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</data> </data>
<androidx.appcompat.widget.AppCompatTextView <TextView
android:id="@android:id/text1" android:id="@android:id/text1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -28,4 +28,4 @@ ...@@ -28,4 +28,4 @@
android:textAppearance="@style/AppearanceFoundation.Body" android:textAppearance="@style/AppearanceFoundation.Body"
tools:text="@tools:sample/lorem" /> tools:text="@tools:sample/lorem" />
</layout> </layout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment