From d38c5a481729b275535bc35f1f26c8e914cd74cc Mon Sep 17 00:00:00 2001 From: trne Date: Wed, 1 Nov 2023 13:51:22 +0000 Subject: [PATCH] Do not crash when the main activity is unavailable --- .../blurview/BlurViewManagerImpl.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java b/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java index 44443134..c5861bc9 100644 --- a/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java +++ b/android/src/main/java/com/reactnativecommunity/blurview/BlurViewManagerImpl.java @@ -1,5 +1,6 @@ package com.reactnativecommunity.blurview; +import android.app.Activity; import android.view.View; import com.facebook.react.uimanager.ThemedReactContext; @@ -18,14 +19,18 @@ class BlurViewManagerImpl { public static @Nonnull BlurView createViewInstance(@Nonnull ThemedReactContext ctx) { BlurView blurView = new BlurView(ctx); - View decorView = Objects - .requireNonNull(ctx.getCurrentActivity()) - .getWindow() - .getDecorView(); - blurView - .setupWith(decorView.findViewById(android.R.id.content)) - .setFrameClearDrawable(decorView.getBackground()) - .setBlurRadius(defaultRadius); + + Activity currentActivity = ctx.getCurrentActivity(); + if (currentActivity != null) { + View decorView = Objects + .requireNonNull(ctx.getCurrentActivity()) + .getWindow() + .getDecorView(); + blurView + .setupWith(decorView.findViewById(android.R.id.content)) + .setFrameClearDrawable(decorView.getBackground()) + .setBlurRadius(defaultRadius); + } return blurView; }