From d61fea5e764b1653b56dd20bd9a479b50d8997d7 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 2 Nov 2017 17:49:44 +0100 Subject: [PATCH] update stats after using bulk allocation. Fixes #845 --- .../data/implementation/UserRepositoryImpl.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt index afa23e43d..8cb9937cc 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt @@ -230,6 +230,18 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli override fun bulkAllocatePoints(user: User?, strength: Int, intelligence: Int, constitution: Int, perception: Int): Observable = apiClient.bulkAllocatePoints(strength, intelligence, constitution, perception) + .doOnNext { stats -> + if (user != null && user.isManaged) { + localRepository.executeTransaction { + user.stats.str = stats.str + user.stats.con = stats.con + user.stats.per = stats.per + user.stats._int = stats._int + user.stats.points = stats.points + user.stats.mp = stats.mp + } + } + } override fun runCron(tasks: List) { val observable: Observable> = if (tasks.isNotEmpty()) {