From b69b72cd1bd60dc3769a74afede3b71e6c0f2971 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 5 Dec 2022 09:57:42 +0800 Subject: [PATCH] Resolve #489 --- app/build.gradle | 6 ++++++ app/src/main/java/com/hippo/Native.kt | 1 - app/src/main/java/com/hippo/ehviewer/EhApplication.kt | 6 +----- .../java/com/hippo/ehviewer/ui/scene/SignInScene.java | 2 +- app/src/main/java/com/hippo/image/Image.kt | 6 +++--- .../main/java/com/hippo/network/StatusCodeException.kt | 10 ++++------ app/src/main/res/layout-television/scene_login.xml | 4 ++-- app/src/main/res/layout/scene_login.xml | 4 ++-- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-th/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rHK/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 18 files changed, 29 insertions(+), 30 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c0d7e75c2..00fbf2232 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -50,6 +50,12 @@ android { kotlinOptions { jvmTarget = '19' freeCompilerArgs += [ + // https://kotlinlang.org/docs/compiler-reference.html#progressive + "-progressive", + // Generate smaller bytecode by not generating runtime not-null assertions. + "-Xno-call-assertions", + "-Xno-param-assertions", + "-Xno-receiver-assertions", "-P", "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true" ] diff --git a/app/src/main/java/com/hippo/Native.kt b/app/src/main/java/com/hippo/Native.kt index bf9f79753..66c98888d 100644 --- a/app/src/main/java/com/hippo/Native.kt +++ b/app/src/main/java/com/hippo/Native.kt @@ -20,7 +20,6 @@ package com.hippo import java.io.FileDescriptor object Native { - @JvmStatic fun initialize() { System.loadLibrary("ehviewer") } diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index 5e08ce14d..28905eacf 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -86,20 +86,16 @@ class EhApplication : SceneApplication() { val handler = Thread.getDefaultUncaughtExceptionHandler() Thread.setDefaultUncaughtExceptionHandler { t, e -> try { - // Always save crash file if onCreate() is not done - if (!initialized || Settings.getSaveCrashLog()) { + if (Settings.getSaveCrashLog()) { Crash.saveCrashLog(application, e) } } catch (ignored: Throwable) { } - handler?.uncaughtException(t, e) } super.onCreate() - Image.initialize(this) Native.initialize() GetText.initialize(this) - StatusCodeException.initialize(this) Settings.initialize(this) ReadableTime.initialize(this) AppConfig.initialize(this) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java index c2ffa0dc3..6da52370d 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java @@ -131,7 +131,7 @@ public final class SignInScene extends SolidScene implements EditText.OnEditorAc mSignIn = ViewUtils.$$(loginForm, R.id.sign_in); mSignInViaWebView = (TextView) ViewUtils.$$(loginForm, R.id.sign_in_via_webview); mSignInViaCookies = (TextView) ViewUtils.$$(loginForm, R.id.sign_in_via_cookies); - mSkipSigningIn = (TextView) ViewUtils.$$(loginForm, R.id.skip_signing_in); + mSkipSigningIn = (TextView) ViewUtils.$$(loginForm, R.id.tourist_mode); mSignInViaWebView.setPaintFlags(mSignInViaWebView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); mSignInViaCookies.setPaintFlags(mSignInViaCookies.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); diff --git a/app/src/main/java/com/hippo/image/Image.kt b/app/src/main/java/com/hippo/image/Image.kt index a66bd6788..6249f6382 100644 --- a/app/src/main/java/com/hippo/image/Image.kt +++ b/app/src/main/java/com/hippo/image/Image.kt @@ -17,7 +17,6 @@ */ package com.hippo.image -import android.content.Context import android.content.res.Resources import android.graphics.Bitmap import android.graphics.Canvas @@ -32,6 +31,7 @@ import android.graphics.drawable.AnimatedImageDrawable import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import androidx.core.graphics.drawable.toDrawable +import com.hippo.ehviewer.EhApplication import java.io.FileInputStream import java.nio.ByteBuffer import java.nio.channels.FileChannel @@ -169,8 +169,8 @@ class Image private constructor( var screenWidth: Int = 0 var screenHeight: Int = 0 - @JvmStatic - fun initialize(context: Context) { + init { + val context = EhApplication.application screenWidth = context.resources.displayMetrics.widthPixels screenHeight = context.resources.displayMetrics.heightPixels } diff --git a/app/src/main/java/com/hippo/network/StatusCodeException.kt b/app/src/main/java/com/hippo/network/StatusCodeException.kt index 08e340e0e..8ec35276c 100644 --- a/app/src/main/java/com/hippo/network/StatusCodeException.kt +++ b/app/src/main/java/com/hippo/network/StatusCodeException.kt @@ -15,8 +15,8 @@ */ package com.hippo.network -import android.content.Context import android.util.SparseArray +import com.hippo.ehviewer.EhApplication import com.hippo.ehviewer.R class StatusCodeException(val responseCode: Int) : Exception() { @@ -33,9 +33,8 @@ class StatusCodeException(val responseCode: Int) : Exception() { private val ERROR_MESSAGE_ARRAY = SparseArray(24) private const val DEFAULT_ERROR_MESSAGE = "Error response code" - @JvmStatic - fun initialize(context: Context) { - val resources = context.applicationContext.resources + init { + val resources = EhApplication.application.resources ERROR_MESSAGE_ARRAY.append(400, resources.getString(R.string.error_status_code_400)) ERROR_MESSAGE_ARRAY.append(401, resources.getString(R.string.error_status_code_401)) ERROR_MESSAGE_ARRAY.append(402, resources.getString(R.string.error_status_code_402)) @@ -62,5 +61,4 @@ class StatusCodeException(val responseCode: Int) : Exception() { ERROR_MESSAGE_ARRAY.append(505, resources.getString(R.string.error_status_code_505)) } } - -} \ No newline at end of file +} diff --git a/app/src/main/res/layout-television/scene_login.xml b/app/src/main/res/layout-television/scene_login.xml index eccbed73a..bb7e66cd5 100644 --- a/app/src/main/res/layout-television/scene_login.xml +++ b/app/src/main/res/layout-television/scene_login.xml @@ -158,13 +158,13 @@ android:text="@string/sign_in_via_cookies" /> + android:text="@string/tourist_mode" /> diff --git a/app/src/main/res/layout/scene_login.xml b/app/src/main/res/layout/scene_login.xml index 8b38f279f..c3a40cbc7 100644 --- a/app/src/main/res/layout/scene_login.xml +++ b/app/src/main/res/layout/scene_login.xml @@ -160,13 +160,13 @@ + android:text="@string/tourist_mode" /> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9e5c2d891..856c7a03a 100755 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -395,7 +395,7 @@ Inhalt dieser App kommt aus dem Internet, von dem einige dir körperlichen oder emotionalen Schaden zufügen kann. Du hast es wirklich erfahrt und möchtest immer noch fortsetzen. Gibt den Nutzername ein Gibt das Passwort ein - Anmeldung überspringen + Anmeldung überspringen Anmeldung fehlgeschlagen Wenn etwas dem Downloadpfad schiefgelaufen ist, den Downloadpfad reinigen, könnte das Problem lösen. Downloadpfadszwischenspeicher löschen? diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7f0388252..327f150cc 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -71,7 +71,7 @@ El contenido de esta aplicación es de Internet. Algunas de ellas pueden causarle daño psicológico. Ahora sabes los riesgos anteriormente mencionado y te gustaría asumirlos El usuario no puede estar vacío - Saltar inicio de sesión + Saltar inicio de sesión Inicio de sesión fallido Entendido diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1f76f9196..c2ea22c79 100755 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -73,7 +73,7 @@ Le contenu de l\'application provient de l\'Internet, dont quelque chose peut vous causer le dommage physique ou mentale. Vous l\'avez bien compris et voulez continuer quand même. Nom d\'ultilisateur ne doit pas être une chaîne vide Mot de passe ne doit pas être une chaîne vide - Continuer sans se connecter + Continuer sans se connecter Impossible de se connecter Compris diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 77ce3e975..bf5e5a84d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -71,7 +71,7 @@ このアプリの内容はインターネットから取得したものです。その内容の一部は使用者のお体や心理に傷つける恐れがあります。それでも続行しますか? ユーザー名を入力してください。 パスワードを入力してください。 - ログインをスキップ + ログインをスキップ ログインに失敗しました。 了解 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 777c4a725..0de690492 100755 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -74,7 +74,7 @@ 이 앱의 내용은 인터넷에서 받아옵니다. 이 앱을 사용하기 위해서는 받아온 내용 중 일부가 사용자에게 가할 수 있는 신체적 또는 정신적 피해를 감수해야 합니다. 사용자 이름은 비워둘 수 없습니다. 비밀번호는 비워둘 수 없습니다. - 로그인 없이 사용 + 로그인 없이 사용 로그인 실패 알겠습니다 diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index ea7bf350e..782d1e503 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -74,7 +74,7 @@ เนื้อหาภายในแอปพลิเคชั่นนี้มาจากอินเทอร์เน็ตทั้งหมด อาจมีเนื้อหาบางอย่างที่มีผลต่อร่างกายหรือจิตใจของคุณ คุณจะต้องยอมรับความเสี่ยงที่ดังกล่าว และดำเนินการต่อไป ชื่อผู้ใช้ห้ามเว้นว่างไว้ รหัสผ่านห้ามเว้นว่างไว้ - ดำเนินการต่อโดยไม่ต้องลงชื่อเข้าระบบ + ดำเนินการต่อโดยไม่ต้องลงชื่อเข้าระบบ การลงชื่อเข้าใช้ล้มเหลว เข้าใจแล้ว ไม่ต้องแสดงอีก diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 4decd6327..4ba95f31c 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -79,7 +79,7 @@ 本应用中内容来自互联网,部分内容可能对您的生理及心理造成难以恢复的伤害。本应用作者不会对由本应用造成的任何后果负责。\n\n未成年人应在监护人指导下使用本应用。\n\n继续使用即代表您同意上述条款。 用户名不可为空 密码不可为空 - 游客模式 + 游客模式 登录失败 若持续出错,请尝试“通过网页登录”或“通过 Cookie 登录”。 知道了 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 229e910ad..801e52c84 100755 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -79,7 +79,7 @@ 本應用中內容來自互聯網,部分內容可能對您的生理及心理造成難以恢復的傷害。本應用作者不會對由本應用造成的任何後果負責。\n\n未成年人應在監護人指導下使用本應用。 用户名不可為空 密碼不可為空 - 跳過登錄 + 跳過登錄 登錄失敗 若持續出錯,請嘗試“通過網頁登錄”或“通過 Cookie 登錄”。 知道了 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 7aa9129ab..07f783110 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -79,7 +79,7 @@ 本應用程式中內容來自網際網路,部分內容可能對您的生理及心理造成難以恢復的傷害。本應用程式的作者不會對由其所造成的任何影響負責。\n\n未成年人應在監護人指導下使用本應用程式。\n\n繼續使用即代表您同意上述條款。 使用者名稱欄位不能為空 密碼欄位不能為空 - 略過登入 + 略過登入 登入失敗 若持續出錯,請嘗試“通過網頁登入”或“通過 Cookie 登入”。 知道了 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dbe09357b..417198e37 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -121,7 +121,7 @@ The content of this application is from the Internet. Some of it may do physical or mental harm to you. You have learnt the risks above and would like to undertake them. By continuing to use it, you agree to the above terms. Username cannot be an empty string Password cannot be an empty string - Continue without signing in + Continue without signing in Sign in failed If this issue continues, try \"Sign in via WebView\" or \"Sign in via cookies\" Got it