mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-22 07:57:39 +00:00
Automatically close action fragment when action exits successfully
This commit is contained in:
parent
fbebb6ac10
commit
60894e458f
@ -8,11 +8,13 @@ import android.view.Menu
|
|||||||
import android.view.MenuInflater
|
import android.view.MenuInflater
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.core.view.MenuProvider
|
import androidx.core.view.MenuProvider
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.arch.BaseFragment
|
import com.topjohnwu.magisk.arch.BaseFragment
|
||||||
import com.topjohnwu.magisk.arch.viewModel
|
import com.topjohnwu.magisk.arch.viewModel
|
||||||
|
import com.topjohnwu.magisk.core.ktx.toast
|
||||||
import com.topjohnwu.magisk.databinding.FragmentActionMd2Binding
|
import com.topjohnwu.magisk.databinding.FragmentActionMd2Binding
|
||||||
import com.topjohnwu.magisk.ui.flash.FlashViewModel
|
import com.topjohnwu.magisk.ui.flash.FlashViewModel
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
@ -46,11 +48,27 @@ class ActionFragment : BaseFragment<FragmentActionMd2Binding>(), MenuProvider {
|
|||||||
ActionViewModel.State.FAILED -> CoreR.string.failure
|
ActionViewModel.State.FAILED -> CoreR.string.failure
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (it != ActionViewModel.State.RUNNING) {
|
when (it) {
|
||||||
binding.closeBtn.apply {
|
ActionViewModel.State.SUCCESS -> {
|
||||||
if (!this.isVisible) this.show()
|
activity?.apply {
|
||||||
if (!this.isFocused) this.requestFocus()
|
toast(
|
||||||
|
getString(
|
||||||
|
com.topjohnwu.magisk.core.R.string.done_action,
|
||||||
|
this@ActionFragment.viewModel.args.name
|
||||||
|
), Toast.LENGTH_LONG
|
||||||
|
)
|
||||||
|
onBackPressed()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ActionViewModel.State.FAILED -> {
|
||||||
|
binding.closeBtn.apply {
|
||||||
|
if (!this.isVisible) this.show()
|
||||||
|
if (!this.isFocused) this.requestFocus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,7 +108,7 @@ class ActionFragment : BaseFragment<FragmentActionMd2Binding>(), MenuProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onBackPressed(): Boolean {
|
override fun onBackPressed(): Boolean {
|
||||||
if (!binding.closeBtn.isVisible) return true
|
if (viewModel.state.value == ActionViewModel.State.RUNNING) return true
|
||||||
return super.onBackPressed()
|
return super.onBackPressed()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,8 +215,9 @@
|
|||||||
<string name="close">Close</string>
|
<string name="close">Close</string>
|
||||||
<string name="release_notes">Release notes</string>
|
<string name="release_notes">Release notes</string>
|
||||||
<string name="flashing">Flashing…</string>
|
<string name="flashing">Flashing…</string>
|
||||||
<string name="running">Running...</string>
|
<string name="running">Running…</string>
|
||||||
<string name="done">Done!</string>
|
<string name="done">Done!</string>
|
||||||
|
<string name="done_action">Done running action of %1$s</string>
|
||||||
<string name="failure">Failed!</string>
|
<string name="failure">Failed!</string>
|
||||||
<string name="hide_app_title">Hiding the Magisk app…</string>
|
<string name="hide_app_title">Hiding the Magisk app…</string>
|
||||||
<string name="open_link_failed_toast">No app found to open the link</string>
|
<string name="open_link_failed_toast">No app found to open the link</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user