From 8fb6357fb5ee452abdbbdaa3c4a19572c9a2c6b5 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Tue, 12 Mar 2024 20:43:20 +0530 Subject: [PATCH] feat: Blur toggle --- app/src/main/java/ani/dantotsu/Functions.kt | 20 +++-- .../ani/dantotsu/home/MangaPageAdapter.kt | 3 +- .../java/ani/dantotsu/media/MediaAdaptor.kt | 20 +---- .../settings/UserInterfaceSettingsActivity.kt | 17 +++- .../dantotsu/settings/saving/Preferences.kt | 3 + .../activity_user_interface_settings.xml | 90 +++++++++++++++++++ app/src/main/res/values/strings.xml | 5 +- 7 files changed, 128 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/Functions.kt b/app/src/main/java/ani/dantotsu/Functions.kt index 4449ff2a..b7fe66f5 100644 --- a/app/src/main/java/ani/dantotsu/Functions.kt +++ b/app/src/main/java/ani/dantotsu/Functions.kt @@ -1104,13 +1104,19 @@ suspend fun View.pop() { fun blurImage(imageView: ImageView, banner: String?){ if (banner != null) { - val context = imageView.context - if (!(context as Activity).isDestroyed) - Glide.with(context as Context) - .load(GlideUrl(banner)) - .diskCacheStrategy(DiskCacheStrategy.ALL).override(400) - .apply(RequestOptions.bitmapTransform(BlurTransformation(2, 2))) - .into(imageView) + val radius = PrefManager.getVal(PrefName.BlurRadius).toInt() + val sampling = PrefManager.getVal(PrefName.BlurSampling).toInt() + if (PrefManager.getVal(PrefName.BlurBanners)){ + val context = imageView.context + if (!(context as Activity).isDestroyed) + Glide.with(context as Context) + .load(GlideUrl(banner)) + .diskCacheStrategy(DiskCacheStrategy.ALL).override(400) + .apply(RequestOptions.bitmapTransform(BlurTransformation(radius, sampling))) + .into(imageView) + }else{ + imageView.loadImage(banner) + } } else { imageView.setImageResource(R.drawable.linear_gradient_bg) } diff --git a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt index ca0a6e59..f4b34f7d 100644 --- a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt +++ b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt @@ -155,8 +155,7 @@ class MangaPageAdapter : RecyclerView.Adapter + PrefManager.setVal(PrefName.BlurBanners, isChecked) + restartApp() + } + binding.uiSettingsBlurRadius.value = (PrefManager.getVal(PrefName.BlurRadius) as Float) + binding.uiSettingsBlurRadius.addOnChangeListener { _, value, _ -> + PrefManager.setVal(PrefName.BlurRadius, value) + restartApp() + } + binding.uiSettingsBlurSampling.value = (PrefManager.getVal(PrefName.BlurSampling) as Float) + binding.uiSettingsBlurSampling.addOnChangeListener { _, value, _ -> + PrefManager.setVal(PrefName.BlurSampling, value) + restartApp() + } } private fun restartApp() { diff --git a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt index 43b17abc..23a5326b 100644 --- a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt +++ b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt @@ -47,6 +47,9 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files ShowYtButton(Pref(Location.UI, Boolean::class, true)), AnimeDefaultView(Pref(Location.UI, Int::class, 0)), MangaDefaultView(Pref(Location.UI, Int::class, 0)), + BlurBanners(Pref(Location.UI, Boolean::class, true)), + BlurRadius(Pref(Location.UI, Float::class, 2f)), + BlurSampling(Pref(Location.UI, Float::class, 2f)), ImmersiveMode(Pref(Location.UI, Boolean::class, false)), SmallView(Pref(Location.UI, Boolean::class, true)), DefaultStartUpTab(Pref(Location.UI, Int::class, 1)), diff --git a/app/src/main/res/layout/activity_user_interface_settings.xml b/app/src/main/res/layout/activity_user_interface_settings.xml index 659afb03..a6f0bdf6 100644 --- a/app/src/main/res/layout/activity_user_interface_settings.xml +++ b/app/src/main/res/layout/activity_user_interface_settings.xml @@ -264,6 +264,96 @@ app:trackColorActive="?attr/colorSecondary" tools:ignore="SpeakableTextPresentCheck" /> + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9a46eb52..1a0ab2f9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -694,5 +694,8 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc Log to File Logging to a file will slow down the app. Only enable if you are experiencing issues. - + Radius + Sampling + Blur Banners + Blur