This commit is contained in:
Phillip Thelen 2018-02-09 18:56:40 +01:00
parent 236b540e6c
commit 304c705a5e
3 changed files with 10 additions and 6 deletions

View file

@ -85,7 +85,7 @@ class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClie
return localRepository.getOwnedEquipment()
}
override fun getOwnedItems(itemClass: Class<out Item>, user: User): Observable<out RealmResults<out Item>> {
override fun getOwnedItems(itemClass: Class<out Item>, user: User?): Observable<out RealmResults<out Item>> {
return localRepository.getOwnedItems(itemClass, user)
}
@ -214,13 +214,13 @@ class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClie
.doOnNext {
localRepository.changeOwnedCount(egg, -1)
localRepository.changeOwnedCount(hatchingPotion, -1)
localRepository.changePetFeedStatus(egg.key+hatchingPotion.key, 5)
localRepository.changePetFeedStatus(egg.key+"-"+hatchingPotion.key, 5)
}
}
override fun inviteToQuest(quest: QuestContent): Observable<Quest> {
return apiClient.inviteToQuest("party", quest.key)
.doOnNext { quest1 -> localRepository.changeOwnedCount(quest, -1) }
.doOnNext { localRepository.changeOwnedCount(quest, -1) }
}
override fun buyItem(user: User, key: String, value: Double): Observable<BuyResponse> {
@ -280,6 +280,6 @@ class InventoryRepositoryImpl(localRepository: InventoryLocalRepository, apiClie
return if (!item.isValid) {
Observable.just(null)
} else apiClient.togglePinnedItem(item.pinType, item.path)
.flatMap { aVoid -> retrieveInAppRewards() }
.flatMap { retrieveInAppRewards() }
}
}

View file

@ -31,7 +31,7 @@ interface InventoryLocalRepository : ContentLocalRepository {
fun getOwnedEquipment(type: String): Observable<RealmResults<Equipment>>
fun getOwnedItems(itemClass: Class<out Item>, user: User): Observable<out RealmResults<out Item>>
fun getOwnedItems(itemClass: Class<out Item>, user: User?): Observable<out RealmResults<out Item>>
fun getOwnedItems(user: User): Observable<out Map<String, Item>>
fun getEquipment(key: String): Observable<Equipment>

View file

@ -1,6 +1,7 @@
package com.habitrpg.android.habitica.data.local.implementation;
import android.content.Context;
import android.support.annotation.NonNull;
import com.habitrpg.android.habitica.data.local.InventoryLocalRepository;
import com.habitrpg.android.habitica.helpers.RxErrorHandler;
@ -72,6 +73,7 @@ public class RealmInventoryLocalRepository extends RealmContentLocalRepository i
.count();
}
@NonNull
@Override
public Observable<RealmResults<Equipment>> getOwnedEquipment(String type) {
return getRealm().where(Equipment.class)
@ -82,6 +84,7 @@ public class RealmInventoryLocalRepository extends RealmContentLocalRepository i
.filter(RealmResults::isLoaded);
}
@NonNull
@Override
public Observable<RealmResults<Equipment>> getOwnedEquipment() {
return getRealm().where(Equipment.class)
@ -91,8 +94,9 @@ public class RealmInventoryLocalRepository extends RealmContentLocalRepository i
.filter(RealmResults::isLoaded);
}
@NotNull
@Override
public Observable<? extends RealmResults<? extends Item>> getOwnedItems(Class<? extends Item> itemClass, User user) {
public Observable<? extends RealmResults<? extends Item>> getOwnedItems(@NotNull Class<? extends Item> itemClass, @Nullable User user) {
if (itemClass == null) {
return Observable.empty();
}