[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 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) -> {

View File

@ -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) {

View File

@ -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)

View File

@ -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();
}
}

View File

@ -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" />

View File

@ -17,7 +17,7 @@
~ Copyright (C) 2021 LSPosed Contributors
-->
<resources xmlns:tools="http://schemas.android.com/tools">
<resources>
<style name="Base.AppTheme.Light" parent="Theme.Material.Light.LightStatusBar">
<item name="android:statusBarColor">?android:colorBackground</item>
@ -80,6 +80,7 @@
</style>
<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_marginBottom">8dp</item>
<item name="android:clickable">true</item>
@ -92,14 +93,9 @@
<item name="cardElevation">@dimen/home_primary_elevation</item>
</style>
<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.Secondary" />
<style name="HomeCard.Tertiary">
<item name="android:stateListAnimator">@null</item>
<item name="cardBackgroundColor">@android:color/transparent</item>
<item name="cardElevation">0dp</item>
</style>