|
@@ -5,6 +5,9 @@ package org.yuzu.yuzu_emu.fragments
|
|
|
|
|
|
|
|
import android.app.Dialog
|
|
import android.app.Dialog
|
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
|
|
+import android.view.LayoutInflater
|
|
|
|
|
+import android.view.View
|
|
|
|
|
+import android.view.ViewGroup
|
|
|
import android.widget.Toast
|
|
import android.widget.Toast
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
import androidx.fragment.app.DialogFragment
|
|
import androidx.fragment.app.DialogFragment
|
|
@@ -21,22 +24,40 @@ import org.yuzu.yuzu_emu.model.TaskViewModel
|
|
|
class IndeterminateProgressDialogFragment : DialogFragment() {
|
|
class IndeterminateProgressDialogFragment : DialogFragment() {
|
|
|
private val taskViewModel: TaskViewModel by activityViewModels()
|
|
private val taskViewModel: TaskViewModel by activityViewModels()
|
|
|
|
|
|
|
|
|
|
+ private lateinit var binding: DialogProgressBarBinding
|
|
|
|
|
+
|
|
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
|
|
val titleId = requireArguments().getInt(TITLE)
|
|
val titleId = requireArguments().getInt(TITLE)
|
|
|
|
|
|
|
|
- val progressBinding = DialogProgressBarBinding.inflate(layoutInflater)
|
|
|
|
|
- progressBinding.progressBar.isIndeterminate = true
|
|
|
|
|
|
|
+ binding = DialogProgressBarBinding.inflate(layoutInflater)
|
|
|
|
|
+ binding.progressBar.isIndeterminate = true
|
|
|
val dialog = MaterialAlertDialogBuilder(requireContext())
|
|
val dialog = MaterialAlertDialogBuilder(requireContext())
|
|
|
.setTitle(titleId)
|
|
.setTitle(titleId)
|
|
|
- .setView(progressBinding.root)
|
|
|
|
|
|
|
+ .setView(binding.root)
|
|
|
.create()
|
|
.create()
|
|
|
dialog.setCanceledOnTouchOutside(false)
|
|
dialog.setCanceledOnTouchOutside(false)
|
|
|
|
|
|
|
|
|
|
+ if (!taskViewModel.isRunning.value) {
|
|
|
|
|
+ taskViewModel.runTask()
|
|
|
|
|
+ }
|
|
|
|
|
+ return dialog
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onCreateView(
|
|
|
|
|
+ inflater: LayoutInflater,
|
|
|
|
|
+ container: ViewGroup?,
|
|
|
|
|
+ savedInstanceState: Bundle?
|
|
|
|
|
+ ): View {
|
|
|
|
|
+ return binding.root
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
|
+ super.onViewCreated(view, savedInstanceState)
|
|
|
viewLifecycleOwner.lifecycleScope.launch {
|
|
viewLifecycleOwner.lifecycleScope.launch {
|
|
|
repeatOnLifecycle(Lifecycle.State.CREATED) {
|
|
repeatOnLifecycle(Lifecycle.State.CREATED) {
|
|
|
taskViewModel.isComplete.collect {
|
|
taskViewModel.isComplete.collect {
|
|
|
if (it) {
|
|
if (it) {
|
|
|
- dialog.dismiss()
|
|
|
|
|
|
|
+ dismiss()
|
|
|
when (val result = taskViewModel.result.value) {
|
|
when (val result = taskViewModel.result.value) {
|
|
|
is String -> Toast.makeText(requireContext(), result, Toast.LENGTH_LONG)
|
|
is String -> Toast.makeText(requireContext(), result, Toast.LENGTH_LONG)
|
|
|
.show()
|
|
.show()
|
|
@@ -51,11 +72,6 @@ class IndeterminateProgressDialogFragment : DialogFragment() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- if (!taskViewModel.isRunning.value) {
|
|
|
|
|
- taskViewModel.runTask()
|
|
|
|
|
- }
|
|
|
|
|
- return dialog
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
companion object {
|
|
companion object {
|