diff --git a/.idea/misc.xml b/.idea/misc.xml index 7631aec3..84da703c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 97cb1eb5..989ed597 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,10 +12,11 @@ android { applicationId "xyz.quaver.pupil" minSdkVersion 16 targetSdkVersion 29 - versionCode 17 - versionName "2.10-alpha" + versionCode 20 + versionName "2.11.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true + vectorDrawables.useSupportLibrary = true } buildTypes { release { @@ -37,23 +38,22 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.2.1' implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.11.0" - implementation 'com.android.support:multidex:1.0.3' implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.preference:preference:1.1.0-beta01' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'com.android.support:multidex:1.0.3' implementation 'com.google.android.material:material:1.0.0' implementation 'com.google.firebase:firebase-core:17.0.0' implementation 'com.google.firebase:firebase-perf:18.0.1' implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1' implementation 'com.github.arimorty:floatingsearchview:2.1.1' - implementation 'com.andrognito.patternlockview:patternlockview:1.0.0' - implementation 'androidx.appcompat:appcompat:1.0.2' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation "ru.noties.markwon:core:${markwonVersion}" implementation 'com.github.clans:fab:1.6.4' - implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0' + implementation 'com.andrognito.patternlockview:patternlockview:1.0.0' + implementation "ru.noties.markwon:core:${markwonVersion}" testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test:rules:1.2.0' diff --git a/app/release/output.json b/app/release/output.json index f084575a..de58b687 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":17,"versionName":"2.9.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":20,"versionName":"2.11.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt b/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt index facb9b50..f7decdb4 100644 --- a/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/xyz/quaver/pupil/ExampleInstrumentedTest.kt @@ -9,6 +9,7 @@ import org.junit.Assert.assertEquals import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith +import xyz.quaver.hitomi.fetchNozomi import xyz.quaver.hiyobi.cookie import xyz.quaver.hiyobi.getReader import xyz.quaver.hiyobi.user_agent @@ -29,6 +30,8 @@ class ExampleInstrumentedTest { // Context of the app under test. val appContext = InstrumentationRegistry.getInstrumentation().targetContext assertEquals("xyz.quaver.pupil", appContext.packageName) + + Log.d("Pupil", fetchNozomi().first.size.toString()) } @Test diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c3e6686f..89e70b1e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,7 +6,7 @@ = Build.VERSION_CODES.O) { @@ -41,6 +54,8 @@ class Pupil : MultiDexApplication() { preference.edit().putBoolean("channel_created", true).apply() } + + super.onCreate() } } \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/adapters/GalleryBlockAdapter.kt b/app/src/main/java/xyz/quaver/pupil/adapters/GalleryBlockAdapter.kt index 9cf73343..68b23485 100644 --- a/app/src/main/java/xyz/quaver/pupil/adapters/GalleryBlockAdapter.kt +++ b/app/src/main/java/xyz/quaver/pupil/adapters/GalleryBlockAdapter.kt @@ -2,7 +2,8 @@ package xyz.quaver.pupil.adapters import android.app.AlertDialog import android.graphics.BitmapFactory -import android.graphics.drawable.Animatable +import android.graphics.drawable.Drawable +import android.util.Log import android.util.SparseBooleanArray import android.view.LayoutInflater import android.view.View @@ -12,6 +13,7 @@ import android.widget.LinearLayout import androidx.cardview.widget.CardView import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView +import androidx.vectordrawable.graphics.drawable.Animatable2Compat import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat import com.google.android.material.chip.Chip import kotlinx.android.synthetic.main.item_galleryblock.view.* @@ -24,7 +26,7 @@ import kotlinx.serialization.json.JsonConfiguration import kotlinx.serialization.list import xyz.quaver.hitomi.GalleryBlock import xyz.quaver.hitomi.ReaderItem -import xyz.quaver.pupil.ui.Pupil +import xyz.quaver.pupil.Pupil import xyz.quaver.pupil.R import xyz.quaver.pupil.types.Tag import xyz.quaver.pupil.util.Histories @@ -68,7 +70,7 @@ class GalleryBlockAdapter(private val galleries: List favorites.add(galleryBlock.id) - else -> favorites.remove(galleryBlock.id) - } - } - setOnCheckedChangeListener { _, isChecked -> - when { - isChecked -> (background as Animatable).start() - else -> background = AnimatedVectorDrawableCompat.create(context, R.drawable.avd_star) + favorites.contains(galleryBlock.id) -> { + favorites.remove(galleryBlock.id) + + setImageResource(R.drawable.ic_star_empty) + } + else -> { + favorites.add(galleryBlock.id) + + setImageDrawable(AnimatedVectorDrawableCompat.create(context, R.drawable.avd_star).apply { + this ?: return@apply + + registerAnimationCallback(object: Animatable2Compat.AnimationCallback() { + override fun onAnimationEnd(drawable: Drawable?) { + setImageResource(R.drawable.ic_star_filled) + } + }) + start() + }) + } } } } 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 e75617c4..d52a1cab 100644 --- a/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt +++ b/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt @@ -1,6 +1,8 @@ package xyz.quaver.pupil.adapters +import android.graphics.Bitmap import android.graphics.BitmapFactory +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -10,6 +12,8 @@ import xyz.quaver.pupil.R class ReaderAdapter(private val images: List) : RecyclerView.Adapter() { + var isFullScreen = false + class ViewHolder(val view: View) : RecyclerView.ViewHolder(view) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { @@ -21,14 +25,40 @@ class ReaderAdapter(private val images: List) : RecyclerView.Adapter reqHeight || width > reqWidth) { + + val halfHeight: Int = height / 2 + val halfWidth: Int = width / 2 + + // Calculate the largest inSampleSize value that is a power of 2 and keeps both + // height and width larger than the requested height and width. + while (halfHeight / inSampleSize >= reqHeight && halfWidth / inSampleSize >= reqWidth) { + inSampleSize *= 2 + } + } + + return inSampleSize + } + with(holder.view as ImageView) { val options = BitmapFactory.Options() options.inJustDecodeBounds = true BitmapFactory.decodeFile(images[position], options) - options.inSampleSize = options.outWidth / - context.resources.displayMetrics.widthPixels + val (reqWidth, reqHeight) = context.resources.displayMetrics.let { + Pair(it.widthPixels, it.heightPixels) + } + + options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight) + + options.inPreferredConfig = Bitmap.Config.RGB_565 options.inJustDecodeBounds = false diff --git a/app/src/main/java/xyz/quaver/pupil/ui/LockActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/LockActivity.kt index d8eee511..57f9ed9a 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/LockActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/LockActivity.kt @@ -1,14 +1,12 @@ package xyz.quaver.pupil.ui import android.app.Activity -import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity import com.andrognito.patternlockview.PatternLockView import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.activity_lock.* import kotlinx.android.synthetic.main.fragment_pattern_lock.* -import kotlinx.android.synthetic.main.settings_activity.* import xyz.quaver.pupil.R import xyz.quaver.pupil.util.Lock import xyz.quaver.pupil.util.LockManager diff --git a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt index 8b59da1c..a19254a9 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt @@ -42,6 +42,7 @@ import kotlinx.serialization.stringify import ru.noties.markwon.Markwon import xyz.quaver.hitomi.* import xyz.quaver.pupil.BuildConfig +import xyz.quaver.pupil.Pupil import xyz.quaver.pupil.R import xyz.quaver.pupil.adapters.GalleryBlockAdapter import xyz.quaver.pupil.types.Tag diff --git a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt index 990f7b50..e29b3111 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt @@ -28,6 +28,7 @@ import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonConfiguration import xyz.quaver.hitomi.GalleryBlock import xyz.quaver.hitomi.getGalleryBlock +import xyz.quaver.pupil.Pupil import xyz.quaver.pupil.R import xyz.quaver.pupil.adapters.ReaderAdapter import xyz.quaver.pupil.util.GalleryDownloader @@ -46,6 +47,8 @@ class ReaderActivity : AppCompatActivity() { set(value) { field = value + (reader_recyclerview.adapter as ReaderAdapter).isFullScreen = value + reader_progressbar.visibility = when { value -> View.VISIBLE else -> View.GONE diff --git a/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt index 1f995222..e4229365 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt @@ -17,10 +17,12 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceManager import kotlinx.android.synthetic.main.dialog_default_query.view.* +import xyz.quaver.pupil.Pupil import xyz.quaver.pupil.R import xyz.quaver.pupil.types.Tags import xyz.quaver.pupil.util.Lock import xyz.quaver.pupil.util.LockManager +import xyz.quaver.pupil.util.getDownloadDirectory import java.io.File class SettingsActivity : AppCompatActivity() { @@ -133,7 +135,7 @@ class SettingsActivity : AppCompatActivity() { with(findPreference("delete_downloads")) { this!! - val dir = context.getExternalFilesDir("Pupil") ?: return@with + val dir = getDownloadDirectory(context)!! summary = getDirSize(dir) 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 fda31db8..9be00515 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt @@ -4,7 +4,6 @@ import android.app.PendingIntent import android.content.Context import android.content.ContextWrapper import android.content.Intent -import android.util.Log import android.util.SparseArray import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat @@ -18,8 +17,8 @@ import kotlinx.serialization.list import xyz.quaver.hitomi.* import xyz.quaver.hiyobi.cookie import xyz.quaver.hiyobi.user_agent -import xyz.quaver.pupil.ui.Pupil import xyz.quaver.pupil.R +import xyz.quaver.pupil.Pupil import xyz.quaver.pupil.ui.ReaderActivity import java.io.File import java.io.FileOutputStream @@ -218,7 +217,7 @@ class GalleryDownloader( if (download) { File(cacheDir, "imageCache/${galleryBlock.id}").let { if (it.exists()) { - val target = File(getExternalFilesDir("Pupil"), galleryBlock.id.toString()) + val target = File(getDownloadDirectory(this@GalleryDownloader), galleryBlock.id.toString()) if (!target.exists()) target.mkdirs() @@ -230,10 +229,10 @@ class GalleryDownloader( notificationManager.notify(galleryBlock.id, notificationBuilder.build()) - onCompleteHandler?.invoke() - download = false } + + onCompleteHandler?.invoke() } remove(galleryBlock.id) diff --git a/app/src/main/java/xyz/quaver/pupil/util/file.kt b/app/src/main/java/xyz/quaver/pupil/util/file.kt index f351dcd2..a1823442 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/file.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/file.kt @@ -1,15 +1,24 @@ package xyz.quaver.pupil.util import android.content.Context +import android.os.Build import android.os.Environment import android.provider.MediaStore +import androidx.core.content.ContextCompat import java.io.File fun getCachedGallery(context: Context, galleryID: Int): File { - return File(context.getExternalFilesDir("Pupil"), galleryID.toString()).let { + return File(getDownloadDirectory(context), galleryID.toString()).let { when { it.exists() -> it else -> File(context.cacheDir, "imageCache/$galleryID") } } +} + +fun getDownloadDirectory(context: Context): File? { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) + context.getExternalFilesDir("Pupil") + else + File(Environment.getExternalStorageDirectory(), "Pupil") } \ No newline at end of file diff --git a/app/src/main/res/drawable-anydpi/ic_progressbar_complete.xml b/app/src/main/res/drawable-anydpi/ic_progressbar_complete.xml deleted file mode 100644 index 85cae265..00000000 --- a/app/src/main/res/drawable-anydpi/ic_progressbar_complete.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 6348baae..00000000 --- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index a0ad202f..00000000 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml deleted file mode 100644 index 5b8f761d..00000000 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/ic_progressbar.xml b/app/src/main/res/drawable/ic_progressbar.xml index 3899286b..17f172e9 100644 --- a/app/src/main/res/drawable/ic_progressbar.xml +++ b/app/src/main/res/drawable/ic_progressbar.xml @@ -1,21 +1,22 @@ - - +xmlns:android="http://schemas.android.com/apk/res/android" +android:name="vector" +android:width="24dp" +android:height="24dp" +android:viewportWidth="24" +android:viewportHeight="24" +android:tintMode="multiply"> + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_progressbar_complete.xml b/app/src/main/res/drawable/ic_progressbar_complete.xml new file mode 100644 index 00000000..5fbef6ac --- /dev/null +++ b/app/src/main/res/drawable/ic_progressbar_complete.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/numeric.xml b/app/src/main/res/drawable/numeric.xml new file mode 100644 index 00000000..fc54c34a --- /dev/null +++ b/app/src/main/res/drawable/numeric.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_lock.xml b/app/src/main/res/layout/activity_lock.xml index e4632044..b570d386 100644 --- a/app/src/main/res/layout/activity_lock.xml +++ b/app/src/main/res/layout/activity_lock.xml @@ -27,7 +27,7 @@ android:id="@+id/lock_pattern" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/lock_pattern" + app:srcCompat="@drawable/lock_pattern" app:backgroundTint="@color/colorPrimary" app:fabSize="mini"/> @@ -35,7 +35,7 @@ android:id="@+id/lock_pin" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/numeric" + app:srcCompat="@drawable/numeric" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" app:backgroundTint="@color/dark_gray" @@ -45,7 +45,7 @@ android:id="@+id/lock_fingerprint" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/fingerprint" + app:srcCompat="@drawable/fingerprint" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" app:backgroundTint="@color/dark_gray" @@ -55,7 +55,7 @@ android:id="@+id/lock_password" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/lastpass" + app:srcCompat="@drawable/lastpass" app:backgroundTint="@color/dark_gray" app:fabSize="mini"/> diff --git a/app/src/main/res/layout/activity_reader.xml b/app/src/main/res/layout/activity_reader.xml index b1cd6c1d..789f04f3 100644 --- a/app/src/main/res/layout/activity_reader.xml +++ b/app/src/main/res/layout/activity_reader.xml @@ -55,7 +55,7 @@ android:id="@+id/reader_fab_download" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_downloading" + app:srcCompat="@drawable/ic_downloading" app:fab_label="@string/reader_fab_download" app:fab_size="mini"/> @@ -63,7 +63,7 @@ android:id="@+id/reader_fab_fullscreen" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_fullscreen" + app:srcCompat="@drawable/ic_fullscreen" app:fab_label="@string/reader_fab_fullscreen" app:fab_size="mini"/> diff --git a/app/src/main/res/layout/item_galleryblock.xml b/app/src/main/res/layout/item_galleryblock.xml index 7e05f4c2..7fbe3d7d 100644 --- a/app/src/main/res/layout/item_galleryblock.xml +++ b/app/src/main/res/layout/item_galleryblock.xml @@ -158,15 +158,13 @@ android:layout_height="1dp" android:layout_weight="1"/> - + app:srcCompat="@drawable/ic_star_empty" + app:backgroundTint="@color/material_orange_500"/> diff --git a/app/src/main/res/layout/item_next.xml b/app/src/main/res/layout/item_next.xml index ec429ad8..4b647b6c 100644 --- a/app/src/main/res/layout/item_next.xml +++ b/app/src/main/res/layout/item_next.xml @@ -1,5 +1,6 @@ diff --git a/app/src/main/res/layout/item_prev.xml b/app/src/main/res/layout/item_prev.xml index c01cc5da..60299e63 100644 --- a/app/src/main/res/layout/item_prev.xml +++ b/app/src/main/res/layout/item_prev.xml @@ -1,5 +1,6 @@ diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 7353dbd1..00000000 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 7353dbd1..00000000 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ 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 bdab1daf..8ea7ac44 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -7,7 +7,7 @@ 検索 ギャラリー検索 ギャラリー検索 - イメージキャッシュクリア + キャッシュクリア キャッシュをクリアするとイメージのロード速度に影響を与えます。実行しますか? サイズ: %1$d%2$s デフォルトキーワード diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d7c7956d..a1fe7f96 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -6,7 +6,7 @@ 갤러리 검색 갤러리 검색 기본 검색어 - 이미지 캐시 정리하기 + 캐시 정리하기 캐시를 정리하면 이미지 로딩속도가 느려질 수 있습니다. 계속하시겠습니까? 사용량: %1$d%2$s 한 번에 로드할 갤러리 수 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c8ef231d..3a2738d3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -85,7 +85,7 @@ Galleries per page Default query Storage - Clear image cache + Clear cache Deleting cache can affect image loading speed. Do you want to continue? Currently using %1$d%2$s Clear downloads diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 5a802f27..e823e4fb 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -29,7 +29,7 @@ app:title="@string/settings_storage">