165 lines
4.5 KiB
Kotlin
165 lines
4.5 KiB
Kotlin
package org.libre.agosto.p2play.ajax
|
|
|
|
import android.util.JsonReader
|
|
import java.io.InputStreamReader
|
|
|
|
class Actions: Client() {
|
|
|
|
fun subscribe(token: String, account: String):Int{
|
|
val con = this._newCon("users/me/subscriptions","POST", token)
|
|
val params:String= "uri=$account"
|
|
con.outputStream.write(params.toByteArray())
|
|
var response = 0
|
|
|
|
try {
|
|
if (con.responseCode == 204) {
|
|
response = 1
|
|
}
|
|
}
|
|
catch (err: Exception){
|
|
err.printStackTrace()
|
|
response = -1
|
|
}
|
|
|
|
con.disconnect()
|
|
return response
|
|
}
|
|
|
|
fun unSubscribe(token: String, account: String):Int{
|
|
val con = this._newCon("users/me/subscriptions/$account","DELETE", token)
|
|
var response = 0
|
|
|
|
try {
|
|
if (con.responseCode == 204) {
|
|
response = 1
|
|
}
|
|
}
|
|
catch (err: Exception){
|
|
err.printStackTrace()
|
|
response = -1
|
|
}
|
|
|
|
con.disconnect()
|
|
return response
|
|
}
|
|
|
|
fun getSubscription(token: String, account: String): Boolean{
|
|
val con = this._newCon("users/me/subscriptions/exist?uris=$account","GET", token)
|
|
var isSubscribed = false
|
|
|
|
try {
|
|
if (con.responseCode == 200) {
|
|
val response = InputStreamReader(con.inputStream)
|
|
val data = JsonReader(response)
|
|
data.beginObject()
|
|
while (data.hasNext()){
|
|
val key = data.nextName()
|
|
when (key.toString()) {
|
|
account->{
|
|
isSubscribed = data.nextBoolean()
|
|
}
|
|
else->{
|
|
data.skipValue()
|
|
}
|
|
}
|
|
}
|
|
data.close()
|
|
}
|
|
}
|
|
catch (err: Exception){
|
|
err.printStackTrace()
|
|
isSubscribed = false
|
|
}
|
|
|
|
con.disconnect()
|
|
return isSubscribed
|
|
}
|
|
|
|
fun rate(token: String, id_video: Int, rate: String):Int{
|
|
val con = this._newCon("videos/$id_video/rate","PUT", token)
|
|
val params = "rating=$rate"
|
|
con.outputStream.write(params.toByteArray())
|
|
var response = 0
|
|
|
|
try {
|
|
if (con.responseCode == 204) {
|
|
response = 1
|
|
}
|
|
}
|
|
catch (err: Exception){
|
|
err.printStackTrace()
|
|
response = -1
|
|
}
|
|
|
|
con.disconnect()
|
|
return response
|
|
}
|
|
|
|
fun getRate(token: String, id_video: Int):String{
|
|
val con = this._newCon("users/me/videos/$id_video/rating","GET", token)
|
|
var rating = "none"
|
|
|
|
try {
|
|
if (con.responseCode == 200) {
|
|
val response = InputStreamReader(con.inputStream)
|
|
val data = JsonReader(response)
|
|
data.beginObject()
|
|
while (data.hasNext()){
|
|
val key = data.nextName()
|
|
when (key.toString()) {
|
|
"rating"->{
|
|
rating = data.nextString()
|
|
}
|
|
else->{
|
|
data.skipValue()
|
|
}
|
|
}
|
|
}
|
|
con.disconnect()
|
|
}
|
|
}
|
|
catch (err: Exception){
|
|
err.printStackTrace()
|
|
rating = "none"
|
|
}
|
|
|
|
con.disconnect()
|
|
return rating
|
|
}
|
|
|
|
fun reportVideo(videoId: Int, reason: String, token: String): Boolean {
|
|
val con = this._newCon("videos/$videoId/abuse", "POST", token)
|
|
val params = "reason=$reason"
|
|
con.outputStream.write(params.toByteArray())
|
|
|
|
var response = false
|
|
try {
|
|
if(con.responseCode == 200){
|
|
response = true
|
|
}
|
|
} catch (err: Exception) {
|
|
err.printStackTrace()
|
|
response = false
|
|
}
|
|
|
|
return response
|
|
}
|
|
|
|
fun watchVideo(videoId: Int, token: String): Boolean {
|
|
val con = this._newCon("videos/$videoId/watching", "PUT", token)
|
|
val params = "currentTime=1"
|
|
con.outputStream.write(params.toByteArray())
|
|
|
|
var response = false
|
|
try {
|
|
if(con.responseCode == 204){
|
|
response = true
|
|
}
|
|
} catch (err: Exception) {
|
|
err.printStackTrace()
|
|
response = false
|
|
}
|
|
|
|
return response
|
|
}
|
|
} |