Loading app/src/main/java/io/eelo/appinstaller/api/AppDetailRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -4,8 +4,13 @@ import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class AppDetailRequest(private val id: String) { Loading @@ -13,8 +18,23 @@ class AppDetailRequest(private val id: String) { private val reader = ObjectMapper().readerFor(Result::class.java) } fun request(): FullData { return reader.readValue<Result>(URL(Constants.BASE_URL + "apps?action=app_detail&id=$id")).app fun request(callback: (Error?, FullData?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=app_detail&id=$id") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<Result>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result.app) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class Result @JsonCreator Loading app/src/main/java/io/eelo/appinstaller/api/HomeRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -8,9 +8,14 @@ import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.InstallManager import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.ApplicationParser import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class HomeRequest { Loading @@ -18,8 +23,23 @@ class HomeRequest { private val reader = ObjectMapper().readerFor(HomeResult::class.java) } fun request(): HomeResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=list_home")) fun request(callback: (Error?, HomeResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_home") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<HomeResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class HomeResult @JsonCreator Loading app/src/main/java/io/eelo/appinstaller/api/ListApplicationsRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -7,9 +7,14 @@ import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.InstallManager import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.ApplicationParser import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class ListApplicationsRequest(private val category: String, private val page: Int, private val resultsPerPage: Int) { Loading @@ -17,8 +22,23 @@ class ListApplicationsRequest(private val category: String, private val page: In private val reader = ObjectMapper().readerFor(ListApplicationsResult::class.java) } fun request(): ListApplicationsResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=list_apps&category=$category&nres=$resultsPerPage&page=$page")) fun request(callback: (Error?, ListApplicationsResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_apps&category=$category&nres=$resultsPerPage&page=$page") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<ListApplicationsResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class ListApplicationsResult @JsonCreator Loading app/src/main/java/io/eelo/appinstaller/api/ListCategoriesRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,13 @@ package io.eelo.appinstaller.api import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class ListCategoriesRequest { Loading @@ -12,8 +17,23 @@ class ListCategoriesRequest { private val reader = ObjectMapper().readerFor(ListCategoriesResult::class.java) } fun request(): ListCategoriesResult { return reader.readValue<ListCategoriesResult>(URL(Constants.BASE_URL + "apps?action=list_cat")) fun request(callback: (Error?, ListCategoriesResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_cat") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<ListCategoriesResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class ListCategoriesResult @JsonCreator Loading app/src/main/java/io/eelo/appinstaller/api/PackageNameSearchRequest.kt +21 −2 Original line number Diff line number Diff line Loading @@ -4,8 +4,12 @@ import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class PackageNameSearchRequest(private val packageName: String) { Loading @@ -13,8 +17,23 @@ class PackageNameSearchRequest(private val packageName: String) { private val reader = ObjectMapper().readerFor(SearchResult::class.java) } fun request(): SearchResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=search&keyword=$packageName&by=package_name")) fun request(callback: (Error?, SearchResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=search&keyword=$packageName&by=package_name") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<SearchResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class SearchResult @JsonCreator Loading Loading
app/src/main/java/io/eelo/appinstaller/api/AppDetailRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -4,8 +4,13 @@ import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class AppDetailRequest(private val id: String) { Loading @@ -13,8 +18,23 @@ class AppDetailRequest(private val id: String) { private val reader = ObjectMapper().readerFor(Result::class.java) } fun request(): FullData { return reader.readValue<Result>(URL(Constants.BASE_URL + "apps?action=app_detail&id=$id")).app fun request(callback: (Error?, FullData?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=app_detail&id=$id") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<Result>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result.app) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class Result @JsonCreator Loading
app/src/main/java/io/eelo/appinstaller/api/HomeRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -8,9 +8,14 @@ import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.InstallManager import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.ApplicationParser import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class HomeRequest { Loading @@ -18,8 +23,23 @@ class HomeRequest { private val reader = ObjectMapper().readerFor(HomeResult::class.java) } fun request(): HomeResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=list_home")) fun request(callback: (Error?, HomeResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_home") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<HomeResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class HomeResult @JsonCreator Loading
app/src/main/java/io/eelo/appinstaller/api/ListApplicationsRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -7,9 +7,14 @@ import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.InstallManager import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.ApplicationParser import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class ListApplicationsRequest(private val category: String, private val page: Int, private val resultsPerPage: Int) { Loading @@ -17,8 +22,23 @@ class ListApplicationsRequest(private val category: String, private val page: In private val reader = ObjectMapper().readerFor(ListApplicationsResult::class.java) } fun request(): ListApplicationsResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=list_apps&category=$category&nres=$resultsPerPage&page=$page")) fun request(callback: (Error?, ListApplicationsResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_apps&category=$category&nres=$resultsPerPage&page=$page") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<ListApplicationsResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class ListApplicationsResult @JsonCreator Loading
app/src/main/java/io/eelo/appinstaller/api/ListCategoriesRequest.kt +22 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,13 @@ package io.eelo.appinstaller.api import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.lang.Exception import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class ListCategoriesRequest { Loading @@ -12,8 +17,23 @@ class ListCategoriesRequest { private val reader = ObjectMapper().readerFor(ListCategoriesResult::class.java) } fun request(): ListCategoriesResult { return reader.readValue<ListCategoriesResult>(URL(Constants.BASE_URL + "apps?action=list_cat")) fun request(callback: (Error?, ListCategoriesResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=list_cat") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<ListCategoriesResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class ListCategoriesResult @JsonCreator Loading
app/src/main/java/io/eelo/appinstaller/api/PackageNameSearchRequest.kt +21 −2 Original line number Diff line number Diff line Loading @@ -4,8 +4,12 @@ import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper import io.eelo.appinstaller.application.model.data.FullData import io.eelo.appinstaller.utils.Error import io.eelo.appinstaller.utils.Constants import java.io.IOException import java.net.SocketTimeoutException import java.net.URL import javax.net.ssl.HttpsURLConnection class PackageNameSearchRequest(private val packageName: String) { Loading @@ -13,8 +17,23 @@ class PackageNameSearchRequest(private val packageName: String) { private val reader = ObjectMapper().readerFor(SearchResult::class.java) } fun request(): SearchResult { return reader.readValue(URL(Constants.BASE_URL + "apps?action=search&keyword=$packageName&by=package_name")) fun request(callback: (Error?, SearchResult?) -> Unit) { try { val url = URL(Constants.BASE_URL + "apps?action=search&keyword=$packageName&by=package_name") val urlConnection = url.openConnection() as HttpsURLConnection urlConnection.requestMethod = Constants.REQUEST_METHOD urlConnection.connectTimeout = Constants.CONNECT_TIMEOUT urlConnection.readTimeout = Constants.READ_TIMEOUT val result = reader.readValue<SearchResult>(urlConnection.inputStream) urlConnection.disconnect() callback.invoke(null, result) } catch (e: SocketTimeoutException) { callback.invoke(Error.REQUEST_TIMEOUT, null) } catch (e: IOException) { callback.invoke(Error.SERVER_UNAVAILABLE, null) } catch (e: Exception) { callback.invoke(Error.UNKNOWN, null) } } class SearchResult @JsonCreator Loading