From 96fcf69bdd7eb9283787b405e576ddd1f750ba2f Mon Sep 17 00:00:00 2001 From: tarsin Date: Sat, 19 Nov 2022 23:01:44 +0800 Subject: [PATCH] Guard blur method --- app/src/main/java/com/hippo/app/BaseDialogBuilder.kt | 11 +++++++---- .../com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt | 9 ++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt b/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt index d23dd890d..7b0d6c477 100644 --- a/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt +++ b/app/src/main/java/com/hippo/app/BaseDialogBuilder.kt @@ -1,6 +1,7 @@ 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 @@ -10,10 +11,12 @@ open class BaseDialogBuilder constructor( ) : MaterialAlertDialogBuilder(context) { override fun create(): AlertDialog { return super.create().apply { - window?.run { - addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND) - addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) - attributes.blurBehindRadius = 32 + 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 + } } } } 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 9a0ccaacc..5e0a06264 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt @@ -15,6 +15,7 @@ */ package com.hippo.ehviewer.ui +import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -47,9 +48,11 @@ class GalleryInfoBottomSheet(detail: GalleryDetail) : BottomSheetDialogFragment( parseDetail() val view = inflater.inflate(R.layout.scene_gallery_info, container, false) dialog?.window?.run { - addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND) - addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) - attributes.blurBehindRadius = 32 + 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()