diff --git a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialog.kt b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialog.kt index 6506cfab..09341979 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialog.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/dialog/DefaultQueryDialog.kt @@ -19,7 +19,6 @@ package xyz.quaver.pupil.ui.dialog import android.annotation.SuppressLint -import android.app.AlertDialog import android.content.Context import android.os.Bundle import android.text.Editable @@ -27,6 +26,7 @@ import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.widget.ArrayAdapter +import androidx.appcompat.app.AlertDialog import androidx.preference.PreferenceManager import kotlinx.android.synthetic.main.dialog_default_query.view.* import xyz.quaver.pupil.R diff --git a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt index 7657fd5b..58d8af96 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt @@ -137,6 +137,8 @@ class SettingsFragment : onPositiveButtonClickListener = { newTags -> sharedPreferences.edit().putString("default_query", newTags.toString()).apply() summary = newTags.toString() + dismiss() //This sucks + // TODO: make dialog dissmiss itself :P } }.show() } 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 2eb58b08..660bb913 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt @@ -166,6 +166,8 @@ class GalleryDownloader( fun start() { downloadJob = CoroutineScope(Dispatchers.Default).launch { val reader = reader!!.await() ?: return@launch + val lowQuality = PreferenceManager.getDefaultSharedPreferences(this@GalleryDownloader) + .getBoolean("low_quality", false) notificationBuilder.setContentTitle(reader.title) @@ -177,15 +179,15 @@ class GalleryDownloader( .setProgress(reader.galleryInfo.size, 0, false) .setContentText("0/${reader.galleryInfo.size}") - reader.galleryInfo.chunked(4).forEachIndexed { chunkIndex, chunked -> - chunked.mapIndexed { i, galleryInfo -> + reader.galleryInfo.chunked(4).forEachIndexed { chunkIndex, chunk -> + chunk.mapIndexed { i, galleryInfo -> val index = chunkIndex*4+i async(Dispatchers.IO) { val url = when(useHiyobi) { - true -> createImgList(galleryID, reader)[index].path + true -> createImgList(galleryID, reader, lowQuality)[index].path false -> when { - (!galleryInfo.hash.isNullOrBlank()) and (galleryInfo.haswebp == 1) -> + (!galleryInfo.hash.isNullOrBlank()) && (galleryInfo.haswebp == 1) && lowQuality -> urlFromUrlFromHash(galleryID, galleryInfo, "webp") else -> urlFromUrlFromHash(galleryID, galleryInfo) diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 05a58114..22f041be 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -19,7 +19,6 @@ ここをクリックしてアップデートを行えます ベータチャンネルでアップデートを受信 v%s + 低解像度イメージ + ロード速度とデータ使用料を改善するため低解像度イメージをロード \ 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 f574795f..323652db 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -118,4 +118,6 @@ 여기를 클릭해서 업데이트를 진행할 수 있습니다 베타 채널에서 업데이트 v%s + 저해상도 이미지 + 로드 속도와 데이터 사용량을 줄이기 위해 저해상도 이미지를 로드 \ 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 df9688b9..18e36b99 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -140,6 +140,8 @@ Removable Storage Internal Storage %s available + Low quality images + Load low quality images to improve load speed and data usage diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 17e0b78c..6b7bc320 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -3,12 +3,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> + app:key="app_version" + app:title="@string/settings_app_version_title"/> + app:key="beta" + app:title="@string/settings_beta"/> @@ -32,20 +32,25 @@ app:title="@string/settings_storage"> + app:key="delete_cache" + app:title="@string/settings_clear_cache"/> + app:key="delete_downloads" + app:title="@string/settings_clear_downloads"/> + app:key="clear_history" + app:title="@string/settings_clear_history"/> + app:key="dl_location" + app:title="@string/settings_dl_location"/> + + @@ -53,8 +58,8 @@ app:title="@string/settings_app_lock"> + app:key="app_lock" + app:title="@string/settings_app_lock_type"/> diff --git a/libpupil/src/main/java/xyz/quaver/hiyobi/reader.kt b/libpupil/src/main/java/xyz/quaver/hiyobi/reader.kt index 07c0a357..d464e0f4 100644 --- a/libpupil/src/main/java/xyz/quaver/hiyobi/reader.kt +++ b/libpupil/src/main/java/xyz/quaver/hiyobi/reader.kt @@ -79,5 +79,11 @@ fun getReader(galleryID: Int) : Reader { return Reader(Reader.Code.HIYOBI, title, galleryInfo) } -fun createImgList(galleryID: Int, reader: Reader) = - reader.galleryInfo.map { Images("$protocol//$hiyobi/data/$galleryID/${it.name}", galleryID, it.name) } \ No newline at end of file +fun createImgList(galleryID: Int, reader: Reader, lowQuality: Boolean = false) = + if (lowQuality) + reader.galleryInfo.map { + val name = it.name.replace(Regex("/.[^/.]+$"), "") + ".jpg" + Images("$protocol//$hiyobi/data/$galleryID/$name.jpg", galleryID, it.name) + } + else + reader.galleryInfo.map { Images("$protocol//$hiyobi/data/$galleryID/${it.name}", galleryID, it.name) } \ No newline at end of file