mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-20 08:08:29 +00:00
Correctly get displayName of live uri
This commit is contained in:
parent
1cd595a598
commit
f29cc26103
@ -4,19 +4,19 @@ import android.net.Uri
|
|||||||
import com.topjohnwu.magisk.MainDirections
|
import com.topjohnwu.magisk.MainDirections
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.core.Const
|
import com.topjohnwu.magisk.core.Const
|
||||||
import com.topjohnwu.magisk.core.utils.MediaStoreUtils.displayName
|
|
||||||
import com.topjohnwu.magisk.events.DialogBuilder
|
import com.topjohnwu.magisk.events.DialogBuilder
|
||||||
import com.topjohnwu.magisk.ui.module.ModuleViewModel
|
import com.topjohnwu.magisk.ui.module.ModuleViewModel
|
||||||
import com.topjohnwu.magisk.view.MagiskDialog
|
import com.topjohnwu.magisk.view.MagiskDialog
|
||||||
|
|
||||||
class LocalModuleInstallDialog(
|
class LocalModuleInstallDialog(
|
||||||
private val viewModel: ModuleViewModel,
|
private val viewModel: ModuleViewModel,
|
||||||
private val uri: Uri
|
private val uri: Uri,
|
||||||
|
private val displayName: String
|
||||||
) : DialogBuilder {
|
) : DialogBuilder {
|
||||||
override fun build(dialog: MagiskDialog) {
|
override fun build(dialog: MagiskDialog) {
|
||||||
dialog.apply {
|
dialog.apply {
|
||||||
setTitle(R.string.confirm_install_title)
|
setTitle(R.string.confirm_install_title)
|
||||||
setMessage(context.getString(R.string.confirm_install, uri.displayName))
|
setMessage(context.getString(R.string.confirm_install, displayName))
|
||||||
setButton(MagiskDialog.ButtonType.POSITIVE) {
|
setButton(MagiskDialog.ButtonType.POSITIVE) {
|
||||||
text = android.R.string.ok
|
text = android.R.string.ok
|
||||||
onClick {
|
onClick {
|
||||||
|
@ -5,6 +5,7 @@ import android.view.View
|
|||||||
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.utils.MediaStoreUtils.displayName
|
||||||
import com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
|
import com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
|
||||||
import rikka.recyclerview.addEdgeSpacing
|
import rikka.recyclerview.addEdgeSpacing
|
||||||
import rikka.recyclerview.addInvalidateItemDecorationsObserver
|
import rikka.recyclerview.addInvalidateItemDecorationsObserver
|
||||||
@ -21,7 +22,8 @@ class ModuleFragment : BaseFragment<FragmentModuleMd2Binding>() {
|
|||||||
activity?.title = resources.getString(R.string.modules)
|
activity?.title = resources.getString(R.string.modules)
|
||||||
viewModel.data.observe(this) {
|
viewModel.data.observe(this) {
|
||||||
it ?: return@observe
|
it ?: return@observe
|
||||||
viewModel.requestInstallLocalModule(it)
|
val displayName = runCatching { it.displayName }.getOrNull() ?: return@observe
|
||||||
|
viewModel.requestInstallLocalModule(it, displayName)
|
||||||
viewModel.data.value = null
|
viewModel.data.value = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,8 +84,8 @@ class ModuleViewModel : AsyncLoadViewModel() {
|
|||||||
GetContentEvent("application/zip", UriCallback()).publish()
|
GetContentEvent("application/zip", UriCallback()).publish()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun requestInstallLocalModule(uri: Uri) {
|
fun requestInstallLocalModule(uri: Uri, displayName: String) {
|
||||||
LocalModuleInstallDialog(this, uri).show()
|
LocalModuleInstallDialog(this, uri, displayName).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
|
Loading…
x
Reference in New Issue
Block a user