diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java index 6382f94d3..5c5ee61a4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java @@ -7,5 +7,5 @@ public class HabitDatabase { public static final String NAME = "Habitica"; - public static final int VERSION = 31; + public static final int VERSION = 32; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java index 1965df1c0..eae9104d5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/challenges/ChallengeListFragment.java @@ -68,6 +68,8 @@ public class ChallengeListFragment extends BaseMainFragment implements SwipeRefr if (userChallengesHash.contains(challenge.id) && challenge.name != null && !challenge.name.isEmpty()) { challenge.user_id = this.user.getId(); userChallenges.add(challenge); + } else { + challenge.user_id = null; } challenge.async().save(); @@ -153,6 +155,9 @@ public class ChallengeListFragment extends BaseMainFragment implements SwipeRefr } private void setChallengeEntries(List challenges) { + if (swipeRefreshEmptyLayout == null || swipeRefreshLayout == null) { + return; + } if (viewUserChallengesOnly && challenges.size() == 0) { swipeRefreshEmptyLayout.setVisibility(View.VISIBLE); swipeRefreshLayout.setVisibility(View.GONE); 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 1b3dc5b86..6d9e56c48 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 @@ -17,6 +17,7 @@ import com.raizlabs.android.dbflow.sql.builder.Condition; import com.raizlabs.android.dbflow.sql.language.Select; import com.raizlabs.android.dbflow.structure.BaseModel; +import android.database.sqlite.SQLiteException; import android.text.TextUtils; import java.util.ArrayList; @@ -118,10 +119,14 @@ public class HabitRPGUser extends BaseModel { @OneToMany(methods = {OneToMany.Method.SAVE, OneToMany.Method.DELETE}, variableName = "challengeList") public List getChallengeList() { if (challengeList == null) { - challengeList = new Select() - .from(Challenge.class) - .where(Condition.column("user_id").eq(this.id)) - .queryList(); + try { + challengeList = new Select() + .from(Challenge.class) + .where(Condition.column("user_id").eq(this.id)) + .queryList(); + } catch (SQLiteException exception) { + challengeList = new ArrayList<>(); + } } return challengeList; }