optimize saving user

This commit is contained in:
Phillip Thelen 2019-08-05 18:36:49 +02:00
parent c689f9a8d0
commit 67ebc1649d
3 changed files with 16 additions and 5 deletions

View file

@ -65,6 +65,10 @@ class RealmUserLocalRepository(realm: Realm) : RealmBaseLocalRepository(realm),
if (user.lastCron?.before(oldUser.lastCron) == true) {
user.needsCron = false
}
} else {
if (oldUser.versionNumber >= user.versionNumber) {
return
}
}
}
realm.executeTransaction { realm1 -> realm1.insertOrUpdate(user) }

View file

@ -0,0 +1,6 @@
package com.habitrpg.android.habitica.models
interface VersionedObject {
var versionNumber: Int
}

View file

@ -1,10 +1,7 @@
package com.habitrpg.android.habitica.models.user
import com.google.gson.annotations.SerializedName
import com.habitrpg.android.habitica.models.Avatar
import com.habitrpg.android.habitica.models.PushDevice
import com.habitrpg.android.habitica.models.QuestAchievement
import com.habitrpg.android.habitica.models.Tag
import com.habitrpg.android.habitica.models.*
import com.habitrpg.android.habitica.models.invitations.Invitations
import com.habitrpg.android.habitica.models.social.ChallengeMembership
import com.habitrpg.android.habitica.models.social.UserParty
@ -16,7 +13,7 @@ import io.realm.annotations.Ignore
import io.realm.annotations.PrimaryKey
import java.util.*
open class User : RealmObject(), Avatar {
open class User : RealmObject(), Avatar, VersionedObject {
@Ignore
var tasks: TaskList? = null
@ -57,6 +54,10 @@ open class User : RealmObject(), Avatar {
test.userID = id
}
}
@SerializedName("_v")
override var versionNumber: Int = 0
var balance: Double = 0.toDouble()
private var stats: Stats? = null
var inbox: Inbox? = null