fix challenge refreshing

This commit is contained in:
Phillip Thelen 2017-01-30 15:05:34 +01:00
parent 30a88aa09d
commit d7e7d87d0e
2 changed files with 13 additions and 6 deletions

View file

@ -75,14 +75,15 @@ public class ChallengeListFragment extends BaseMainFragment implements SwipeRefr
challenge.async().save();
}
setRefreshingIfVisible(swipeRefreshLayout, false);
setRefreshingIfVisible(swipeRefreshEmptyLayout, false);
if (viewUserChallengesOnly) {
setChallengeEntries(userChallenges);
} else {
setChallengeEntries(challenges);
}
setRefreshingIfVisible(swipeRefreshLayout, false);
setRefreshingIfVisible(swipeRefreshEmptyLayout, false);
}, throwable -> {
Log.e("ChallengeListFragment", "", throwable);
@ -160,8 +161,10 @@ public class ChallengeListFragment extends BaseMainFragment implements SwipeRefr
}
if (viewUserChallengesOnly && challenges.size() == 0) {
swipeRefreshEmptyLayout.setVisibility(View.VISIBLE);
swipeRefreshLayout.setRefreshing(false);
swipeRefreshLayout.setVisibility(View.GONE);
} else {
swipeRefreshEmptyLayout.setRefreshing(false);
swipeRefreshEmptyLayout.setVisibility(View.GONE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
}

View file

@ -393,7 +393,7 @@ public class HabitRPGUser extends BaseModel {
}
List<Challenge> challenges = getChallengeList();
List<Challenge> newChallenges = new ArrayList<>();
if (getChallenges() != null) {
for (String s : getChallenges()) {
boolean challengeExistInDatabase = false;
@ -401,7 +401,8 @@ public class HabitRPGUser extends BaseModel {
for (Challenge challenge : challenges) {
if (challenge.id.equals(s)) {
challengeExistInDatabase = true;
challenges.remove(challenge);
newChallenges.add(challenge);
break;
}
}
@ -411,12 +412,15 @@ public class HabitRPGUser extends BaseModel {
challenge.id = s;
challenge.user_id = id;
challenges.add(challenge);
newChallenges.add(challenge);
}
}
for (Challenge challenge : challenges) {
challenge.user_id = null;
}
}
setChallengeList(challenges);
setChallengeList(newChallenges);
super.save();
}