From 5a5da0cacef1027363c32003428dc58fba4c8b44 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:19:43 +0800 Subject: [PATCH] Convert EhUrl to kotlin --- .../com/hippo/ehviewer/client/EhEngine.kt | 54 ++-- .../java/com/hippo/ehviewer/client/EhUrl.kt | 263 ++++++++---------- .../ehviewer/client/data/FavListUrlBuilder.kt | 2 +- .../ehviewer/client/data/ListUrlBuilder.kt | 12 +- .../preference/RestoreDownloadPreference.kt | 2 +- .../hippo/ehviewer/ui/scene/FavoritesScene.kt | 2 +- 6 files changed, 151 insertions(+), 184 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.kt b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.kt index 68ed73d5d..389ddd888 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.kt @@ -213,7 +213,7 @@ object EhEngine { @Throws(Throwable::class) suspend fun getGalleryList(url: String): GalleryListParser.Result { - val referer = EhUrl.getReferer() + val referer = EhUrl.referer Log.d(TAG, url) val request = EhRequestBuilder(url, referer).build() val call = okHttpClient.newCall(request) @@ -279,8 +279,8 @@ object EhEngine { } json.put("gidlist", ja) json.put("namespace", 1) - val url = EhUrl.getApiUrl() - val origin = EhUrl.getOrigin() + val url = EhUrl.apiUrl + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(json.toString().toRequestBody(MEDIA_TYPE_JSON)) @@ -306,7 +306,7 @@ object EhEngine { @Throws(Throwable::class) suspend fun getGalleryDetail(url: String?): GalleryDetail { - val referer = EhUrl.getReferer() + val referer = EhUrl.referer Log.d(TAG, url!!) val request = EhRequestBuilder(url, referer).build() val call = okHttpClient.newCall(request) @@ -334,7 +334,7 @@ object EhEngine { @Throws(Throwable::class) suspend fun getPreviewSet(url: String?): Pair { - val referer = EhUrl.getReferer() + val referer = EhUrl.referer Log.d(TAG, url!!) val request = EhRequestBuilder(url, referer).build() val call = okHttpClient.newCall(request) @@ -372,9 +372,9 @@ object EhEngine { json.put("token", token) json.put("rating", ceil((rating * 2).toDouble()).toInt()) val requestBody: RequestBody = json.toString().toRequestBody(MEDIA_TYPE_JSON) - val url = EhUrl.getApiUrl() + val url = EhUrl.apiUrl val referer = EhUrl.getGalleryDetailUrl(gid, token) - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(requestBody) @@ -409,7 +409,7 @@ object EhEngine { builder.add("commenttext_edit", comment) builder.add("edit_comment", id) } - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url!!) val request = EhRequestBuilder(url, url, origin) .post(builder.build()) @@ -451,9 +451,9 @@ object EhEngine { ) ) val requestBody: RequestBody = json.toString().toRequestBody(MEDIA_TYPE_JSON) - val url = EhUrl.getApiUrl() - val referer = EhUrl.getReferer() - val origin = EhUrl.getOrigin() + val url = EhUrl.apiUrl + val referer = EhUrl.referer + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(requestBody) @@ -480,7 +480,7 @@ object EhEngine { suspend fun getFavorites( url: String ): FavoritesParser.Result { - val referer = EhUrl.getReferer() + val referer = EhUrl.referer Log.d(TAG, url) val request = EhRequestBuilder(url, referer).build() val call = okHttpClient.newCall(request) @@ -534,7 +534,7 @@ object EhEngine { builder.add("submit", "Apply Changes") builder.add("update", "1") val url = EhUrl.getAddFavorites(gid, token) - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, url, origin) .post(builder.build()) @@ -597,7 +597,7 @@ object EhEngine { builder.add("modifygids[]", gid.toString()) } builder.add("apply", "Apply") - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, url, origin) .post(builder.build()) @@ -703,7 +703,7 @@ object EhEngine { } val url = EhUrl.getDownloadArchive(gid, token, or) val referer = EhUrl.getGalleryDetailUrl(gid, token) - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(builder.build()) @@ -799,7 +799,7 @@ object EhEngine { @Throws(Throwable::class) suspend fun getUConfig(): Void? { - val url = EhUrl.getUConfigUrl() + val url = EhUrl.uConfigUrl Log.d(TAG, url) var request = EhRequestBuilder(url, null).build() var call = okHttpClient.newCall(request) @@ -855,9 +855,9 @@ object EhEngine { json.put("comment_id", commentId) json.put("comment_vote", commentVote) val requestBody: RequestBody = json.toString().toRequestBody(MEDIA_TYPE_JSON) - val url = EhUrl.getApiUrl() - val referer = EhUrl.getReferer() - val origin = EhUrl.getOrigin() + val url = EhUrl.apiUrl + val referer = EhUrl.referer + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(requestBody) @@ -894,9 +894,9 @@ object EhEngine { json.put("tags", tags) json.put("vote", vote) val requestBody: RequestBody = json.toString().toRequestBody(MEDIA_TYPE_JSON) - val url = EhUrl.getApiUrl() - val referer = EhUrl.getReferer() - val origin = EhUrl.getOrigin() + val url = EhUrl.apiUrl + val referer = EhUrl.referer + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(requestBody) @@ -958,9 +958,9 @@ object EhEngine { Headers.headersOf("Content-Disposition", "form-data; name=\"f_sfile\""), "File Search".toRequestBody() ) - val url = EhUrl.getImageSearchUrl() - val referer = EhUrl.getReferer() - val origin = EhUrl.getOrigin() + val url = EhUrl.imageSearchUrl + val referer = EhUrl.referer + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(builder.build()) @@ -1032,12 +1032,12 @@ object EhEngine { json.put("imgkey", pToken) json.put("showkey", showKey) val requestBody: RequestBody = json.toString().toRequestBody(MEDIA_TYPE_JSON) - val url = EhUrl.getApiUrl() + val url = EhUrl.apiUrl var referer: String? = null if (index > 0 && previousPToken != null) { referer = EhUrl.getPageUrl(gid, index - 1, previousPToken) } - val origin = EhUrl.getOrigin() + val origin = EhUrl.origin Log.d(TAG, url) val request = EhRequestBuilder(url, referer, origin) .post(requestBody) 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 d03ea3236..d8079b231 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhUrl.kt @@ -13,184 +13,151 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package com.hippo.ehviewer.client -package com.hippo.ehviewer.client; +import com.hippo.ehviewer.Settings +import com.hippo.network.UrlBuilder -import androidx.annotation.NonNull; +object EhUrl { + const val SITE_E = 0 + const val SITE_EX = 1 + const val DOMAIN_EX = "exhentai.org" + const val DOMAIN_E = "e-hentai.org" + const val DOMAIN_LOFI = "lofi.e-hentai.org" + const val HOST_EX = "https://$DOMAIN_EX/" + const val API_EX = HOST_EX + "api.php" + const val URL_FAVORITES_EX = HOST_EX + "favorites.php" + const val URL_UCONFIG_EX = HOST_EX + "uconfig.php" + const val URL_MY_TAGS_EX = HOST_EX + "mytags" + const val URL_WATCHED_EX = HOST_EX + "watched" + const val HOST_E = "https://$DOMAIN_E/" + const val API_E = HOST_E + "api.php" + const val URL_FAVORITES_E = HOST_E + "favorites.php" + const val URL_UCONFIG_E = HOST_E + "uconfig.php" + const val URL_MY_TAGS_E = HOST_E + "mytags" + const val URL_WATCHED_E = HOST_E + "watched" + const val API_SIGN_IN = "https://forums.e-hentai.org/index.php?act=Login&CODE=01" + const val URL_POPULAR_E = "https://e-hentai.org/popular" + const val URL_POPULAR_EX = "https://exhentai.org/popular" + const val URL_IMAGE_SEARCH_E = "https://upload.e-hentai.org/image_lookup.php" + const val URL_IMAGE_SEARCH_EX = "https://exhentai.org/upload/image_lookup.php" + const val URL_SIGN_IN = "https://forums.e-hentai.org/index.php?act=Login" + const val URL_REGISTER = "https://forums.e-hentai.org/index.php?act=Reg&CODE=00" + const val URL_FORUMS = "https://forums.e-hentai.org/" + const val REFERER_EX = "https://$DOMAIN_EX" + const val ORIGIN_EX = REFERER_EX + const val REFERER_E = "https://$DOMAIN_E" + const val ORIGIN_E = REFERER_E -import com.hippo.ehviewer.Settings; -import com.hippo.network.UrlBuilder; - -public class EhUrl { - - public static final int SITE_E = 0; - public static final int SITE_EX = 1; - - public static final String DOMAIN_EX = "exhentai.org"; - public static final String DOMAIN_E = "e-hentai.org"; - public static final String DOMAIN_LOFI = "lofi.e-hentai.org"; - - public static final String HOST_EX = "https://" + DOMAIN_EX + "/"; - public static final String API_EX = HOST_EX + "api.php"; - public static final String URL_FAVORITES_EX = HOST_EX + "favorites.php"; - public static final String URL_UCONFIG_EX = HOST_EX + "uconfig.php"; - public static final String URL_MY_TAGS_EX = HOST_EX + "mytags"; - public static final String URL_WATCHED_EX = HOST_EX + "watched"; - public static final String HOST_E = "https://" + DOMAIN_E + "/"; - public static final String API_E = HOST_E + "api.php"; - public static final String URL_FAVORITES_E = HOST_E + "favorites.php"; - public static final String URL_UCONFIG_E = HOST_E + "uconfig.php"; - public static final String URL_MY_TAGS_E = HOST_E + "mytags"; - public static final String URL_WATCHED_E = HOST_E + "watched"; - public static final String API_SIGN_IN = "https://forums.e-hentai.org/index.php?act=Login&CODE=01"; - public static final String URL_POPULAR_E = "https://e-hentai.org/popular"; - public static final String URL_POPULAR_EX = "https://exhentai.org/popular"; - public static final String URL_IMAGE_SEARCH_E = "https://upload.e-hentai.org/image_lookup.php"; - public static final String URL_IMAGE_SEARCH_EX = "https://exhentai.org/upload/image_lookup.php"; - public static final String URL_SIGN_IN = "https://forums.e-hentai.org/index.php?act=Login"; - public static final String URL_REGISTER = "https://forums.e-hentai.org/index.php?act=Reg&CODE=00"; - public static final String URL_FORUMS = "https://forums.e-hentai.org/"; - public static final String REFERER_EX = "https://" + DOMAIN_EX; - public static final String ORIGIN_EX = REFERER_EX; - public static final String REFERER_E = "https://" + DOMAIN_E; - public static final String ORIGIN_E = REFERER_E; - - public static String getGalleryDetailUrl(long gid, String token) { - return getGalleryDetailUrl(gid, token, 0, false); - } - - public static String getHost() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return HOST_E; - case SITE_EX: - return HOST_EX; + val host: String + get() = when (Settings.getGallerySite()) { + SITE_E -> HOST_E + SITE_EX -> HOST_EX + else -> HOST_E } - } - public static String getFavoritesUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_FAVORITES_E; - case SITE_EX: - return URL_FAVORITES_EX; + val favoritesUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_FAVORITES_E + SITE_EX -> URL_FAVORITES_EX + else -> URL_FAVORITES_E } - } - public static String getApiUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return API_E; - case SITE_EX: - return API_EX; + val apiUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> API_E + SITE_EX -> API_EX + else -> API_E } - } - public static String getReferer() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return REFERER_E; - case SITE_EX: - return REFERER_EX; + @JvmStatic + val referer: String + get() = when (Settings.getGallerySite()) { + SITE_E -> REFERER_E + SITE_EX -> REFERER_EX + else -> REFERER_E } - } - public static String getOrigin() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return ORIGIN_E; - case SITE_EX: - return ORIGIN_EX; + val origin: String + get() = when (Settings.getGallerySite()) { + SITE_E -> ORIGIN_E + SITE_EX -> ORIGIN_EX + else -> ORIGIN_E } - } - public static String getUConfigUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_UCONFIG_E; - case SITE_EX: - return URL_UCONFIG_EX; + @JvmStatic + val uConfigUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_UCONFIG_E + SITE_EX -> URL_UCONFIG_EX + else -> URL_UCONFIG_E } - } - public static String getMyTagsUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_MY_TAGS_E; - case SITE_EX: - return URL_MY_TAGS_EX; + @JvmStatic + val myTagsUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_MY_TAGS_E + SITE_EX -> URL_MY_TAGS_EX + else -> URL_MY_TAGS_E } + + val popularUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_POPULAR_E + SITE_EX -> URL_POPULAR_EX + else -> URL_POPULAR_E + } + + val imageSearchUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_IMAGE_SEARCH_E + SITE_EX -> URL_IMAGE_SEARCH_EX + else -> URL_IMAGE_SEARCH_E + } + + val watchedUrl: String + get() = when (Settings.getGallerySite()) { + SITE_E -> URL_WATCHED_E + SITE_EX -> URL_WATCHED_EX + else -> URL_WATCHED_E + } + + fun getGalleryDetailUrl(gid: Long, token: String?): String { + return getGalleryDetailUrl(gid, token, 0, false) } - public static String getGalleryDetailUrl(long gid, String token, int index, boolean allComment) { - UrlBuilder builder = new UrlBuilder(getHost() + "g/" + gid + '/' + token + '/'); + @JvmStatic + fun getGalleryDetailUrl(gid: Long, token: String?, index: Int, allComment: Boolean): String { + val builder = UrlBuilder(host + "g/" + gid + '/' + token + '/') if (index != 0) { - builder.addQuery("p", index); + builder.addQuery("p", index) } if (allComment) { - builder.addQuery("hc", 1); + builder.addQuery("hc", 1) } - return builder.build(); + return builder.build() } - public static String getGalleryMultiPageViewerUrl(long gid, String token) { - UrlBuilder builder = new UrlBuilder(getHost() + "mpv/" + gid + '/' + token + '/'); - return builder.build(); + @JvmStatic + fun getGalleryMultiPageViewerUrl(gid: Long, token: String): String { + val builder = UrlBuilder(host + "mpv/" + gid + '/' + token + '/') + return builder.build() } - public static String getPageUrl(long gid, int index, String pToken) { - return getHost() + "s/" + pToken + '/' + gid + '-' + (index + 1); + @JvmStatic + fun getPageUrl(gid: Long, index: Int, pToken: String): String { + return host + "s/" + pToken + '/' + gid + '-' + (index + 1) } - public static String getAddFavorites(long gid, String token) { - return getHost() + "gallerypopups.php?gid=" + gid + "&t=" + token + "&act=addfav"; + fun getAddFavorites(gid: Long, token: String?): String { + return host + "gallerypopups.php?gid=" + gid + "&t=" + token + "&act=addfav" } - public static String getDownloadArchive(long gid, String token, String or) { - return getHost() + "archiver.php?gid=" + gid + "&token=" + token + "&or=" + or; + fun getDownloadArchive(gid: Long, token: String?, or: String): String { + return host + "archiver.php?gid=" + gid + "&token=" + token + "&or=" + or } - public static String getTagDefinitionUrl(String tag) { - return "https://ehwiki.org/wiki/" + tag.replace(' ', '_'); + fun getTagDefinitionUrl(tag: String): String { + return "https://ehwiki.org/wiki/" + tag.replace(' ', '_') } - - @NonNull - public static String getPopularUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_POPULAR_E; - case SITE_EX: - return URL_POPULAR_EX; - } - } - - @NonNull - public static String getImageSearchUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_IMAGE_SEARCH_E; - case SITE_EX: - return URL_IMAGE_SEARCH_EX; - } - } - - @NonNull - public static String getWatchedUrl() { - switch (Settings.getGallerySite()) { - default: - case SITE_E: - return URL_WATCHED_E; - case SITE_EX: - return URL_WATCHED_EX; - } - } -} +} \ No newline at end of file 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 8e1058916..38f83dd96 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 @@ -35,7 +35,7 @@ class FavListUrlBuilder( } fun build(): String { - val ub = UrlBuilder(EhUrl.getFavoritesUrl()) + val ub = UrlBuilder(EhUrl.favoritesUrl) 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 a05b8308b..5255f6848 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 @@ -275,9 +275,9 @@ data class ListUrlBuilder( return when (mode) { MODE_NORMAL, MODE_SUBSCRIPTION -> { val url: String = if (mode == MODE_NORMAL) { - EhUrl.getHost() + EhUrl.host } else { - EhUrl.getWatchedUrl() + EhUrl.watchedUrl } val ub = UrlBuilder(url) if (this.category != EhUtils.NONE) { @@ -326,7 +326,7 @@ data class ListUrlBuilder( } MODE_UPLOADER -> { - val sb = StringBuilder(EhUrl.getHost()) + val sb = StringBuilder(EhUrl.host) mKeyword?.let { sb.append("uploader/") sb.append(encodeUTF8(it)) @@ -344,7 +344,7 @@ data class ListUrlBuilder( } MODE_TAG -> { - val sb = StringBuilder(EhUrl.getHost()) + val sb = StringBuilder(EhUrl.host) mKeyword?.let { sb.append("tag/") sb.append(encodeUTF8(it)) @@ -361,8 +361,8 @@ data class ListUrlBuilder( sb.toString() } - MODE_WHATS_HOT -> EhUrl.getPopularUrl() - MODE_IMAGE_SEARCH -> EhUrl.getImageSearchUrl() + MODE_WHATS_HOT -> EhUrl.popularUrl + MODE_IMAGE_SEARCH -> EhUrl.imageSearchUrl MODE_TOPLIST -> { val sb = StringBuilder(EhUrl.HOST_E) sb.append("toplist.php?tl=") diff --git a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt index cd663f299..2e1721348 100644 --- a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt +++ b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt @@ -97,7 +97,7 @@ class RestoreDownloadPreference constructor( runBlocking { fillGalleryListByApi( ArrayList(restoreItemList), - EhUrl.getReferer() + EhUrl.referer ) } } catch (e: Throwable) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt index d0b976afa..0270263b6 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.kt @@ -941,7 +941,7 @@ class FavoritesScene : SearchBarScene(), OnDragHandlerListener, OnClickFabListen mModifyGiList.clear() val url: String = if (local) { // Local fav is shown now, but operation need be done for cloud fav - EhUrl.getFavoritesUrl() + EhUrl.favoritesUrl } else { mUrlBuilder!!.build() }