From b67d6c3edf851c7bb2dc83351d123ba44cddb3aa Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 9 Sep 2019 11:55:10 +0200 Subject: [PATCH] fix potential crashes --- .../android/habitica/ui/activities/ChallengeFormActivity.kt | 6 +++++- .../habitica/ui/views/dialogs/HabiticaAlertDialog.kt | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt index 67c7de59a..c6befae3d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/ChallengeFormActivity.kt @@ -209,7 +209,11 @@ class ChallengeFormActivity : BaseActivity() { val bundle = intent.extras challengeTasks = ChallengeTasksRecyclerViewAdapter(null, 0, this, "", null, false, true) - compositeSubscription.add(challengeTasks.taskOpenEvents.subscribe { openNewTaskActivity(it.type, it) }) + compositeSubscription.add(challengeTasks.taskOpenEvents.subscribe { + if (it.isValid) { + openNewTaskActivity(it.type, it) + } + }) locationAdapter = GroupArrayAdapter(this) if (bundle != null) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/HabiticaAlertDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/HabiticaAlertDialog.kt index ab0e5b990..d1086dc49 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/HabiticaAlertDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/dialogs/HabiticaAlertDialog.kt @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.ui.views.dialogs +import android.app.Activity import android.content.Context import android.view.LayoutInflater import android.view.View @@ -215,7 +216,9 @@ open class HabiticaAlertDialog(context: Context) : AlertDialog(context, R.style. dialogQueue.removeAt(0) } if (dialogQueue.size > 0) { - dialogQueue[0].show() + if ((dialogQueue[0].context as? Activity)?.isFinishing == false) { + dialogQueue[0].show() + } } }