diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 7adb90e7..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b1a14887..4222e57a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,8 @@ + + diff --git a/app/build.gradle b/app/build.gradle index 4fea6bf0..c16c72a4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { minSdkVersion 16 targetSdkVersion 31 versionCode 69 - versionName "5.2.21" + versionName "5.2.22" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } @@ -82,12 +82,12 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" - implementation "androidx.appcompat:appcompat:1.4.0" + implementation "androidx.appcompat:appcompat:1.4.1" implementation "androidx.activity:activity-ktx:1.4.0" implementation "androidx.fragment:fragment-ktx:1.4.0" implementation "androidx.preference:preference-ktx:1.1.1" implementation "androidx.recyclerview:recyclerview:1.2.1" - implementation "androidx.constraintlayout:constraintlayout:2.1.2" + implementation "androidx.constraintlayout:constraintlayout:2.1.3" implementation "androidx.gridlayout:gridlayout:1.0.0" implementation "androidx.biometric:biometric:1.1.0" implementation "androidx.work:work-runtime-ktx:2.7.1" @@ -95,7 +95,7 @@ dependencies { implementation "com.daimajia.swipelayout:library:1.2.0@aar" - implementation "com.google.android.material:material:1.4.0" + implementation "com.google.android.material:material:1.5.0" implementation platform('com.google.firebase:firebase-bom:29.0.3') implementation "com.google.firebase:firebase-analytics-ktx" @@ -103,7 +103,7 @@ dependencies { implementation "com.google.firebase:firebase-perf-ktx" implementation "com.google.android.gms:play-services-oss-licenses:17.0.0" - implementation "com.google.android.gms:play-services-mlkit-face-detection:16.2.1" + implementation "com.google.android.gms:play-services-mlkit-face-detection:17.0.0" implementation "com.github.clans:fab:1.6.4" diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index 803473ca..3668d3f2 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "attributes": [], "versionCode": 69, - "versionName": "5.2.21", + "versionName": "5.2.22", "outputFile": "app-release.apk" } ], diff --git a/app/src/main/java/xyz/quaver/pupil/Pupil.kt b/app/src/main/java/xyz/quaver/pupil/Pupil.kt index 2a9c5b1e..895a947e 100644 --- a/app/src/main/java/xyz/quaver/pupil/Pupil.kt +++ b/app/src/main/java/xyz/quaver/pupil/Pupil.kt @@ -125,7 +125,7 @@ private var htmlVersion: String = "" fun reloadWhenFailedOrUpdate() = CoroutineScope(Dispatchers.Default).launch { while (true) { if ( - webViewFailed || + (webViewFailed && !oldWebView) || runCatching { URL( if (BuildConfig.DEBUG) @@ -160,21 +160,12 @@ fun initWebView(context: Context) { webViewClient = object: WebViewClient() { override fun onPageFinished(view: WebView?, url: String?) { - webViewReady = true + webView.evaluateJavascript("self_test()") { + val result: String = Json.decodeFromString(it) - webView.evaluateJavascript( - """ - try { - new Function('(x => x?.y ?? z)'); - true; - } catch (err) { - false; - } - """.trimIndent() - ) { - val es2020: Boolean = Json.decodeFromString(it) - - oldWebView = !es2020 + oldWebView = result == "es2020_unsupported"; + webViewReady = result == "OK"; + webViewFailed = result != "OK"; } } diff --git a/app/src/main/java/xyz/quaver/pupil/util/misc.kt b/app/src/main/java/xyz/quaver/pupil/util/misc.kt index 0bfe9fb8..885482c2 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -27,6 +27,7 @@ import xyz.quaver.pupil.hitomi.GalleryBlock import xyz.quaver.pupil.hitomi.GalleryInfo import xyz.quaver.pupil.hitomi.getReferer import xyz.quaver.pupil.hitomi.imageUrlFromImage +import xyz.quaver.pupil.userAgent import java.util.* import kotlin.collections.ArrayList @@ -114,7 +115,7 @@ suspend fun GalleryInfo.getRequestBuilders(): List { .getOrDefault("https://a/") ) .header("Referer", "https://hitomi.la/") - .header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36") + .header("User-Agent", userAgent) } } diff --git a/app/src/main/java/xyz/quaver/pupil/util/update.kt b/app/src/main/java/xyz/quaver/pupil/util/update.kt index b97ca4b2..aaced41a 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/update.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/update.kt @@ -162,7 +162,7 @@ fun checkUpdate(context: Context, force: Boolean = false) { setNegativeButton(if (force) android.R.string.cancel else R.string.ignore) { _, _ -> if (!force) preferences.edit() - .putLong("ignore_update_until", System.currentTimeMillis() + 604800000) + .putLong("ignore_update_until", System.currentTimeMillis() + 86400000) .apply() } } diff --git a/build.gradle b/build.gradle index 2408d8eb..5b8cfb15 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" @@ -14,7 +14,7 @@ buildscript { // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath "com.google.firebase:firebase-crashlytics-gradle:2.8.1" - classpath "com.google.firebase:perf-plugin:1.4.0" + classpath "com.google.firebase:perf-plugin:1.4.1" classpath "com.google.android.gms:oss-licenses-plugin:0.10.4" } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4e77a57c..65fa7c80 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip