From 5905af486b94ee0bc60fa26143193f473e7a57ec Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 19 Jan 2017 13:12:30 +0100 Subject: [PATCH] fix potential crashes --- Habitica/AndroidManifest.xml | 2 +- .../helpers/PopupNotificationsManager.java | 1 + .../lib/models/HabitRPGUser.java | 26 ++++++++++--------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 25f1a8ab4..f842f75e6 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java index de98042ba..86be64a8b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java @@ -112,6 +112,7 @@ public class PopupNotificationsManager { } HabiticaApplication.currentActivity.runOnUiThread(() -> { + if (HabiticaApplication.currentActivity == null) return; if ((HabiticaApplication.currentActivity).isFinishing()) return; if (this.seenNotifications == null) { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java index 6410844ea..85d6ba47d 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUser.java @@ -386,23 +386,25 @@ public class HabitRPGUser extends BaseModel { List challenges = getChallengeList(); - for (String s : getChallenges()) { - boolean challengeExistInDatabase = false; + if (getChallenges() != null) { + for (String s : getChallenges()) { + boolean challengeExistInDatabase = false; - for (Challenge challenge : challenges) { - if (challenge.id.equals(s)) { - challengeExistInDatabase = true; + for (Challenge challenge : challenges) { + if (challenge.id.equals(s)) { + challengeExistInDatabase = true; - break; + break; + } } - } - if (!challengeExistInDatabase) { - Challenge challenge = new Challenge(); - challenge.id = s; - challenge.user_id = id; + if (!challengeExistInDatabase) { + Challenge challenge = new Challenge(); + challenge.id = s; + challenge.user_id = id; - challenges.add(challenge); + challenges.add(challenge); + } } }