Centralize error handling in OAuthManager and Fix error on sending parameters in urlencode format that are not correctly urlencoded

This commit is contained in:
Anthony Chomienne 2021-07-07 17:33:21 +02:00
parent c5f5007945
commit 45fa4af1a9

View File

@ -15,6 +15,7 @@ import java.io.InputStreamReader
import java.io.OutputStream
import java.net.HttpURLConnection
import java.net.URL
import java.net.URLEncoder
import java.net.UnknownHostException
import java.util.*
import java.util.concurrent.Semaphore
@ -181,13 +182,7 @@ class OAuthManager {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
} else {
if(response.isNotEmpty()) {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
handleError(message,response)
}
}
@ -210,8 +205,12 @@ class OAuthManager {
if (BuildConfig.DEBUG && oauth == null) {
error("Missing OAUTH DATA")
}
val username: String = message.args.getString(USERNAME,"")
val password: String = message.args.getString(PASSWORD,"")
var username: String = message.args.getString(USERNAME,"")
var password: String = message.args.getString(PASSWORD,"")
username = URLEncoder.encode(username,"UTF-8")
password = URLEncoder.encode(password,"UTF-8")
println(password)
var output = ""
output += "client_id=" + (oauth?.clientId ?: "")
@ -261,13 +260,7 @@ class OAuthManager {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
} else {
if(response.isNotEmpty()) {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
handleError(message,response)
}
}
@ -338,13 +331,7 @@ class OAuthManager {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
} else {
if(response.isNotEmpty()) {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
handleError(message,response)
}
}
@ -413,17 +400,7 @@ class OAuthManager {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
} else {
if (response.isNotEmpty()) {
try {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} catch (e: Exception) {
message.listener?.onError(message.context.getString(R.string.json_error))
}
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
handleError(message,response)
}
}
}
@ -471,17 +448,21 @@ class OAuthManager {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
} else {
if(response.isNotEmpty()) {
try {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} catch (e: Exception) {
message.listener?.onError(message.context.getString(R.string.json_error))
}
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
handleError(message,response)
}
}
private fun handleError(message: Message, response: String) {
if(response.isNotEmpty()) {
try {
val rootObj = JSONObject(response)
val error = rootObj.getString("error")
message.listener?.onError(error)
} catch (e: Exception) {
message.listener?.onError(message.context.getString(R.string.json_error))
}
} else {
message.listener?.onError(message.context.getString(R.string.unknwon_error))
}
}