Merge pull request #13326 from nlebeck/taskviewmodel-mustrestartapp

Eliminate TaskViewModel's `mustRestartApp` field
This commit is contained in:
Jordan Woyak 2025-02-20 21:58:18 -06:00 committed by GitHub
commit 01099d67cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 10 deletions

View File

@ -31,6 +31,7 @@ import java.io.IOException
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream
import java.util.zip.ZipOutputStream
import kotlin.system.exitProcess
class UserDataActivity : AppCompatActivity() {
private lateinit var taskViewModel: TaskViewModel
@ -180,7 +181,10 @@ class UserDataActivity : AppCompatActivity() {
if (!isDolphinUserDataBackup(source))
return R.string.user_data_import_invalid_file
taskViewModel.mustRestartApp = true
taskViewModel.onResultDismiss = {
// Restart the app to apply the imported user data.
exitProcess(0)
}
contentResolver.openInputStream(source).use { `is` ->
ZipInputStream(`is`).use { zis ->

View File

@ -12,7 +12,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.dolphinemu.dolphinemu.R
import org.dolphinemu.dolphinemu.activities.UserDataActivity
import org.dolphinemu.dolphinemu.model.TaskViewModel
import kotlin.system.exitProcess
class UserDataImportWarningDialog : DialogFragment() {
private lateinit var taskViewModel: TaskViewModel
@ -37,12 +36,6 @@ class UserDataImportWarningDialog : DialogFragment() {
)
}
taskViewModel.onResultDismiss = {
if (taskViewModel.mustRestartApp) {
exitProcess(0)
}
}
val taskDialog = TaskDialog()
taskDialog.arguments = taskArguments
taskDialog.show(requireActivity().supportFragmentManager, TaskDialog.TAG)

View File

@ -38,7 +38,6 @@ class TaskViewModel : ViewModel() {
}
var cancelled = false
var mustRestartApp = false
private val state = MutableLiveData<State>(NotStartedState())
@ -57,7 +56,6 @@ class TaskViewModel : ViewModel() {
fun clear() {
state.value = NotStartedState()
cancelled = false
mustRestartApp = false
onResultDismiss = null
}