mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 20:59:00 +00:00
Try to fix errors when saving things
This commit is contained in:
parent
25eace34cf
commit
5f159856a9
4 changed files with 7 additions and 7 deletions
|
|
@ -124,7 +124,7 @@ class SocialRepositoryImpl(localRepository: SocialLocalRepository, apiClient: Ap
|
|||
}
|
||||
|
||||
override fun retrieveGroup(id: String): Flowable<Group> {
|
||||
return Flowable.zip(apiClient.getGroup(id).doOnNext { localRepository.save(it) }, retrieveGroupChat(id)
|
||||
return Flowable.zip(apiClient.getGroup(id).doOnNext { localRepository.saveSyncronous(it) }, retrieveGroupChat(id)
|
||||
.toFlowable(),
|
||||
BiFunction<Group, List<ChatMessage>, Group> { group, _ ->
|
||||
group
|
||||
|
|
|
|||
|
|
@ -119,9 +119,9 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli
|
|||
private fun handleTaskResponse(user: User, res: TaskDirectionData, task: Task, up: Boolean, localDelta: Float) {
|
||||
val userID = user.id
|
||||
val taskID = task.id
|
||||
this.localRepository.executeTransactionAsync {
|
||||
val bgTask = it.where(Task::class.java).equalTo("id", taskID).findFirst() ?: return@executeTransactionAsync
|
||||
val bgUser = it.where(User::class.java).equalTo("id", userID).findFirst() ?: return@executeTransactionAsync
|
||||
this.localRepository.executeTransaction {
|
||||
val bgTask = it.where(Task::class.java).equalTo("id", taskID).findFirst() ?: return@executeTransaction
|
||||
val bgUser = it.where(User::class.java).equalTo("id", userID).findFirst() ?: return@executeTransaction
|
||||
if (bgTask.type != "reward" && (bgTask.value - localDelta) + res.delta != bgTask.value) {
|
||||
bgTask.value = (bgTask.value - localDelta) + res.delta
|
||||
if (Task.TYPE_DAILY == bgTask.type || Task.TYPE_TODO == bgTask.type) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import io.realm.Realm
|
|||
open class RealmContentLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm), ContentLocalRepository {
|
||||
|
||||
override fun saveContent(contentResult: ContentResult) {
|
||||
realm.executeTransactionAsync { realm1 ->
|
||||
executeTransactionAsync { realm1 ->
|
||||
contentResult.potion?.let { realm1.insertOrUpdate(it) }
|
||||
contentResult.armoire?.let { realm1.insertOrUpdate(it) }
|
||||
contentResult.gear?.flat?.let { realm1.insertOrUpdate(it) }
|
||||
|
|
|
|||
|
|
@ -53,12 +53,12 @@ class RealmTaskLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm),
|
|||
sortedTasks.forEach { it.reminders?.let { it1 -> allReminders.addAll(it1) } }
|
||||
removeOldReminders(allReminders)
|
||||
|
||||
realm.executeTransactionAsync { realm1 -> realm1.insertOrUpdate(sortedTasks) }
|
||||
executeTransaction { realm1 -> realm1.insertOrUpdate(sortedTasks) }
|
||||
}
|
||||
|
||||
override fun saveCompletedTodos(userId: String, tasks: MutableCollection<Task>) {
|
||||
removeCompletedTodos(userId, tasks)
|
||||
realm.executeTransactionAsync { realm1 -> realm1.insertOrUpdate(tasks) }
|
||||
executeTransaction { realm1 -> realm1.insertOrUpdate(tasks) }
|
||||
}
|
||||
|
||||
private fun sortTasks(taskMap: MutableMap<String, Task>, taskOrder: List<String>): List<Task> {
|
||||
|
|
|
|||
Loading…
Reference in a new issue