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