From fe02abc9e844b5341203edfb22599bc19b0e6718 Mon Sep 17 00:00:00 2001 From: tom5079 Date: Tue, 8 Sep 2020 20:04:12 +0900 Subject: [PATCH] Bug fix --- app/build.gradle | 9 ++++----- app/release/output-metadata.json | 2 +- .../java/xyz/quaver/pupil/adapters/ReaderAdapter.kt | 7 +------ .../java/xyz/quaver/pupil/services/DownloadService.kt | 6 +++--- .../main/java/xyz/quaver/pupil/util/GalleryList.kt | 8 +++++--- .../xyz/quaver/pupil/util/download/DownloadWorker.kt | 4 ---- app/src/main/java/xyz/quaver/pupil/util/misc.kt | 11 ----------- app/src/main/java/xyz/quaver/pupil/util/update.kt | 4 +++- 8 files changed, 17 insertions(+), 34 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 842bbdcb..4013443c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,13 +14,13 @@ if (file("google-services.json").exists() && file("src/debug/google-services.jso } android { - compileSdkVersion 29 + compileSdkVersion 30 defaultConfig { applicationId "xyz.quaver.pupil" minSdkVersion 16 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 57 - versionName "5.0-beta5" + versionName "5.0-beta6" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } @@ -64,7 +64,6 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9" //implementation "org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-RC" - implementation 'androidx.core:core:1.3.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.preference:preference:1.1.1' @@ -97,7 +96,7 @@ dependencies { implementation 'com.andrognito.patternlockview:patternlockview:1.0.0' //implementation 'com.andrognito.pinlockview:pinlockview:2.1.0' implementation "ru.noties.markwon:core:3.1.0" - implementation ("xyz.quaver:libpupil:1.4") { + implementation ("xyz.quaver:libpupil:1.5") { exclude group: 'org.jetbrains.kotlinx', module: 'kotlinx-serialization-core-jvm' } implementation "xyz.quaver:documentfilex:0.2.14" diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index d84cb238..8912078e 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -12,7 +12,7 @@ "filters": [], "properties": [], "versionCode": 57, - "versionName": "5.0-beta5", + "versionName": "5.0-beta6", "enabled": true, "outputFile": "app-release.apk" } diff --git a/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt b/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt index a7a5bdc3..096c128e 100644 --- a/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt +++ b/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt @@ -40,9 +40,7 @@ import xyz.quaver.Code import xyz.quaver.hitomi.Reader import xyz.quaver.hitomi.getReferer import xyz.quaver.hitomi.imageUrlFromImage -import xyz.quaver.hiyobi.cookie import xyz.quaver.hiyobi.createImgList -import xyz.quaver.hiyobi.user_agent import xyz.quaver.io.util.readBytes import xyz.quaver.pupil.R import xyz.quaver.pupil.services.DownloadService @@ -116,10 +114,7 @@ class ReaderAdapter(private val activity: ReaderActivity, ) , LazyHeaders.Builder().addHeader("Referer", getReferer(galleryID)).build()) Code.HIYOBI -> - GlideUrl(createImgList(galleryID, reader!!, lowQuality)[position].path, LazyHeaders.Builder() - .addHeader("User-Agent", user_agent) - .addHeader("Cookie", cookie) - .build()) + GlideUrl(createImgList(galleryID, reader!!, lowQuality)[position].path) else -> null } holder.view.image.post { diff --git a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt index a43c321c..643df80f 100644 --- a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt +++ b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt @@ -307,8 +307,7 @@ class DownloadService : Service() { return@launch } - if (progress.indexOfKey(galleryID) < 0) - progress.put(galleryID, MutableList(reader.galleryInfo.files.size) { 0F }) + progress.put(galleryID, MutableList(reader.galleryInfo.files.size) { 0F }) cache.metadata.imageList?.forEachIndexed { index, image -> progress[galleryID]?.set(index, if (image != null) Float.POSITIVE_INFINITY else 0F) @@ -390,6 +389,8 @@ class DownloadService : Service() { COMMAND_DELETE -> intent.getIntExtra(KEY_ID, -1).let { if (it > 0) delete(it, startId) } } + startForeground(R.id.downloader_notification_id, serviceNotification.build()) + return START_NOT_STICKY } @@ -401,7 +402,6 @@ class DownloadService : Service() { override fun onBind(p0: Intent?) = binder override fun onCreate() { - startForeground(R.id.downloader_notification_id, serviceNotification.build()) interceptors[Tag::class] = interceptor } diff --git a/app/src/main/java/xyz/quaver/pupil/util/GalleryList.kt b/app/src/main/java/xyz/quaver/pupil/util/GalleryList.kt index 42e35ffd..62ec45b5 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryList.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryList.kt @@ -36,15 +36,17 @@ class GalleryList(private val file: File, private val list: MutableSet = mu fun load() { synchronized(this) { list.clear() - list.addAll( + kotlin.runCatching { Json.decodeFromString>(file.bufferedReader().use { it.readText() }) - ) + }.onSuccess { + list.addAll(it) + } } } fun save() { synchronized(this) { - file.writeText(Json.encodeToString(list)) + file.writeText(Json.encodeToString(list.toList())) } } diff --git a/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt b/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt index e6efcb5c..2cb02ed4 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt @@ -37,9 +37,7 @@ import xyz.quaver.Code import xyz.quaver.hitomi.Reader import xyz.quaver.hitomi.getReferer import xyz.quaver.hitomi.imageUrlFromImage -import xyz.quaver.hiyobi.cookie import xyz.quaver.hiyobi.createImgList -import xyz.quaver.hiyobi.user_agent import xyz.quaver.pupil.R import xyz.quaver.pupil.client import xyz.quaver.pupil.interceptors @@ -220,8 +218,6 @@ class DownloadWorker private constructor(context: Context) : ContextWrapper(cont } Code.HIYOBI -> { url(createImgList(galleryID, reader, lowQuality)[index].path) - addHeader("User-Agent", user_agent) - addHeader("Cookie", cookie) } else -> { //shouldn't be called anyway 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 c964a900..1f513f20 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -22,11 +22,6 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.os.Build -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.coroutineScope -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.sync.Mutex -import kotlinx.coroutines.sync.withLock import okhttp3.OkHttpClient import okhttp3.Request import xyz.quaver.Code @@ -34,11 +29,7 @@ import xyz.quaver.hitomi.GalleryBlock import xyz.quaver.hitomi.Reader import xyz.quaver.hitomi.getReferer import xyz.quaver.hitomi.imageUrlFromImage -import xyz.quaver.hiyobi.cookie import xyz.quaver.hiyobi.createImgList -import xyz.quaver.hiyobi.user_agent -import xyz.quaver.pupil.util.downloader.Cache -import xyz.quaver.pupil.util.downloader.Metadata import java.util.* import kotlin.collections.ArrayList @@ -134,8 +125,6 @@ val Reader.requestBuilders: List createImgList(galleryID, this, lowQuality).map { Request.Builder() .url(it.path) - .header("User-Agent", user_agent) - .header("Cookie", cookie) } } } 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 b28278fb..36806214 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/update.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/update.kt @@ -325,6 +325,8 @@ fun xyz.quaver.pupil.util.downloader.DownloadManager.migrate() { .mActions.clear() notificationManager.notify(R.id.notification_id_import, notification.build()) - unregisterReceiver(receiver) + kotlin.runCatching { + unregisterReceiver(receiver) + } } } \ No newline at end of file