[app] Don't show parasitic recommend everytime (#1227)

* [app] Don't show parasitic recommend everytime

* [app] Fix shadow color
This commit is contained in:
tehcneko 2021-10-06 19:42:32 +08:00 committed by GitHub
parent 0248bef5fb
commit f75579a8e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 19 deletions

View File

@ -98,6 +98,7 @@ public class App extends Application {
private static App instance = null; private static App instance = null;
private static OkHttpClient okHttpClient; private static OkHttpClient okHttpClient;
private static Cache okHttpCache; private static Cache okHttpCache;
private static boolean parasiticShown = false;
private SharedPreferences pref; private SharedPreferences pref;
private ExecutorService executorService; private ExecutorService executorService;
@ -117,6 +118,14 @@ public class App extends Application {
return !Process.isApplicationUid(Process.myUid()); return !Process.isApplicationUid(Process.myUid());
} }
public static boolean isParasiticShown() {
return parasiticShown;
}
public static void setParasiticShown(boolean parasiticShown) {
App.parasiticShown = parasiticShown;
}
private void setCrashReport() { private void setCrashReport() {
Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> { Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> {

View File

@ -24,6 +24,8 @@ import android.content.Context;
import android.os.Build; import android.os.Build;
import android.view.SurfaceControl; import android.view.SurfaceControl;
import android.view.View; import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.DecelerateInterpolator; import android.view.animation.DecelerateInterpolator;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -51,14 +53,16 @@ public class BlurBehindDialogBuilder extends MaterialAlertDialogBuilder {
} }
private void setBackgroundBlurRadius(AlertDialog dialog) { 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); ValueAnimator animator = ValueAnimator.ofInt(1, 150);
animator.setInterpolator(new DecelerateInterpolator()); animator.setInterpolator(new DecelerateInterpolator());
animator.setDuration(150); animator.setDuration(150);
View view = dialog.getWindow().getDecorView(); Window window = dialog.getWindow();
View view = window.getDecorView();
if (BuildCompat.isAtLeastS()) { if (BuildCompat.isAtLeastS()) {
animator.addUpdateListener(animation -> dialog.getWindow().setBackgroundBlurRadius((Integer) animation.getAnimatedValue())); window.addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
} else { animator.addUpdateListener(animation -> window.getAttributes().setBlurBehindRadius((Integer) animation.getAnimatedValue()));
} else if (supportBlur) {
try { try {
Object viewRootImpl = view.getClass().getMethod("getViewRootImpl").invoke(view); Object viewRootImpl = view.getClass().getMethod("getViewRootImpl").invoke(view);
if (viewRootImpl == null) { if (viewRootImpl == null) {

View File

@ -61,7 +61,8 @@ public class HomeFragment extends BaseFragment {
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(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()) new BlurBehindDialogBuilder(requireActivity())
.setTitle(R.string.parasitic_recommend) .setTitle(R.string.parasitic_recommend)
.setMessage(R.string.parasitic_recommend_summary) .setMessage(R.string.parasitic_recommend_summary)

View File

@ -34,7 +34,6 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts; import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.core.text.HtmlCompat; import androidx.core.text.HtmlCompat;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.SwitchPreference; import androidx.preference.SwitchPreference;
@ -333,8 +332,4 @@ public class SettingsFragment extends BaseFragment {
return lstLang; return lstLang;
} }
} }
public void makeSnackBar(@StringRes int text, @Snackbar.Duration int duration) {
Snackbar.make(binding.snackbar, text, duration).show();
}
} }

View File

@ -68,8 +68,6 @@
android:layout_gravity="end|bottom" android:layout_gravity="end|bottom"
android:layout_margin="16dp" android:layout_margin="16dp"
android:contentDescription="@string/add_module_to_user" android:contentDescription="@string/add_module_to_user"
android:outlineAmbientShadowColor="?colorContainer"
android:outlineSpotShadowColor="?colorContainer"
android:src="@drawable/ic_baseline_add_24" android:src="@drawable/ic_baseline_add_24"
android:visibility="invisible" android:visibility="invisible"
app:layout_fitsSystemWindowsInsets="bottom" /> app:layout_fitsSystemWindowsInsets="bottom" />

View File

@ -17,7 +17,7 @@
~ Copyright (C) 2021 LSPosed Contributors ~ Copyright (C) 2021 LSPosed Contributors
--> -->
<resources xmlns:tools="http://schemas.android.com/tools"> <resources>
<style name="Base.AppTheme.Light" parent="Theme.Material.Light.LightStatusBar"> <style name="Base.AppTheme.Light" parent="Theme.Material.Light.LightStatusBar">
<item name="android:statusBarColor">?android:colorBackground</item> <item name="android:statusBarColor">?android:colorBackground</item>
@ -80,6 +80,7 @@
</style> </style>
<style name="HomeCard" parent="Widget.Material3.CardView.Elevated"> <style name="HomeCard" parent="Widget.Material3.CardView.Elevated">
<item name="android:stateListAnimator">@null</item>
<item name="android:layout_marginHorizontal">16dp</item> <item name="android:layout_marginHorizontal">16dp</item>
<item name="android:layout_marginBottom">8dp</item> <item name="android:layout_marginBottom">8dp</item>
<item name="android:clickable">true</item> <item name="android:clickable">true</item>
@ -92,14 +93,9 @@
<item name="cardElevation">@dimen/home_primary_elevation</item> <item name="cardElevation">@dimen/home_primary_elevation</item>
</style> </style>
<style name="HomeCard.Secondary"> <style name="HomeCard.Secondary" />
<item name="cardElevation">@dimen/home_secondary_elevation</item>
<item name="android:outlineAmbientShadowColor" tools:targetApi="p">?attr/colorSurface</item>
<item name="android:outlineSpotShadowColor" tools:targetApi="p">?attr/colorSurface</item>
</style>
<style name="HomeCard.Tertiary"> <style name="HomeCard.Tertiary">
<item name="android:stateListAnimator">@null</item>
<item name="cardBackgroundColor">@android:color/transparent</item> <item name="cardBackgroundColor">@android:color/transparent</item>
<item name="cardElevation">0dp</item> <item name="cardElevation">0dp</item>
</style> </style>