diff --git a/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt b/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt index f6cbca02..79db10d2 100644 --- a/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt @@ -7,7 +7,12 @@ import androidx.test.platform.app.InstrumentationRegistry import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith +import xyz.quaver.hiyobi.cookie +import xyz.quaver.hiyobi.getReader +import xyz.quaver.hiyobi.user_agent import java.io.File +import java.net.URL +import javax.net.ssl.HttpsURLConnection /** * Instrumented test, which will execute on an Android device. @@ -35,6 +40,17 @@ class ExampleInstrumentedTest { @Test fun test_doSearch() { + val reader = getReader(1426382) + val data: ByteArray + + with(URL(reader[0].url).openConnection() as HttpsURLConnection) { + setRequestProperty("User-Agent", user_agent) + setRequestProperty("Cookie", cookie) + + data = inputStream.readBytes() + } + + Log.d("Pupil", data.size.toString()) } } diff --git a/app/src/main/java/xyz/quaver/pupil/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ReaderActivity.kt index a4bcd5d0..57cc02cd 100644 --- a/app/src/main/java/xyz/quaver/pupil/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ReaderActivity.kt @@ -169,6 +169,7 @@ class ReaderActivity : AppCompatActivity() { onProgressHandler = { CoroutineScope(Dispatchers.Main).launch { reader_progressbar.progress = it + menu?.findItem(R.id.reader_menu_use_hiyobi)?.isVisible = true } } onDownloadedHandler = { diff --git a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt index 3ce9999e..bf47ee0d 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt @@ -40,7 +40,8 @@ class GalleryDownloader( _notify: Boolean = false ) : ContextWrapper(base) { - val downloads = (applicationContext as Pupil).downloads + private val downloads = (applicationContext as Pupil).downloads + var useHiyobi = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("use_hiyobi", false) var download: Boolean = false set(value) { @@ -110,7 +111,22 @@ class GalleryDownloader( } //Cache doesn't exist. Load from internet - val reader = getReader(galleryBlock.id) + val reader = when { + useHiyobi -> { + xyz.quaver.hiyobi.getReader(galleryBlock.id).let { + when { + it.isEmpty() -> { + useHiyobi = false + getReader(galleryBlock.id) + } + else -> it + } + } + } + else -> { + getReader(galleryBlock.id) + } + } if (reader.isNotEmpty()) { //Save cache @@ -170,7 +186,11 @@ class GalleryDownloader( if (!cache.exists()) try { with(URL(url).openConnection() as HttpsURLConnection) { - setRequestProperty("Referer", getReferer(galleryBlock.id)) + if (useHiyobi) { + setRequestProperty("User-Agent", user_agent) + setRequestProperty("Cookie", cookie) + } else + setRequestProperty("Referer", getReferer(galleryBlock.id)) if (!cache.parentFile.exists()) cache.parentFile.mkdirs() @@ -180,8 +200,6 @@ class GalleryDownloader( } catch (e: Exception) { cache.delete() - Log.e("Pupil", e.toString()) - onErrorHandler?.invoke(e) notificationBuilder diff --git a/app/src/main/res/menu/reader.xml b/app/src/main/res/menu/reader.xml index 2eb9eaaa..87dabd1e 100644 --- a/app/src/main/res/menu/reader.xml +++ b/app/src/main/res/menu/reader.xml @@ -2,8 +2,14 @@ + + + app:showAsAction="ifRoom|withText"/> \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 8742adff..81f0d436 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -66,5 +66,5 @@ ダウンロード完了後自動的にエクスポート ダウンロード削除 ダウンロードしたギャラリーを全て削除します。\n実行しますか? - 点検中 + ロード速度を向上させるため可能であればhiyobi.meからイメージロード \ No newline at end of file diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 1277a72f..7cfc9b9b 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -66,5 +66,5 @@ 다운로드가 끝난 후 자동 내보내기 다운로드 삭제 다운로드 된 만화를 모두 삭제합니다.\n계속하시겠습니까? - 점검중 + 속도 향상을 위해 가능하면 hiyobi.me에서 이미지 로드 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index edad79da..d8232b53 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -88,7 +88,7 @@ %1$d histories saved Miscellaneous Use hiyobi.me - Under maintenance + Load images from hiyobi.me to improve loading speed (if available) Export zip Export to zip instead of image folder Auto Export diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 231daef9..00e29ae6 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -41,6 +41,11 @@ + +