p2play-app-android/app/src/main/java/org/libre/agosto/p2play/models/CommentaryModel.kt

65 lines
2.4 KiB
Kotlin
Raw Normal View History

package org.libre.agosto.p2play.models
import android.util.JsonReader
import android.util.JsonToken
2024-04-06 22:38:04 +02:00
class CommentaryModel(
var id: Int = 0,
var threadId: Int = 0,
var userUuid: String = "",
var username: String = "",
var userImageUrl: String = "",
var commentary: String = "",
var userHost: String = "",
var replies: Int = 0,
var nameChannel: String = "",
) {
fun parseCommentary(data: JsonReader) {
data.beginObject()
while (data.hasNext()) {
val key = data.nextName()
when (key.toString()) {
"id" -> this.id = data.nextInt()
"threadId" -> this.threadId = data.nextInt()
"text" -> this.commentary = data.nextString()
"totalReplies" -> this.replies = data.nextInt()
"account" -> {
data.beginObject()
2024-04-06 22:38:04 +02:00
while (data.hasNext()) {
val acKey = data.nextName()
2024-04-06 22:38:04 +02:00
when (acKey.toString()) {
"displayName" -> this.username = data.nextString()
"avatar" -> {
if (data.peek() == JsonToken.BEGIN_OBJECT) {
data.beginObject()
2024-04-06 22:38:04 +02:00
while (data.hasNext()) {
val avKey = data.nextName()
2024-04-06 22:38:04 +02:00
when (avKey) {
"path" -> this.userImageUrl = data.nextString()
else -> data.skipValue()
}
}
data.endObject()
2024-04-06 22:38:04 +02:00
} else {
data.skipValue()
2024-04-06 22:38:04 +02:00
}
}
"uuid" -> this.userUuid = data.nextString()
"host" -> this.userHost = data.nextString()
2024-03-28 03:54:14 +01:00
"name" -> this.nameChannel = data.nextString()
else -> data.skipValue()
}
}
data.endObject()
}
else -> data.skipValue()
}
}
data.endObject()
}
2024-03-28 03:54:14 +01:00
fun getAccount(): String {
2024-04-06 22:38:04 +02:00
return "$nameChannel@$userHost"
2024-03-28 03:54:14 +01:00
}
2024-04-06 22:38:04 +02:00
}