mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-12-26 01:46:47 +00:00
Added overflow menu for reboot
This commit is contained in:
committed by
John Wu
parent
c35d020731
commit
1d831d65f3
@@ -136,6 +136,15 @@ class HomeViewModel(
|
||||
.subscribeK { Navigation.install().publish() }
|
||||
.add()
|
||||
|
||||
fun rebootPressed(menuItemId: Int) = when (menuItemId) {
|
||||
R.id.action_reboot_normal -> reboot()
|
||||
R.id.action_reboot_bootloader -> reboot("bootloader")
|
||||
R.id.action_reboot_download -> reboot("download")
|
||||
R.id.action_reboot_edl -> reboot("edl")
|
||||
R.id.action_reboot_recovery -> Shell.su("/system/bin/reboot recovery").submit()
|
||||
else -> Unit
|
||||
}
|
||||
|
||||
fun toggle(kof: KObservableField<Boolean>) = kof.toggle()
|
||||
|
||||
fun hideNotice() {
|
||||
|
||||
@@ -5,9 +5,11 @@ import android.animation.ValueAnimator
|
||||
import android.graphics.Paint
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Build
|
||||
import android.view.ContextThemeWrapper
|
||||
import android.view.View
|
||||
import android.view.ViewAnimationUtils
|
||||
import android.view.ViewGroup
|
||||
import android.widget.PopupMenu
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorInt
|
||||
@@ -460,4 +462,26 @@ fun TextView.setStrikeThroughEnabled(useStrikeThrough: Boolean) {
|
||||
} else {
|
||||
paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv()
|
||||
}
|
||||
}
|
||||
|
||||
interface OnPopupMenuItemClickListener {
|
||||
fun onMenuItemClick(itemId: Int)
|
||||
}
|
||||
|
||||
@BindingAdapter("popupMenu", "popupMenuOnClickListener", requireAll = false)
|
||||
fun View.setPopupMenu(popupMenu: Int, listener: OnPopupMenuItemClickListener) {
|
||||
tag = tag as? PopupMenu ?: let {
|
||||
val themeWrapper = ContextThemeWrapper(context, R.style.Foundation_PopupMenu)
|
||||
PopupMenu(themeWrapper, this)
|
||||
}
|
||||
setOnClickListener {
|
||||
(tag as PopupMenu).apply {
|
||||
menuInflater.inflate(popupMenu, menu)
|
||||
setOnMenuItemClickListener {
|
||||
listener.onMenuItemClick(it.itemId)
|
||||
true
|
||||
}
|
||||
show()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user