From 8f9942196a5e6d798b4c8c8e0ddab1ff4b6eba88 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Mon, 1 Feb 2021 21:59:31 -0800 Subject: [PATCH] Give addons download IDs like new a-c does so we can look them up from links --- .../components/PagedAddonCollectionProvider.kt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt index 57be8f920..320ed66f0 100644 --- a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt +++ b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt @@ -239,13 +239,15 @@ internal fun JSONObject.getAddons(): List { internal fun JSONObject.toAddons(): Addon { return with(getJSONObject("addon")) { + val download = getDownload() Addon( id = getSafeString("guid"), authors = getAuthors(), categories = getCategories(), createdAt = getSafeString("created"), updatedAt = getSafeString("last_updated"), - downloadUrl = getDownloadUrl(), + downloadId = download?.getDownloadId() ?: "", + downloadUrl = download?.getDownloadUrl() ?: "", version = getCurrentVersion(), permissions = getPermissions(), translatableName = getSafeMap("name"), @@ -298,11 +300,18 @@ internal fun JSONObject.getCurrentVersion(): String { return optJSONObject("current_version")?.getSafeString("version") ?: "" } -internal fun JSONObject.getDownloadUrl(): String { +internal fun JSONObject.getDownload(): JSONObject? { return (getJSONObject("current_version") .optJSONArray("files") ?.getJSONObject(0)) - ?.getSafeString("url") ?: "" +} + +internal fun JSONObject.getDownloadId(): String { + return getSafeString("id") +} + +internal fun JSONObject.getDownloadUrl(): String { + return getSafeString("url") } internal fun JSONObject.getAuthors(): List {