From 96e41218ed7d33567fb88cc047386f5f8ba48ea6 Mon Sep 17 00:00:00 2001 From: Felix Oghina Date: Thu, 11 Aug 2016 07:19:53 -0700 Subject: [PATCH] forward ThemedReactContext#has/getCurrentActivity calls to wrapped context Summary: `ThemedReactContext` wraps the actual `ReactContext` but doesn't actually receive any lifecycle events, which would set `mCurrentActivity`, so that's always stuck as `null`. To fix, we override `has/getCurrentActivity` and forward the call to the wrapped context, which actually has the correct lifecycle status. Fixes issue #9310 on github. Reviewed By: mkonicek Differential Revision: D3703005 fbshipit-source-id: 363e87ac91d50516899b413e823d5312cbb807f4 --- .../react/uimanager/ThemedReactContext.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java index f3511bd28..f3a1a2f10 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java @@ -9,10 +9,10 @@ package com.facebook.react.uimanager; +import javax.annotation.Nullable; + +import android.app.Activity; import android.content.Context; -import android.content.Intent; -import android.content.res.Resources; -import android.os.Bundle; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; @@ -47,4 +47,14 @@ public class ThemedReactContext extends ReactContext { public void removeLifecycleEventListener(LifecycleEventListener listener) { mReactApplicationContext.removeLifecycleEventListener(listener); } + + @Override + public boolean hasCurrentActivity() { + return mReactApplicationContext.hasCurrentActivity(); + } + + @Override + public @Nullable Activity getCurrentActivity() { + return mReactApplicationContext.getCurrentActivity(); + } }