From afd3303256a1541a2fc758df219d0c8059a0e9ea Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 12 Mar 2018 13:22:11 +0100 Subject: [PATCH] fix challenge loading. --- Habitica/AndroidManifest.xml | 2 +- .../local/implementation/RealmUserLocalRepository.kt | 4 ++-- .../android/habitica/models/social/Challenge.java | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index da9c4d015..e48b27716 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmUserLocalRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmUserLocalRepository.kt index 0907f503e..eb6d709c4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmUserLocalRepository.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmUserLocalRepository.kt @@ -42,7 +42,7 @@ class RealmUserLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), removeOldTags(user.id, user.tags) } if (user.challenges != null) { - removeOldChallenges(user.id, user.challenges) + removeOldChallenges(user.challenges) } } @@ -56,7 +56,7 @@ class RealmUserLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), } } - private fun removeOldChallenges(userId: String, onlineChallenges: List) { + private fun removeOldChallenges(onlineChallenges: List) { val challenges = realm.where(Challenge::class.java).equalTo("isParticipating", true).findAll().createSnapshot() val challengesToDelete = challenges.filterNot { onlineChallenges.contains(it) } realm.executeTransaction { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java index 5c6f29116..c4dfeeda4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.models.social; +import com.habitrpg.android.habitica.models.tasks.ChecklistItem; import com.habitrpg.android.habitica.models.tasks.TasksOrder; import com.habitrpg.android.habitica.models.user.User; @@ -64,4 +65,12 @@ public class Challenge extends RealmObject { return map; } + + @Override + public boolean equals(Object obj) { + if (obj.getClass().equals(Challenge.class) && this.id != null) { + return this.id.equals(((Challenge)obj).id); + } + return super.equals(obj); + } }