Skip to content

Commit

Permalink
refcator
Browse files Browse the repository at this point in the history
  • Loading branch information
PruthiviRaj27 committed Aug 5, 2024
1 parent 6844755 commit 71d7142
Showing 1 changed file with 3 additions and 28 deletions.
31 changes: 3 additions & 28 deletions player/src/main/java/com/tpstream/player/util/NetworkClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,12 @@ internal class NetworkClient<T : Any>(val klass: Class<T>) {
private var client: OkHttpClient = OkHttpClient();
private val gson = Gson()

fun get(url: String, callback: TPResponse<T>? = null): T? {
fun get(url: String, callback: TPResponse<T>) {
val request = Request.Builder().url(URL(url)).build()
return makeRequest(callback, request)
return makeRequest(request, callback)
}

fun post(url: String, body: RequestBody, callback: TPResponse<T>? = null): T? {
val request = Request.Builder().url(URL(url)).post(body).build()
return makeRequest(callback, request)
}

private fun makeRequest(
callback: TPResponse<T>?,
request: Request
): T? {
return if (callback != null) {
makeAsyncRequest(request, callback)
null
} else {
makeSyncRequest(request)
}
}

private fun makeAsyncRequest(request: Request, callback: TPResponse<T>) {
private fun makeRequest(request: Request, callback: TPResponse<T>) {
client.newCall(request).enqueue(object: Callback {
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful){
Expand All @@ -69,14 +52,6 @@ internal class NetworkClient<T : Any>(val klass: Class<T>) {
})
}

private fun makeSyncRequest(request: Request): T? {
val response = client.newCall(request).execute()
if (response.isSuccessful) {
return gson.fromJson(response.body?.charStream(), klass)
}
throw TPException.httpError(response)
}

interface TPResponse<T> {
fun onSuccess(result: T)
fun onFailure(exception: TPException)
Expand Down

0 comments on commit 71d7142

Please sign in to comment.