mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-07-14 18:21:57 +00:00
Deserialize notifications from User model
This commit is contained in:
parent
48c5fc59e3
commit
e232a9b016
3 changed files with 30 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
package com.habitrpg.android.habitica.models.notifications;
|
||||
|
||||
import io.realm.RealmObject;
|
||||
import io.realm.annotations.PrimaryKey;
|
||||
|
||||
/**
|
||||
* Represents Habitica "Global notifications", i.e. the notifications about chat messages
|
||||
* (in Guilds and Party), Party & Quest invitations, unallocated stat points etc.
|
||||
*
|
||||
* These are different from other kind of notifications, such as Push notifications and
|
||||
* Popup notifications.
|
||||
*/
|
||||
public class GlobalNotification extends RealmObject {
|
||||
|
||||
@PrimaryKey
|
||||
public String id;
|
||||
|
||||
public String type;
|
||||
public boolean seen;
|
||||
// TODO data
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import com.habitrpg.android.habitica.models.Avatar
|
|||
import com.habitrpg.android.habitica.models.PushDevice
|
||||
import com.habitrpg.android.habitica.models.Tag
|
||||
import com.habitrpg.android.habitica.models.invitations.Invitations
|
||||
import com.habitrpg.android.habitica.models.notifications.GlobalNotification
|
||||
import com.habitrpg.android.habitica.models.social.ChallengeMembership
|
||||
import com.habitrpg.android.habitica.models.social.UserParty
|
||||
import com.habitrpg.android.habitica.models.tasks.TaskList
|
||||
|
|
@ -122,6 +123,8 @@ open class User : RealmObject(), Avatar {
|
|||
@Ignore
|
||||
var pushDevices: List<PushDevice>? = null
|
||||
|
||||
var notifications = RealmList<GlobalNotification>()
|
||||
|
||||
var purchased: Purchases? = null
|
||||
set(purchased) {
|
||||
field = purchased
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.habitrpg.android.habitica.models.PushDevice
|
|||
import com.habitrpg.android.habitica.models.Tag
|
||||
import com.habitrpg.android.habitica.models.inventory.Quest
|
||||
import com.habitrpg.android.habitica.models.invitations.Invitations
|
||||
import com.habitrpg.android.habitica.models.notifications.GlobalNotification
|
||||
import com.habitrpg.android.habitica.models.social.ChallengeMembership
|
||||
import com.habitrpg.android.habitica.models.social.UserParty
|
||||
import com.habitrpg.android.habitica.models.tasks.TasksOrder
|
||||
|
|
@ -109,6 +110,11 @@ class UserDeserializer : JsonDeserializer<User> {
|
|||
.forEach { (user.pushDevices as? ArrayList<PushDevice>)?.add(it) }
|
||||
}
|
||||
|
||||
if (obj.has("notifications")) {
|
||||
user.notifications = context.deserialize(obj.get("notifications"), object: TypeToken<RealmList<GlobalNotification>>() {
|
||||
}.type)
|
||||
}
|
||||
|
||||
if (obj.has("lastCron")) {
|
||||
user.lastCron = context.deserialize(obj.get("lastCron"), Date::class.java)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue