mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-18 11:49:01 +00:00
fix crash
This commit is contained in:
parent
b8d486412f
commit
98f3a2957c
6 changed files with 18 additions and 10 deletions
|
|
@ -1,6 +1,5 @@
|
|||
package com.habitrpg.android.habitica.ui.activities
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Bundle
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ import com.habitrpg.android.habitica.ui.views.CurrencyText
|
|||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaProgressDialog
|
||||
import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientGemsDialog
|
||||
import com.habitrpg.android.habitica.ui.views.insufficientCurrency.InsufficientHourglassesDialog
|
||||
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog
|
||||
import com.habitrpg.common.habitica.helpers.ExceptionHandler
|
||||
import com.habitrpg.common.habitica.helpers.RecyclerViewState
|
||||
|
|
@ -256,7 +255,7 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
alert.setMessage(getString(R.string.change_class_equipment_warning))
|
||||
alert.addButton(R.string.choose_class, true) { _, _ ->
|
||||
val dialog = HabiticaProgressDialog.show(
|
||||
context,
|
||||
requireActivity(),
|
||||
getString(R.string.changing_class_progress),
|
||||
300
|
||||
)
|
||||
|
|
@ -274,7 +273,7 @@ open class ShopFragment : BaseMainFragment<FragmentRefreshRecyclerviewBinding>()
|
|||
alert.setTitle(getString(R.string.class_confirmation, classIdentifier))
|
||||
alert.addButton(R.string.choose_class, true) { _, _ ->
|
||||
val dialog = HabiticaProgressDialog.show(
|
||||
context,
|
||||
requireActivity(),
|
||||
getString(R.string.changing_class_progress),
|
||||
300
|
||||
)
|
||||
|
|
|
|||
|
|
@ -488,7 +488,7 @@ class AccountPreferenceFragment :
|
|||
}
|
||||
|
||||
private fun deleteAccount(password: String) {
|
||||
val dialog = context?.let { HabiticaProgressDialog.show(it, R.string.deleting_account) }
|
||||
val dialog = activity?.let { HabiticaProgressDialog.show(it, R.string.deleting_account) }
|
||||
lifecycleScope.launchCatching({ throwable ->
|
||||
dialog?.dismiss()
|
||||
if (throwable is HttpException && throwable.code() == 401) {
|
||||
|
|
@ -537,7 +537,7 @@ class AccountPreferenceFragment :
|
|||
}
|
||||
|
||||
private fun resetAccount() {
|
||||
val dialog = context?.let { HabiticaProgressDialog.show(it, R.string.resetting_account) }
|
||||
val dialog = activity?.let { HabiticaProgressDialog.show(it, R.string.resetting_account) }
|
||||
lifecycleScope.launch(ExceptionHandler.coroutine()) {
|
||||
userRepository.resetAccount()
|
||||
dialog?.dismiss()
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ open class NotificationsViewModel @Inject constructor(
|
|||
fun getNotificationCount(): Flow<Int> {
|
||||
return getNotifications().map {
|
||||
it.count { notification ->
|
||||
(notification.type == Notification.Type.UNALLOCATED_STATS_POINTS.type) == hasStats
|
||||
(notification.type != Notification.Type.UNALLOCATED_STATS_POINTS.type) || hasStats
|
||||
}
|
||||
}.distinctUntilChanged()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,14 @@
|
|||
package com.habitrpg.android.habitica.ui.views.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.setViewTreeLifecycleOwner
|
||||
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
|
||||
import com.habitrpg.common.habitica.theme.HabiticaTheme
|
||||
import com.habitrpg.common.habitica.views.HabiticaCircularProgressView
|
||||
import com.habitrpg.common.habitica.extensions.dpToPx
|
||||
|
|
@ -12,11 +16,11 @@ import com.habitrpg.common.habitica.extensions.dpToPx
|
|||
class HabiticaProgressDialog(context: Context) : HabiticaAlertDialog(context) {
|
||||
|
||||
companion object {
|
||||
fun show(context: Context, titleID: Int): HabiticaProgressDialog {
|
||||
fun show(context: FragmentActivity, titleID: Int): HabiticaProgressDialog {
|
||||
return show(context, context.getString(titleID))
|
||||
}
|
||||
|
||||
fun show(context: Context, title: String?, dialogWidth: Int = 300): HabiticaProgressDialog {
|
||||
fun show(context: FragmentActivity, title: String?, dialogWidth: Int = 300): HabiticaProgressDialog {
|
||||
val dialog = HabiticaProgressDialog(context)
|
||||
val composeView = ComposeView(context)
|
||||
dialog.setAdditionalContentView(composeView)
|
||||
|
|
@ -25,6 +29,12 @@ class HabiticaProgressDialog(context: Context) : HabiticaAlertDialog(context) {
|
|||
HabiticaCircularProgressView(Modifier.size(60.dp))
|
||||
}
|
||||
}
|
||||
dialog.window?.let {
|
||||
dialog.additionalContentView?.setViewTreeSavedStateRegistryOwner(context)
|
||||
it.decorView.setViewTreeSavedStateRegistryOwner(context)
|
||||
dialog.additionalContentView?.setViewTreeLifecycleOwner(context)
|
||||
it.decorView.setViewTreeLifecycleOwner(context)
|
||||
}
|
||||
dialog.dialogWidth = dialogWidth.dpToPx(context)
|
||||
dialog.setTitle(title)
|
||||
dialog.enqueue()
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
NAME=4.3
|
||||
CODE=6711
|
||||
CODE=6721
|
||||
Loading…
Reference in a new issue