mirror of
https://gitlab.com/agosto182/p2play
synced 2025-02-01 02:56:46 +01:00
Models parse funcion added and channel model added
This commit is contained in:
parent
d360a1849e
commit
743c3147c1
@ -7,7 +7,7 @@ apply plugin: 'kotlin-android-extensions'
|
||||
android {
|
||||
compileSdkVersion 27
|
||||
defaultConfig {
|
||||
applicationId "mx.agosto182.p2play"
|
||||
applicationId "org.libre.agosto.p2play"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 27
|
||||
versionCode 4
|
||||
|
@ -21,6 +21,7 @@ class Actions: Client() {
|
||||
response = -1
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return response
|
||||
}
|
||||
|
||||
@ -38,6 +39,7 @@ class Actions: Client() {
|
||||
response = -1
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return response
|
||||
}
|
||||
|
||||
@ -61,6 +63,7 @@ class Actions: Client() {
|
||||
}
|
||||
}
|
||||
}
|
||||
data.close()
|
||||
}
|
||||
}
|
||||
catch (err: Exception){
|
||||
@ -68,6 +71,7 @@ class Actions: Client() {
|
||||
isSubscribed = false
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return isSubscribed
|
||||
}
|
||||
|
||||
@ -87,6 +91,7 @@ class Actions: Client() {
|
||||
response = -1
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return response
|
||||
}
|
||||
|
||||
@ -110,6 +115,7 @@ class Actions: Client() {
|
||||
}
|
||||
}
|
||||
}
|
||||
con.disconnect()
|
||||
}
|
||||
}
|
||||
catch (err: Exception){
|
||||
@ -117,6 +123,7 @@ class Actions: Client() {
|
||||
rating = "none"
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return rating
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@ class Auth: Client() {
|
||||
}
|
||||
|
||||
data.endObject()
|
||||
data.close()
|
||||
token.status = 1
|
||||
|
||||
}
|
||||
@ -47,6 +48,7 @@ class Auth: Client() {
|
||||
token.status = 0
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return token
|
||||
}
|
||||
|
||||
@ -67,6 +69,7 @@ class Auth: Client() {
|
||||
response = -1
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return response
|
||||
|
||||
}
|
||||
@ -93,6 +96,7 @@ class Auth: Client() {
|
||||
}
|
||||
|
||||
data.endObject()
|
||||
data.close()
|
||||
token.status = 1
|
||||
|
||||
}
|
||||
@ -105,6 +109,7 @@ class Auth: Client() {
|
||||
token.status = 0
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return token
|
||||
}
|
||||
|
||||
@ -158,6 +163,7 @@ class Auth: Client() {
|
||||
}
|
||||
|
||||
data.endObject()
|
||||
data.close()
|
||||
user.status = 1
|
||||
|
||||
}
|
||||
@ -170,6 +176,7 @@ class Auth: Client() {
|
||||
user.status = 0
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return user
|
||||
}
|
||||
|
||||
|
35
app/src/main/java/org/libre/agosto/p2play/ajax/Channels.kt
Normal file
35
app/src/main/java/org/libre/agosto/p2play/ajax/Channels.kt
Normal file
@ -0,0 +1,35 @@
|
||||
package org.libre.agosto.p2play.ajax
|
||||
|
||||
import android.util.JsonReader
|
||||
import android.util.JsonToken
|
||||
import org.libre.agosto.p2play.models.ChannelModel
|
||||
import org.libre.agosto.p2play.models.CommentaryModel
|
||||
import java.io.InputStreamReader
|
||||
|
||||
class Channels: Client() {
|
||||
|
||||
private fun parseChannel(data: JsonReader): ChannelModel{
|
||||
val channel = ChannelModel()
|
||||
|
||||
data.close()
|
||||
|
||||
return channel
|
||||
}
|
||||
|
||||
fun getChannelInfo(channelId: String): ChannelModel {
|
||||
val con = this._newCon("video-channels/$channelId", "GET")
|
||||
var channel = ChannelModel()
|
||||
try {
|
||||
if(con.responseCode == 200){
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
channel.parseChannel(data)
|
||||
data.close()
|
||||
}
|
||||
}catch (err: Exception) {
|
||||
err.printStackTrace()
|
||||
}
|
||||
|
||||
return channel
|
||||
}
|
||||
}
|
@ -56,10 +56,13 @@ open class Client {
|
||||
}
|
||||
}
|
||||
}
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return keys
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@ import java.io.InputStreamReader
|
||||
|
||||
class Comments: Client() {
|
||||
|
||||
fun parseCommentaries(data: JsonReader): ArrayList<CommentaryModel> {
|
||||
private fun parseCommentaries(data: JsonReader): ArrayList<CommentaryModel> {
|
||||
val commentaries = arrayListOf<CommentaryModel>()
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
@ -17,47 +17,7 @@ class Comments: Client() {
|
||||
data.beginArray()
|
||||
while (data.hasNext()) {
|
||||
val comment = CommentaryModel()
|
||||
data.beginObject()
|
||||
while (data.hasNext()) {
|
||||
val key = data.nextName()
|
||||
when (key.toString()) {
|
||||
"id" -> comment.id = data.nextInt()
|
||||
"threadId" -> comment.threadId = data.nextInt()
|
||||
"text" -> comment.commentary = data.nextString()
|
||||
"totalReplies" -> comment.replies = data.nextInt()
|
||||
"account" -> {
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val acKey = data.nextName()
|
||||
when(acKey.toString()){
|
||||
"displayName"-> comment.username=data.nextString()
|
||||
"avatar"-> {
|
||||
if(data.peek() == JsonToken.BEGIN_OBJECT){
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val avKey = data.nextName()
|
||||
when(avKey){
|
||||
"path"-> comment.userImageUrl = data.nextString()
|
||||
else-> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else
|
||||
data.skipValue()
|
||||
|
||||
}
|
||||
"uuid" -> comment.userUuid = data.nextString()
|
||||
"host" -> comment.userHost = data.nextString()
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
comment.parseCommentary(data)
|
||||
commentaries.add(comment)
|
||||
}
|
||||
data.endArray()
|
||||
@ -79,11 +39,12 @@ class Comments: Client() {
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
commentaries = parseCommentaries(data)
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return commentaries
|
||||
}
|
||||
|
||||
@ -92,19 +53,25 @@ class Comments: Client() {
|
||||
val params = "text=$text"
|
||||
con.outputStream.write(params.toByteArray())
|
||||
|
||||
var response: Boolean
|
||||
|
||||
try {
|
||||
if (con.responseCode == 200) {
|
||||
return true
|
||||
con.disconnect()
|
||||
response = true
|
||||
}
|
||||
else{
|
||||
Log.d("Status", con.responseMessage)
|
||||
response = false
|
||||
}
|
||||
}
|
||||
catch (err: Exception){
|
||||
err.printStackTrace()
|
||||
response = false
|
||||
}
|
||||
|
||||
return false
|
||||
con.disconnect()
|
||||
return response
|
||||
}
|
||||
|
||||
}
|
@ -17,68 +17,7 @@ class Videos: Client() {
|
||||
data.beginArray()
|
||||
while (data.hasNext()) {
|
||||
val video = VideoModel()
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val key = data.nextName()
|
||||
when (key.toString()) {
|
||||
"id"-> video.id = data.nextInt()
|
||||
"name"->{
|
||||
video.name= data.nextString()
|
||||
}
|
||||
"description"->{
|
||||
if(data.peek() == JsonToken.STRING)
|
||||
video.description = data.nextString()
|
||||
else
|
||||
data.skipValue()
|
||||
}
|
||||
"duration"->{
|
||||
video.duration = data.nextInt()
|
||||
}
|
||||
"thumbnailPath"->{
|
||||
video.thumbUrl = data.nextString()
|
||||
}
|
||||
"embedPath"->{
|
||||
video.embedUrl = data.nextString()
|
||||
}
|
||||
"views"->{
|
||||
video.views = data.nextInt()
|
||||
}
|
||||
"channel"->{
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val acKey = data.nextName()
|
||||
when(acKey.toString()){
|
||||
"displayName"-> video.username=data.nextString()
|
||||
"avatar"-> {
|
||||
if(data.peek() == JsonToken.BEGIN_OBJECT){
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val avKey = data.nextName()
|
||||
when(avKey){
|
||||
"path"-> video.userImageUrl = data.nextString()
|
||||
else-> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else
|
||||
data.skipValue()
|
||||
|
||||
}
|
||||
"uuid" -> video.userUuid = data.nextString()
|
||||
"host" -> video.userHost = data.nextString()
|
||||
"name" -> video.nameChannel = data.nextString()
|
||||
else-> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else->{
|
||||
data.skipValue()
|
||||
}
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
video.parseVideo(data)
|
||||
videos.add(video)
|
||||
}
|
||||
data.endArray()
|
||||
@ -104,10 +43,12 @@ class Videos: Client() {
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
videos = parseVideos(data)
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
con.disconnect()
|
||||
return videos
|
||||
}
|
||||
|
||||
@ -137,10 +78,13 @@ class Videos: Client() {
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
videos = parseVideos(data)
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return videos
|
||||
}
|
||||
|
||||
@ -154,10 +98,13 @@ class Videos: Client() {
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
videos = parseVideos(data)
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
|
||||
con.disconnect()
|
||||
return videos
|
||||
}
|
||||
|
||||
@ -172,10 +119,12 @@ class Videos: Client() {
|
||||
val response = InputStreamReader(con.inputStream)
|
||||
val data = JsonReader(response)
|
||||
videos = parseVideos(data)
|
||||
data.close()
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
}
|
||||
con.disconnect()
|
||||
return videos
|
||||
}
|
||||
|
||||
@ -197,12 +146,12 @@ class Videos: Client() {
|
||||
}
|
||||
data.endObject()
|
||||
data.close()
|
||||
|
||||
}
|
||||
} catch(err:Exception){
|
||||
err.printStackTrace()
|
||||
description = "Error!"
|
||||
}
|
||||
con.disconnect()
|
||||
return description
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package org.libre.agosto.p2play.models
|
||||
|
||||
import android.util.JsonReader
|
||||
import android.util.JsonToken
|
||||
|
||||
class ChannelModel (
|
||||
var id: Int = 0,
|
||||
var url: String = "",
|
||||
var nameChannel: String = "",
|
||||
var followers: Int = 0,
|
||||
var host: String = "",
|
||||
var name: String = "",
|
||||
var description: String = "",
|
||||
var support: String = "",
|
||||
var channelImg: String = ""
|
||||
) {
|
||||
fun getAccount(): String {
|
||||
return "$nameChannel@$host"
|
||||
}
|
||||
|
||||
fun parseChannel(data: JsonReader) {
|
||||
data.beginObject()
|
||||
|
||||
while (data.hasNext()) {
|
||||
|
||||
when(data.nextName()){
|
||||
"id" -> this.id = data.nextInt()
|
||||
"url" -> this.url = data.nextString()
|
||||
"name" -> this.nameChannel = data.nextString()
|
||||
"host" -> this.host = data.nextString()
|
||||
"followersCount" -> this.followers = data.nextInt()
|
||||
"displayName" -> this.name = data.nextString()
|
||||
"description" -> {
|
||||
if(data.peek() == JsonToken.STRING)
|
||||
this.description = data.nextString()
|
||||
else
|
||||
data.skipValue()
|
||||
}
|
||||
"support" -> {
|
||||
if(data.peek() == JsonToken.STRING)
|
||||
this.support = data.nextString()
|
||||
else
|
||||
data.skipValue()
|
||||
}
|
||||
"avatar" -> {
|
||||
if(data.peek() == JsonToken.BEGIN_OBJECT){
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
when(data.nextName()){
|
||||
"path" -> this.channelImg = data.nextString()
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else
|
||||
data.skipValue()
|
||||
}
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
package org.libre.agosto.p2play.models
|
||||
|
||||
import android.util.JsonReader
|
||||
import android.util.JsonToken
|
||||
|
||||
class CommentaryModel (
|
||||
var id: Int = 0,
|
||||
var threadId: Int = 0,
|
||||
@ -9,4 +12,48 @@ class CommentaryModel (
|
||||
var commentary: String = "",
|
||||
var userHost: String = "",
|
||||
var replies: Int = 0
|
||||
)
|
||||
) {
|
||||
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()
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
else -> data.skipValue()
|
||||
}
|
||||
}
|
||||
data.endObject()
|
||||
}
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
package org.libre.agosto.p2play.models
|
||||
|
||||
import android.util.JsonReader
|
||||
import android.util.JsonToken
|
||||
import java.io.Serializable
|
||||
|
||||
class VideoModel(
|
||||
@ -15,4 +17,73 @@ class VideoModel(
|
||||
var userUuid: String = "",
|
||||
var userHost: String = "",
|
||||
var nameChannel: String = ""
|
||||
):Serializable
|
||||
):Serializable {
|
||||
fun getAccount(): String {
|
||||
return "$nameChannel@$userHost"
|
||||
}
|
||||
|
||||
fun parseVideo(data: JsonReader){
|
||||
data.beginObject()
|
||||
while (data.hasNext()){
|
||||
val key = data.nextName()
|
||||
when (key.toString()) {
|
||||
"id"-> this.id = data.nextInt()
|
||||
"name"->{
|
||||
this.name= data.nextString()
|
||||
}
|
||||
"description"->{
|
||||
if(data.peek() == JsonToken.STRING)
|
||||
this.description = data.nextString()
|
||||
else
|
||||
data.skipValue()
|
||||
}
|
||||
"duration"->{
|
||||
this.duration = data.nextInt()
|
||||
}
|
||||
"thumbnailPath"->{
|
||||
this.thumbUrl = data.nextString()
|
||||
}
|
||||
"embedPath"->{
|
||||
this.embedUrl = data.nextString()
|
||||
}
|
||||
"views"->{
|
||||
this.views = data.nextInt()
|
||||
}
|
||||
"channel"->{
|
||||
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()
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user