Fix crash with unknown notification type (#1123)

* Fix crash with unknown notification type

* Add NotificationTypeAdapter to handle unknown type

* Remove unneeded SerializedName
This commit is contained in:
kyori19 2019-03-16 22:33:16 +09:00 committed by Konrad Pozniak
commit d0f7f6f83c
3 changed files with 39 additions and 6 deletions

View file

@ -15,7 +15,8 @@
package com.keylesspalace.tusky.entity
import com.google.gson.annotations.SerializedName
import com.google.gson.annotations.JsonAdapter
import com.keylesspalace.tusky.json.NotificationTypeAdapter
data class Notification(
val type: Type,
@ -23,15 +24,28 @@ data class Notification(
val account: Account,
val status: Status?) {
@JsonAdapter(NotificationTypeAdapter::class)
enum class Type {
@SerializedName("mention")
UNKNOWN,
MENTION,
@SerializedName("reblog")
REBLOG,
@SerializedName("favourite")
FAVOURITE,
@SerializedName("follow")
FOLLOW
FOLLOW;
companion object {
@JvmStatic
fun byString(s: String): Type {
return when (s) {
"mention" -> MENTION
"reblog" -> REBLOG
"favourite" -> FAVOURITE
"follow" -> FOLLOW
else -> UNKNOWN
}
}
}
}
override fun hashCode(): Int {