summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-01-26 13:06:48 -0500
committerCharles Lombardo <clombardo169@gmail.com>2023-03-07 15:45:41 -0500
commitd66d8210bf67435085cb03bd96752683cbb19083 (patch)
tree9a13d81d93c728e766fa55f90686f851cf47cf15 /Source/Android/app/src/main/java
parent917ca2273e8233e78f5c3c84763385e352f7cac2 (diff)
Android: Switch to indeterminate progress bar on system update cancel
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateProgressBarDialogFragment.kt37
1 files changed, 21 insertions, 16 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateProgressBarDialogFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateProgressBarDialogFragment.kt
index 842757eea1..a02e210a9c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateProgressBarDialogFragment.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/sysupdate/ui/SystemUpdateProgressBarDialogFragment.kt
@@ -3,7 +3,6 @@
package org.dolphinemu.dolphinemu.features.sysupdate.ui
import android.app.Dialog
-import android.content.pm.ActivityInfo
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
@@ -15,11 +14,13 @@ import org.dolphinemu.dolphinemu.databinding.DialogProgressBinding
import org.dolphinemu.dolphinemu.databinding.DialogProgressTvBinding
class SystemUpdateProgressBarDialogFragment : DialogFragment() {
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val viewModel = ViewModelProvider(requireActivity())[SystemUpdateViewModel::class.java]
+ private lateinit var viewModel: SystemUpdateViewModel
+
+ private lateinit var binding: DialogProgressBinding
+ private lateinit var bindingTv: DialogProgressTvBinding
- val dialogProgressBinding: DialogProgressBinding
- val dialogProgressTvBinding: DialogProgressTvBinding
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ viewModel = ViewModelProvider(requireActivity())[SystemUpdateViewModel::class.java]
// We need to set the message to something here, otherwise the text will not appear when we set it later.
val progressDialogBuilder = MaterialAlertDialogBuilder(requireContext())
@@ -30,36 +31,36 @@ class SystemUpdateProgressBarDialogFragment : DialogFragment() {
// TODO: Remove dialog_progress_tv if we switch to an AppCompatActivity for leanback
if (activity is AppCompatActivity) {
- dialogProgressBinding = DialogProgressBinding.inflate(layoutInflater)
- progressDialogBuilder.setView(dialogProgressBinding.root)
+ binding = DialogProgressBinding.inflate(layoutInflater)
+ progressDialogBuilder.setView(binding.root)
viewModel.progressData.observe(
this
) { progress: Int ->
- dialogProgressBinding.updateProgress.progress = progress
+ binding.updateProgress.progress = progress
}
viewModel.totalData.observe(this) { total: Int ->
if (total == 0) {
return@observe
}
- dialogProgressBinding.updateProgress.max = total
+ binding.updateProgress.max = total
}
} else {
- dialogProgressTvBinding = DialogProgressTvBinding.inflate(layoutInflater)
- progressDialogBuilder.setView(dialogProgressTvBinding.root)
+ bindingTv = DialogProgressTvBinding.inflate(layoutInflater)
+ progressDialogBuilder.setView(bindingTv.root)
viewModel.progressData.observe(
this
) { progress: Int ->
- dialogProgressTvBinding.updateProgress.progress = progress
+ bindingTv.updateProgress.progress = progress
}
viewModel.totalData.observe(this) { total: Int ->
if (total == 0) {
return@observe
}
- dialogProgressTvBinding.updateProgress.max = total
+ bindingTv.updateProgress.max = total
}
}
@@ -91,13 +92,17 @@ class SystemUpdateProgressBarDialogFragment : DialogFragment() {
// Setting the OnClickListener again after the dialog is shown overrides this behavior.
override fun onResume() {
super.onResume()
- val alertDialog = dialog as AlertDialog?
- val viewModel = ViewModelProvider(requireActivity())[SystemUpdateViewModel::class.java]
- val negativeButton = alertDialog!!.getButton(Dialog.BUTTON_NEGATIVE)
+ val alertDialog = dialog as AlertDialog
+ val negativeButton = alertDialog.getButton(Dialog.BUTTON_NEGATIVE)
negativeButton.setOnClickListener {
alertDialog.setTitle(getString(R.string.cancelling))
alertDialog.setMessage(getString(R.string.update_cancelling))
viewModel.setCanceled()
+
+ if (activity is AppCompatActivity)
+ binding.updateProgress.isIndeterminate = true
+ else
+ bindingTv.updateProgress.isIndeterminate = true
}
}