mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 12:49:02 +00:00
optimize saving user
This commit is contained in:
parent
c689f9a8d0
commit
67ebc1649d
3 changed files with 16 additions and 5 deletions
|
|
@ -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) }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
package com.habitrpg.android.habitica.models
|
||||
|
||||
interface VersionedObject {
|
||||
|
||||
var versionNumber: Int
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue