From e4d7b93f1626bdee3c448347fa425ffd428044ee Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Fri, 7 Oct 2022 22:58:34 +0200 Subject: [PATCH] Update BlurView library --- app/build.gradle | 2 +- .../java/com/fox2code/mmm/MainActivity.java | 7 +++--- .../mmm/markdown/MarkdownActivity.java | 13 +++------- .../com/fox2code/mmm/utils/BlurUtils.java | 25 +++++++++++++++++++ 4 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/fox2code/mmm/utils/BlurUtils.java diff --git a/app/build.gradle b/app/build.gradle index d1ea446..7fadfff 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -156,7 +156,7 @@ dependencies { implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}" implementation "dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0" implementation "dev.rikka.rikkax.insets:insets:1.3.0" - implementation 'com.github.Dimezis:BlurView:version-1.6.6' + implementation 'com.github.Dimezis:BlurView:version-2.0.2' implementation 'com.github.KieronQuinn:MonetCompat:0.4.1' implementation 'com.github.Fox2Code:FoxCompat:0.1.5' diff --git a/app/src/main/java/com/fox2code/mmm/MainActivity.java b/app/src/main/java/com/fox2code/mmm/MainActivity.java index 4d17fb2..e7a3a95 100644 --- a/app/src/main/java/com/fox2code/mmm/MainActivity.java +++ b/app/src/main/java/com/fox2code/mmm/MainActivity.java @@ -34,6 +34,7 @@ import com.fox2code.mmm.module.ModuleViewAdapter; import com.fox2code.mmm.module.ModuleViewListBuilder; import com.fox2code.mmm.repo.RepoManager; import com.fox2code.mmm.settings.SettingsActivity; +import com.fox2code.mmm.utils.BlurUtils; import com.fox2code.mmm.utils.ExternalHelper; import com.fox2code.mmm.utils.Http; import com.fox2code.mmm.utils.IntentHelper; @@ -42,6 +43,7 @@ import com.google.android.material.progressindicator.LinearProgressIndicator; import com.topjohnwu.superuser.Shell; import eightbitlab.com.blurview.BlurView; +import eightbitlab.com.blurview.RenderEffectBlur; import eightbitlab.com.blurview.RenderScriptBlur; public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRefreshListener, @@ -121,10 +123,7 @@ public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRe this.moduleList.setItemViewCacheSize(4); // Default is 2 this.swipeRefreshLayout.setOnRefreshListener(this); this.actionBarBlur.setBackground(this.actionBarBackground); - this.actionBarBlur.setupWith(findViewById(R.id.blur_frame)) - .setFrameClearDrawable(this.getWindow().getDecorView().getBackground()) - .setBlurAlgorithm(new RenderScriptBlur(this)).setBlurRadius(4F) - .setBlurAutoUpdate(true).setHasFixedTransformationMatrix(true); + BlurUtils.setupBlur(this.actionBarBlur, this, R.id.blur_frame); this.updateBlurState(); this.moduleList.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override diff --git a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java index bb7ec2b..2ee481f 100644 --- a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java +++ b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java @@ -23,6 +23,7 @@ import com.fox2code.mmm.Constants; import com.fox2code.mmm.MainApplication; import com.fox2code.mmm.R; import com.fox2code.mmm.XHooks; +import com.fox2code.mmm.utils.BlurUtils; import com.fox2code.mmm.utils.Http; import com.fox2code.mmm.utils.IntentHelper; import com.google.android.material.chip.Chip; @@ -131,7 +132,8 @@ public class MarkdownActivity extends FoxActivity { this.header = findViewById(R.id.markdownHeader); this.footer = findViewById(R.id.markdownFooter); this.actionBarBlur.setBackground(this.actionBarBackground); - this.setupBlurView(this.actionBarBlur, markdownBackground); + BlurUtils.setupBlur(this.actionBarBlur, this, markdownBackground); + this.updateBlurState(); UiThreadHandler.handler.post(() -> // Fix header/footer height this.updateScreenInsets(this.getResources().getConfiguration())); @@ -171,15 +173,6 @@ public class MarkdownActivity extends FoxActivity { }, "Markdown load thread").start(); } - private void setupBlurView(BlurView view, ViewGroup setupWith) { - view.setupWith(setupWith).setFrameClearDrawable( - this.getWindow().getDecorView().getBackground()) - .setBlurAlgorithm(new RenderScriptBlur(this)) - .setBlurRadius(4F).setBlurAutoUpdate(true) - .setHasFixedTransformationMatrix(true); - this.updateBlurState(); - } - private void updateBlurState() { boolean isLightMode = this.isLightTheme(); int colorBackground; diff --git a/app/src/main/java/com/fox2code/mmm/utils/BlurUtils.java b/app/src/main/java/com/fox2code/mmm/utils/BlurUtils.java new file mode 100644 index 0000000..e8eda3e --- /dev/null +++ b/app/src/main/java/com/fox2code/mmm/utils/BlurUtils.java @@ -0,0 +1,25 @@ +package com.fox2code.mmm.utils; + +import android.app.Activity; +import android.os.Build; +import android.view.ViewGroup; + +import androidx.annotation.IdRes; + +import eightbitlab.com.blurview.BlurView; +import eightbitlab.com.blurview.RenderEffectBlur; +import eightbitlab.com.blurview.RenderScriptBlur; + +public class BlurUtils { + public static void setupBlur(BlurView blurView, Activity activity, @IdRes int viewId) { + setupBlur(blurView, activity, activity.findViewById(viewId)); + } + + @SuppressWarnings("deprecation") + public static void setupBlur(BlurView blurView, Activity activity, ViewGroup rootView) { + blurView.setupWith(rootView, Build.VERSION.SDK_INT < Build.VERSION_CODES.S ? + new RenderScriptBlur(blurView.getContext()) : new RenderEffectBlur()) + .setFrameClearDrawable(activity.getWindow().getDecorView().getBackground()) + .setBlurRadius(4F).setBlurAutoUpdate(true); + } +}