From f75579a8e7f2741f3b1d2d0b71438f259226fd7a Mon Sep 17 00:00:00 2001 From: tehcneko <88844448+tehcneko@users.noreply.github.com> Date: Wed, 6 Oct 2021 19:42:32 +0800 Subject: [PATCH] [app] Don't show parasitic recommend everytime (#1227) * [app] Don't show parasitic recommend everytime * [app] Fix shadow color --- app/src/main/java/org/lsposed/manager/App.java | 9 +++++++++ .../manager/ui/dialog/BlurBehindDialogBuilder.java | 12 ++++++++---- .../lsposed/manager/ui/fragment/HomeFragment.java | 3 ++- .../manager/ui/fragment/SettingsFragment.java | 5 ----- app/src/main/res/layout/fragment_pager.xml | 2 -- app/src/main/res/values/themes.xml | 10 +++------- 6 files changed, 22 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/App.java b/app/src/main/java/org/lsposed/manager/App.java index 3d6d917f..8612757b 100644 --- a/app/src/main/java/org/lsposed/manager/App.java +++ b/app/src/main/java/org/lsposed/manager/App.java @@ -98,6 +98,7 @@ public class App extends Application { private static App instance = null; private static OkHttpClient okHttpClient; private static Cache okHttpCache; + private static boolean parasiticShown = false; private SharedPreferences pref; private ExecutorService executorService; @@ -117,6 +118,14 @@ public class App extends Application { return !Process.isApplicationUid(Process.myUid()); } + public static boolean isParasiticShown() { + return parasiticShown; + } + + public static void setParasiticShown(boolean parasiticShown) { + App.parasiticShown = parasiticShown; + } + private void setCrashReport() { Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> { diff --git a/app/src/main/java/org/lsposed/manager/ui/dialog/BlurBehindDialogBuilder.java b/app/src/main/java/org/lsposed/manager/ui/dialog/BlurBehindDialogBuilder.java index 90988d85..2414c3c4 100644 --- a/app/src/main/java/org/lsposed/manager/ui/dialog/BlurBehindDialogBuilder.java +++ b/app/src/main/java/org/lsposed/manager/ui/dialog/BlurBehindDialogBuilder.java @@ -24,6 +24,8 @@ import android.content.Context; import android.os.Build; import android.view.SurfaceControl; import android.view.View; +import android.view.Window; +import android.view.WindowManager; import android.view.animation.DecelerateInterpolator; import androidx.annotation.NonNull; @@ -51,14 +53,16 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder { } private void setBackgroundBlurRadius(AlertDialog dialog) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && supportBlur) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { ValueAnimator animator = ValueAnimator.ofInt(1, 150); animator.setInterpolator(new DecelerateInterpolator()); animator.setDuration(150); - View view = dialog.getWindow().getDecorView(); + Window window = dialog.getWindow(); + View view = window.getDecorView(); if (BuildCompat.isAtLeastS()) { - animator.addUpdateListener(animation -> dialog.getWindow().setBackgroundBlurRadius((Integer) animation.getAnimatedValue())); - } else { + window.addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); + animator.addUpdateListener(animation -> window.getAttributes().setBlurBehindRadius((Integer) animation.getAnimatedValue())); + } else if (supportBlur) { try { Object viewRootImpl = view.getClass().getMethod("getViewRootImpl").invoke(view); if (viewRootImpl == null) { diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/HomeFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/HomeFragment.java index e0684c93..a87671c3 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/HomeFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/HomeFragment.java @@ -61,7 +61,8 @@ public class HomeFragment extends BaseFragment { public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (!App.isParasitic() && !App.getPreferences().getBoolean("never_show_shortcut", false)) { + if (!App.isParasitic() && !App.getPreferences().getBoolean("never_show_shortcut", false) && !App.isParasiticShown()) { + App.setParasiticShown(true); new BlurBehindDialogBuilder(requireActivity()) .setTitle(R.string.parasitic_recommend) .setMessage(R.string.parasitic_recommend_summary) diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java index afb8c122..88b27eba 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java @@ -34,7 +34,6 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.annotation.StringRes; import androidx.core.text.HtmlCompat; import androidx.preference.Preference; import androidx.preference.SwitchPreference; @@ -333,8 +332,4 @@ public class SettingsFragment extends BaseFragment { return lstLang; } } - - public void makeSnackBar(@StringRes int text, @Snackbar.Duration int duration) { - Snackbar.make(binding.snackbar, text, duration).show(); - } } diff --git a/app/src/main/res/layout/fragment_pager.xml b/app/src/main/res/layout/fragment_pager.xml index 553ccb20..ee848ab0 100644 --- a/app/src/main/res/layout/fragment_pager.xml +++ b/app/src/main/res/layout/fragment_pager.xml @@ -68,8 +68,6 @@ android:layout_gravity="end|bottom" android:layout_margin="16dp" android:contentDescription="@string/add_module_to_user" - android:outlineAmbientShadowColor="?colorContainer" - android:outlineSpotShadowColor="?colorContainer" android:src="@drawable/ic_baseline_add_24" android:visibility="invisible" app:layout_fitsSystemWindowsInsets="bottom" /> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 9b52e0aa..3388c349 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -17,7 +17,7 @@ ~ Copyright (C) 2021 LSPosed Contributors --> - + - +