From 154a96b5fdfc8efae9a1068aae3fa98273c73c55 Mon Sep 17 00:00:00 2001 From: tarsin Date: Thu, 1 Dec 2022 08:52:27 +0800 Subject: [PATCH] Apply blur with themes --- .../java/com/hippo/app/BaseDialogBuilder.kt | 17 +--------- .../java/com/hippo/ehviewer/ui/EhActivity.kt | 11 +------ .../ehviewer/ui/GalleryInfoBottomSheet.kt | 7 ----- app/src/main/res/values/themes.xml | 31 ++++++++++++++++--- 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt b/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt index 7b0d6c477..8acd2da4a 100644 --- a/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt +++ b/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt @@ -1,23 +1,8 @@ package com.hippo.app import android.content.Context -import android.os.Build -import android.view.WindowManager -import androidx.appcompat.app.AlertDialog import com.google.android.material.dialog.MaterialAlertDialogBuilder open class BaseDialogBuilder constructor( context: Context -) : MaterialAlertDialogBuilder(context) { - override fun create(): AlertDialog { - return super.create().apply { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - window?.run { - addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND) - addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) - attributes.blurBehindRadius = 32 - } - } - } - } -} \ No newline at end of file +) : MaterialAlertDialogBuilder(context) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt index 453e425e5..2810511a4 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/EhActivity.kt @@ -22,7 +22,6 @@ import android.content.pm.PackageManager import android.content.res.Configuration import android.content.res.Resources import android.content.res.Resources.Theme -import android.graphics.Color import android.os.Build import android.os.Bundle import android.view.WindowManager @@ -71,23 +70,15 @@ abstract class EhActivity : AppCompatActivity() { WindowInsetsHelper.LISTENER ) super.onCreate(savedInstanceState) - window.statusBarColor = Color.TRANSPARENT window.decorView.post { val rootWindowInsets = window.decorView.rootWindowInsets if (rootWindowInsets != null && rootWindowInsets.systemWindowInsetBottom >= Resources.getSystem().displayMetrics.density * 40) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - window.navigationBarDividerColor = getColor(R.color.navigation_bar_divider) - } + window.navigationBarDividerColor = getColor(R.color.navigation_bar_divider) window.navigationBarColor = theme.resolveColor(android.R.attr.navigationBarColor) and 0x00ffffff or -0x20000000 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { window.isNavigationBarContrastEnforced = false } - } else { - window.navigationBarColor = Color.TRANSPARENT - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - window.isNavigationBarContrastEnforced = true - } } } (application as EhApplication).registerActivity(this) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt b/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt index 38bf42f54..6340e87d1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt @@ -46,13 +46,6 @@ class GalleryInfoBottomSheet(detail: GalleryDetail) : BottomSheetDialogFragment( ): View? { parseDetail() val view = inflater.inflate(R.layout.scene_gallery_info, container, false) - dialog?.window?.run { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND) - addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) - attributes.blurBehindRadius = 32 - } - } val recyclerView = view.findViewById(R.id.recycler_view) as RecyclerView val adapter = InfoAdapter() recyclerView.adapter = adapter diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 8c7aadf59..a7365240e 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -22,16 +22,25 @@ ?attr/colorPrimary ?attr/colorPrimaryContainer ?attr/colorTertiaryContainer - false - true - false - true + @style/Widget.Material3.Chip.Filter @style/PreferenceThemeOverlay.Rikka.Material3 @style/Snackbar @style/SnackbarButton + + @android:color/transparent + @android:color/transparent + false + true + false + true false + true + + + @style/MaterialCalendarTheme @style/BottomSheetDialogTheme + @style/MaterialAlertDialogTheme + + + + +