diff --git a/Habitica/build.gradle b/Habitica/build.gradle index cedf0c625..d8d549294 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -155,7 +155,7 @@ android { multiDexEnabled true resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW" - versionCode 2392 + versionCode 2394 versionName "2.5" } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt index cd7f125d6..948383be6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt @@ -10,6 +10,7 @@ import com.habitrpg.android.habitica.models.responses.TaskDirection import com.habitrpg.android.habitica.models.responses.TaskDirectionData import com.habitrpg.android.habitica.models.responses.TaskScoringResult import com.habitrpg.android.habitica.models.tasks.* +import com.habitrpg.android.habitica.models.user.OwnedItem import com.habitrpg.android.habitica.models.user.User import io.reactivex.Flowable import io.reactivex.Maybe @@ -137,6 +138,23 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli } } } + res._tmp?.drop?.key?.let { key -> + val type = when(res._tmp?.drop?.type?.toLowerCase(Locale.US)) { + "hatchingPotion" -> "hatchingPotions" + "egg" -> "eggs" + else -> res._tmp?.drop?.type?.toLowerCase(Locale.US) + } + var item = it.where(OwnedItem::class.java).equalTo("itemType", type).equalTo("key", key).findFirst() + if (item == null) { + item = OwnedItem() + item.key = key + item.itemType = type + item.userID = user.id + } + item.numberOwned += 1 + it.insertOrUpdate(item) + } + val stats = bgUser.stats stats?.hp = res.hp stats?.exp = res.exp