diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/DataBindingAdapters.kt b/app/src/main/java/com/topjohnwu/magisk/utils/DataBindingAdapters.kt
index 3961ef098..dd68ba1f4 100644
--- a/app/src/main/java/com/topjohnwu/magisk/utils/DataBindingAdapters.kt
+++ b/app/src/main/java/com/topjohnwu/magisk/utils/DataBindingAdapters.kt
@@ -6,10 +6,7 @@ import android.graphics.drawable.Drawable
import android.view.ContextThemeWrapper
import android.view.View
import android.view.ViewGroup
-import android.widget.ImageView
-import android.widget.PopupMenu
-import android.widget.ProgressBar
-import android.widget.TextView
+import android.widget.*
import androidx.annotation.DrawableRes
import androidx.appcompat.widget.Toolbar
import androidx.core.view.updateLayoutParams
@@ -166,8 +163,8 @@ fun RecyclerView.setDividers(dividerVertical: Drawable?, dividerHorizontal: Draw
}
@BindingAdapter("app:icon")
-fun MaterialButton.setIconRes(res: Int) {
- setIconResource(res)
+fun Button.setIconRes(res: Int) {
+ (this as MaterialButton).setIconResource(res)
}
@BindingAdapter("strokeWidth")
diff --git a/app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt b/app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt
index 5bc3fd3e0..6f96c7832 100644
--- a/app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt
+++ b/app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt
@@ -13,6 +13,7 @@ import android.view.WindowManager
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatDialog
+import androidx.appcompat.content.res.AppCompatResources
import androidx.core.view.ViewCompat
import androidx.core.view.updatePadding
import androidx.databinding.Bindable
@@ -77,13 +78,9 @@ class MagiskDialog(
override var callbacks: PropertyChangeRegistry? = null
@get:Bindable
- var icon = 0
+ var icon: Drawable? = null
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
var title: CharSequence = ""
set(value) = set(value, field, { field = it }, BR.title)
@@ -185,10 +182,12 @@ class MagiskDialog(
apply { data.message = message }
fun applyIcon(@DrawableRes drawableRes: Int) =
- apply { data.icon = drawableRes }
+ apply {
+ data.icon = AppCompatResources.getDrawable(context, drawableRes)
+ }
fun applyIcon(drawable: Drawable) =
- apply { data.iconRaw = drawable }
+ apply { data.icon = drawable }
fun applyButton(buttonType: ButtonType, builder: ButtonBuilder.() -> Unit) = apply {
val button = when (buttonType) {
@@ -269,7 +268,7 @@ class MagiskDialog(
fun resetTitle() = applyTitle("")
fun resetMessage() = applyMessage("")
- fun resetIcon() = applyIcon(0)
+ fun resetIcon() = apply { data.icon = null }
fun resetButtons() = apply {
ButtonType.values().forEach {
diff --git a/app/src/main/res/layout/dialog_magisk_base.xml b/app/src/main/res/layout/dialog_magisk_base.xml
index 50c25c874..6a6bf682f 100644
--- a/app/src/main/res/layout/dialog_magisk_base.xml
+++ b/app/src/main/res/layout/dialog_magisk_base.xml
@@ -52,35 +52,21 @@
android:orientation="vertical"
app:layout_constraintGuide_end="16dp" />
-
+ app:layout_constraintTop_toTopOf="parent"
+ tools:src="@drawable/ic_delete_md2" />
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+ app:layout_constraintStart_toStartOf="parent"
+ android:gravity="bottom|center_horizontal"
+ android:layoutDirection="locale"
+ android:orientation="horizontal"
+ android:paddingStart="12dp"
+ android:paddingTop="4dp"
+ android:paddingEnd="12dp"
+ android:paddingBottom="4dp">
-
+ android:layout_gravity="center_horizontal"
+ android:filterTouchesWhenObscured="true"
+ android:onClick="@{() -> data.buttonIDGAF.clicked()}"
+ android:text="@{data.buttonIDGAF.title}"
+ app:icon="@{data.buttonIDGAF.icon}"
+ tools:icon="@drawable/ic_bug_md2"
+ tools:text="Button 1" />
-
+
-
+
-
+
-
+
-
-
-
-
-
+
diff --git a/app/src/main/res/layout/item_list_single_line.xml b/app/src/main/res/layout/item_list_single_line.xml
index e0f12d569..da8b3c6cd 100644
--- a/app/src/main/res/layout/item_list_single_line.xml
+++ b/app/src/main/res/layout/item_list_single_line.xml
@@ -14,7 +14,7 @@
-
-
\ No newline at end of file
+