package org.libre.agosto.p2play.models import android.util.JsonReader import android.util.JsonToken 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() while (data.hasNext()){ val acKey = data.nextName() when(acKey.toString()){ "displayName"-> this.username=data.nextString() "avatar"-> { if(data.peek() == JsonToken.BEGIN_OBJECT){ data.beginObject() while (data.hasNext()){ val avKey = data.nextName() when(avKey){ "path"-> this.userImageUrl = data.nextString() else-> data.skipValue() } } data.endObject() } else data.skipValue() } "uuid" -> this.userUuid = data.nextString() "host" -> this.userHost = data.nextString() "name" -> this.nameChannel = data.nextString() else -> data.skipValue() } } data.endObject() } else -> data.skipValue() } } data.endObject() } fun getAccount(): String { return "$nameChannel@$userHost" } }