Fixes 1369

This commit is contained in:
Phillip Thelen 2020-11-09 15:07:26 +01:00
parent c2b3a3bd90
commit f46ce3d2f0
4 changed files with 10 additions and 4 deletions

View file

@ -46,7 +46,7 @@ interface UserRepository : BaseRepository {
fun changeClass(selectedClass: String): Flowable<User>
fun unlockPath(user: User, customization: Customization): Flowable<UnlockResponse>
fun unlockPath(user: User?, customization: Customization): Flowable<UnlockResponse>
fun unlockPath(user: User, set: CustomizationSet): Flowable<UnlockResponse>
fun runCron(tasks: MutableList<Task>)

View file

@ -135,9 +135,10 @@ class UserRepositoryImpl(localRepository: UserLocalRepository, apiClient: ApiCli
override fun changeClass(selectedClass: String): Flowable<User> = apiClient.changeClass(selectedClass).flatMap { retrieveUser(false) }
override fun unlockPath(user: User, customization: Customization): Flowable<UnlockResponse> {
override fun unlockPath(user: User?, customization: Customization): Flowable<UnlockResponse> {
return apiClient.unlockPath(customization.path)
.doOnNext { unlockResponse ->
if (user == null) return@doOnNext
val copiedUser = localRepository.getUnmanagedCopy(user)
copiedUser.preferences = unlockResponse.preferences
copiedUser.purchased = unlockResponse.purchased

View file

@ -211,7 +211,7 @@ class CustomizationRecyclerViewAdapter : androidx.recyclerview.widget.RecyclerVi
return
}
if (customization?.identifier == activeCustomization) {
if (customization?.type != "background" && customization?.identifier == activeCustomization) {
return
}

View file

@ -45,7 +45,12 @@ class AvatarCustomizationFragment : BaseMainFragment<FragmentRecyclerviewBinding
compositeSubscription.add(adapter.getSelectCustomizationEvents()
.flatMap { customization ->
userRepository.useCustomization(user, customization.type ?: "", customization.category, customization.identifier ?: "")
if (customization.type == "background") {
userRepository.unlockPath(user, customization)
.flatMap { userRepository.retrieveUser(false) }
} else {
userRepository.useCustomization(user, customization.type ?: "", customization.category, customization.identifier ?: "")
}
}
.subscribe({ }, RxErrorHandler.handleEmptyError()))
compositeSubscription.add(adapter.getUnlockCustomizationEvents()