diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt index 20a2a2d62..411c436c6 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt @@ -17,6 +17,7 @@ package com.hippo.ehviewer.client import com.hippo.ehviewer.Settings import com.hippo.ehviewer.network.UrlBuilder +import okhttp3.HttpUrl.Companion.toHttpUrl object EhUrl { const val SITE_E = 0 @@ -127,7 +128,7 @@ object EhUrl { } fun getGalleryDetailUrl(gid: Long, token: String?, index: Int, allComment: Boolean): String { - val builder = UrlBuilder(host + "g/" + gid + '/' + token + '/') + val builder = UrlBuilder((host + "g/" + gid + '/' + token + '/').toHttpUrl().newBuilder()) if (index != 0) { builder.addQuery("p", index) } @@ -138,7 +139,7 @@ object EhUrl { } fun getGalleryMultiPageViewerUrl(gid: Long, token: String): String { - val builder = UrlBuilder(host + "mpv/" + gid + '/' + token + '/') + val builder = UrlBuilder((host + "mpv/" + gid + '/' + token + '/').toHttpUrl().newBuilder()) return builder.build() } diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.kt b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.kt index f72863f39..cb1ea8792 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.kt @@ -20,6 +20,7 @@ import com.hippo.ehviewer.client.EhUrl import com.hippo.ehviewer.network.UrlBuilder import com.hippo.ehviewer.util.encodeUTF8 import kotlinx.parcelize.Parcelize +import okhttp3.HttpUrl.Companion.toHttpUrl @Parcelize class FavListUrlBuilder( @@ -35,7 +36,7 @@ class FavListUrlBuilder( } fun build(): String { - val ub = UrlBuilder(EhUrl.favoritesUrl) + val ub = UrlBuilder(EhUrl.favoritesUrl.toHttpUrl().newBuilder()) if (isValidFavCat(favCat)) { ub.addQuery("favcat", favCat.toString()) } else if (favCat == FAV_CAT_ALL) { diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.kt b/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.kt index 646cd7a6d..35aaca2be 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/data/ListUrlBuilder.kt @@ -25,6 +25,7 @@ import com.hippo.ehviewer.ui.legacy.AdvanceSearchTable import com.hippo.ehviewer.util.encodeUTF8 import com.hippo.ehviewer.yorozuya.toIntOrDefault import kotlinx.parcelize.Parcelize +import okhttp3.HttpUrl.Companion.toHttpUrl import java.io.UnsupportedEncodingException import java.net.URLDecoder @@ -276,7 +277,7 @@ data class ListUrlBuilder( } else { EhUrl.watchedUrl } - val ub = UrlBuilder(url) + val ub = UrlBuilder(url.toHttpUrl().newBuilder()) if (this.category != EhUtils.NONE) { ub.addQuery("f_cats", category.inv() and EhUtils.ALL_CATEGORY) } diff --git a/app/src/main/java/com/hippo/ehviewer/network/UrlBuilder.kt b/app/src/main/java/com/hippo/ehviewer/network/UrlBuilder.kt index b89126ad7..75daabe72 100644 --- a/app/src/main/java/com/hippo/ehviewer/network/UrlBuilder.kt +++ b/app/src/main/java/com/hippo/ehviewer/network/UrlBuilder.kt @@ -1,9 +1,9 @@ package com.hippo.ehviewer.network -import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.HttpUrl -class UrlBuilder(mRootUrl: String) { - private val url = mRootUrl.toHttpUrl().newBuilder() +@JvmInline +value class UrlBuilder(val url: HttpUrl.Builder) { fun addQuery(key: String, value: Any) { url.addEncodedQueryParameter(key, value.toString()) }