fix class switching

This commit is contained in:
Phillip Thelen 2023-04-27 11:36:22 +02:00
parent 4289042d9f
commit b9839255bf
3 changed files with 14 additions and 13 deletions

View file

@ -263,15 +263,16 @@ class ClassSelectionActivity : BaseActivity() {
private fun selectClass(selectedClass: String, isChanging: Boolean) {
shouldFinish = true
this.displayProgressDialog(getString(R.string.changing_class_progress))
val dialog = this.displayProgressDialog(getString(R.string.changing_class_progress))
lifecycleScope.launch(Dispatchers.Main) {
userRepository.changeClass(selectedClass)
dialog.hide()
if (isChanging) displayClassChanged(selectedClass)
}
}
private fun displayProgressDialog(progressText: String) {
HabiticaProgressDialog.show(this, progressText, 300)
private fun displayProgressDialog(progressText: String) : HabiticaProgressDialog {
return HabiticaProgressDialog.show(this, progressText, 300)
}
private fun dismiss() {

View file

@ -432,7 +432,7 @@ class AccountPreferenceFragment :
}
private fun deleteAccount(password: String) {
val dialog = HabiticaProgressDialog.show(context, R.string.deleting_account)
val dialog = context?.let { HabiticaProgressDialog.show(it, R.string.deleting_account) }
lifecycleScope.launchCatching({ throwable ->
dialog?.dismiss()
if (throwable is HttpException && throwable.code() == 401) {
@ -481,7 +481,7 @@ class AccountPreferenceFragment :
}
private fun resetAccount() {
val dialog = HabiticaProgressDialog.show(context, R.string.resetting_account)
val dialog = context?.let { HabiticaProgressDialog.show(it, R.string.resetting_account) }
lifecycleScope.launch(ExceptionHandler.coroutine()) {
userRepository.resetAccount()
dialog?.dismiss()

View file

@ -7,16 +7,16 @@ import com.habitrpg.common.habitica.extensions.dpToPx
class HabiticaProgressDialog(context: Context) : HabiticaAlertDialog(context) {
companion object {
fun show(context: Context?, titleID: Int): HabiticaProgressDialog? {
return show(context, context?.getString(titleID))
fun show(context: Context, titleID: Int): HabiticaProgressDialog {
return show(context, context.getString(titleID))
}
fun show(context: Context?, title: String?, dialogWidth: Int = 300): HabiticaProgressDialog? {
val dialog = context?.let { HabiticaProgressDialog(it) }
dialog?.setAdditionalContentView(R.layout.circular_progress)
dialog?.dialogWidth = dialogWidth.dpToPx(context)
dialog?.setTitle(title)
dialog?.enqueue()
fun show(context: Context, title: String?, dialogWidth: Int = 300): HabiticaProgressDialog {
val dialog = HabiticaProgressDialog(context)
dialog.setAdditionalContentView(R.layout.circular_progress)
dialog.dialogWidth = dialogWidth.dpToPx(context)
dialog.setTitle(title)
dialog.enqueue()
return dialog
}
}