diff --git a/core/data/src/main/java/ru/tech/imageresizershrinker/core/data/remote/AndroidRemoteResourcesStore.kt b/core/data/src/main/java/ru/tech/imageresizershrinker/core/data/remote/AndroidRemoteResourcesStore.kt index 71b69679d9..4048370dd8 100644 --- a/core/data/src/main/java/ru/tech/imageresizershrinker/core/data/remote/AndroidRemoteResourcesStore.kt +++ b/core/data/src/main/java/ru/tech/imageresizershrinker/core/data/remote/AndroidRemoteResourcesStore.kt @@ -216,6 +216,53 @@ internal class AndroidRemoteResourcesStore @Inject constructor( }.onFailure(onFailure).getOrNull() } + override suspend fun getResourceLinks( + name: String + ): RemoteResources? = withContext(defaultDispatcher) { + runCatching { + val connection = URL(getResourcesLink(name)).openConnection() as HttpURLConnection + + connection.apply { + doOutput = false + requestMethod = "GET" + setRequestProperty("Accept-Charset", Charsets.UTF_8.toString()) + connectTimeout = 15000 + connect() + } + + val result = StringBuilder() + + connection.inputStream.bufferedReader().use { reader -> + var line: String? + while ((reader.readLine().also { line = it }) != null) { + result.append(line) + } + } + + var items = JSONArray(result.toString()) + + val resources = mutableSetOf() + + for (i in 0.. Unit + crossinline block: suspend () -> Unit ) { componentScope.launch { delay(time)