Merge pull request #60 from tom5079/Pupil-25
Pupil-25 Add option to download jpg instead of webp files
This commit is contained in:
@@ -19,7 +19,6 @@
|
|||||||
package xyz.quaver.pupil.ui.dialog
|
package xyz.quaver.pupil.ui.dialog
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.AlertDialog
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
@@ -27,6 +26,7 @@ import android.text.TextWatcher
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import kotlinx.android.synthetic.main.dialog_default_query.view.*
|
import kotlinx.android.synthetic.main.dialog_default_query.view.*
|
||||||
import xyz.quaver.pupil.R
|
import xyz.quaver.pupil.R
|
||||||
|
|||||||
@@ -137,6 +137,8 @@ class SettingsFragment :
|
|||||||
onPositiveButtonClickListener = { newTags ->
|
onPositiveButtonClickListener = { newTags ->
|
||||||
sharedPreferences.edit().putString("default_query", newTags.toString()).apply()
|
sharedPreferences.edit().putString("default_query", newTags.toString()).apply()
|
||||||
summary = newTags.toString()
|
summary = newTags.toString()
|
||||||
|
dismiss() //This sucks
|
||||||
|
// TODO: make dialog dissmiss itself :P
|
||||||
}
|
}
|
||||||
}.show()
|
}.show()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,6 +166,8 @@ class GalleryDownloader(
|
|||||||
fun start() {
|
fun start() {
|
||||||
downloadJob = CoroutineScope(Dispatchers.Default).launch {
|
downloadJob = CoroutineScope(Dispatchers.Default).launch {
|
||||||
val reader = reader!!.await() ?: return@launch
|
val reader = reader!!.await() ?: return@launch
|
||||||
|
val lowQuality = PreferenceManager.getDefaultSharedPreferences(this@GalleryDownloader)
|
||||||
|
.getBoolean("low_quality", false)
|
||||||
|
|
||||||
notificationBuilder.setContentTitle(reader.title)
|
notificationBuilder.setContentTitle(reader.title)
|
||||||
|
|
||||||
@@ -177,15 +179,15 @@ class GalleryDownloader(
|
|||||||
.setProgress(reader.galleryInfo.size, 0, false)
|
.setProgress(reader.galleryInfo.size, 0, false)
|
||||||
.setContentText("0/${reader.galleryInfo.size}")
|
.setContentText("0/${reader.galleryInfo.size}")
|
||||||
|
|
||||||
reader.galleryInfo.chunked(4).forEachIndexed { chunkIndex, chunked ->
|
reader.galleryInfo.chunked(4).forEachIndexed { chunkIndex, chunk ->
|
||||||
chunked.mapIndexed { i, galleryInfo ->
|
chunk.mapIndexed { i, galleryInfo ->
|
||||||
val index = chunkIndex*4+i
|
val index = chunkIndex*4+i
|
||||||
|
|
||||||
async(Dispatchers.IO) {
|
async(Dispatchers.IO) {
|
||||||
val url = when(useHiyobi) {
|
val url = when(useHiyobi) {
|
||||||
true -> createImgList(galleryID, reader)[index].path
|
true -> createImgList(galleryID, reader, lowQuality)[index].path
|
||||||
false -> when {
|
false -> when {
|
||||||
(!galleryInfo.hash.isNullOrBlank()) and (galleryInfo.haswebp == 1) ->
|
(!galleryInfo.hash.isNullOrBlank()) && (galleryInfo.haswebp == 1) && lowQuality ->
|
||||||
urlFromUrlFromHash(galleryID, galleryInfo, "webp")
|
urlFromUrlFromHash(galleryID, galleryInfo, "webp")
|
||||||
else ->
|
else ->
|
||||||
urlFromUrlFromHash(galleryID, galleryInfo)
|
urlFromUrlFromHash(galleryID, galleryInfo)
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/nav_header_height"
|
android:layout_height="@dimen/nav_header_height"
|
||||||
android:background="@drawable/side_nav_bar"
|
android:background="@drawable/side_nav_bar"
|
||||||
|
|||||||
@@ -118,4 +118,6 @@
|
|||||||
<string name="update_download_completed_description">ここをクリックしてアップデートを行えます</string>
|
<string name="update_download_completed_description">ここをクリックしてアップデートを行えます</string>
|
||||||
<string name="settings_beta">ベータチャンネルでアップデートを受信</string>
|
<string name="settings_beta">ベータチャンネルでアップデートを受信</string>
|
||||||
<string name="settings_app_version_description">v%s</string>
|
<string name="settings_app_version_description">v%s</string>
|
||||||
|
<string name="settings_low_quality">低解像度イメージ</string>
|
||||||
|
<string name="settings_low_quality_summary">ロード速度とデータ使用料を改善するため低解像度イメージをロード</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -118,4 +118,6 @@
|
|||||||
<string name="update_download_completed_description">여기를 클릭해서 업데이트를 진행할 수 있습니다</string>
|
<string name="update_download_completed_description">여기를 클릭해서 업데이트를 진행할 수 있습니다</string>
|
||||||
<string name="settings_beta">베타 채널에서 업데이트</string>
|
<string name="settings_beta">베타 채널에서 업데이트</string>
|
||||||
<string name="settings_app_version_description">v%s</string>
|
<string name="settings_app_version_description">v%s</string>
|
||||||
|
<string name="settings_low_quality">저해상도 이미지</string>
|
||||||
|
<string name="settings_low_quality_summary">로드 속도와 데이터 사용량을 줄이기 위해 저해상도 이미지를 로드</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -140,6 +140,8 @@
|
|||||||
<string name="settings_dl_location_removable">Removable Storage</string>
|
<string name="settings_dl_location_removable">Removable Storage</string>
|
||||||
<string name="settings_dl_location_internal">Internal Storage</string>
|
<string name="settings_dl_location_internal">Internal Storage</string>
|
||||||
<string name="settings_dl_location_available">%s available</string>
|
<string name="settings_dl_location_available">%s available</string>
|
||||||
|
<string name="settings_low_quality">Low quality images</string>
|
||||||
|
<string name="settings_low_quality_summary">Load low quality images to improve load speed and data usage</string>
|
||||||
|
|
||||||
<!-- SETTINGS/APP LOCK -->
|
<!-- SETTINGS/APP LOCK -->
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_app_version_title"
|
app:key="app_version"
|
||||||
app:key="app_version"/>
|
app:title="@string/settings_app_version_title"/>
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
app:title="@string/settings_beta"
|
app:key="beta"
|
||||||
app:key="beta"/>
|
app:title="@string/settings_beta"/>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
app:title="@string/settings_search_title">
|
app:title="@string/settings_search_title">
|
||||||
@@ -32,20 +32,25 @@
|
|||||||
app:title="@string/settings_storage">
|
app:title="@string/settings_storage">
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_clear_cache"
|
app:key="delete_cache"
|
||||||
app:key="delete_cache"/>
|
app:title="@string/settings_clear_cache"/>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_clear_downloads"
|
app:key="delete_downloads"
|
||||||
app:key="delete_downloads"/>
|
app:title="@string/settings_clear_downloads"/>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_clear_history"
|
app:key="clear_history"
|
||||||
app:key="clear_history"/>
|
app:title="@string/settings_clear_history"/>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_dl_location"
|
app:key="dl_location"
|
||||||
app:key="dl_location"/>
|
app:title="@string/settings_dl_location"/>
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
app:key="dl_low_quality"
|
||||||
|
app:title="@string/settings_low_quality"
|
||||||
|
app:summary="@string/settings_low_quality_summary"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
@@ -53,8 +58,8 @@
|
|||||||
app:title="@string/settings_app_lock">
|
app:title="@string/settings_app_lock">
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:title="@string/settings_app_lock_type"
|
app:key="app_lock"
|
||||||
app:key="app_lock"/>
|
app:title="@string/settings_app_lock_type"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
|||||||
@@ -79,5 +79,11 @@ fun getReader(galleryID: Int) : Reader {
|
|||||||
return Reader(Reader.Code.HIYOBI, title, galleryInfo)
|
return Reader(Reader.Code.HIYOBI, title, galleryInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createImgList(galleryID: Int, reader: Reader) =
|
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) }
|
reader.galleryInfo.map { Images("$protocol//$hiyobi/data/$galleryID/${it.name}", galleryID, it.name) }
|
||||||
Reference in New Issue
Block a user