Skip to content

Commit 5c0dcdd

Browse files
Oleg Bogdanovfacebook-github-bot
Oleg Bogdanov
authored andcommitted
Expose initialAppState constant from Android native AppState module (#19935)
Summary: This PR addresses TODO left in _AppState.js_ The goal is to align AppState module implementation between iOS and Android. iOS native module exposes _initialAppState_ constant that AppState.js relies on, while Android doesn't expose that constant and js implementation uses a fallback. This PR aims to remove a need for a fallback Pull Request resolved: #19935 Reviewed By: hramos Differential Revision: D13774044 Pulled By: ejanzer fbshipit-source-id: 05d27e702cb9aeedf14293158bfd50004df4726b
1 parent e4d7fc0 commit 5c0dcdd

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,13 @@
1414
import com.facebook.react.bridge.ReactContextBaseJavaModule;
1515
import com.facebook.react.bridge.ReactMethod;
1616
import com.facebook.react.bridge.WritableMap;
17+
import com.facebook.react.common.LifecycleState;
1718
import com.facebook.react.module.annotations.ReactModule;
1819
import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter;
1920

21+
import java.util.HashMap;
22+
import java.util.Map;
23+
2024
@ReactModule(name = AppStateModule.NAME)
2125
public class AppStateModule extends ReactContextBaseJavaModule
2226
implements LifecycleEventListener {
@@ -26,10 +30,15 @@ public class AppStateModule extends ReactContextBaseJavaModule
2630
public static final String APP_STATE_ACTIVE = "active";
2731
public static final String APP_STATE_BACKGROUND = "background";
2832

29-
private String mAppState = "uninitialized";
33+
private static final String INITIAL_STATE = "initialAppState";
34+
35+
private String mAppState;
3036

3137
public AppStateModule(ReactApplicationContext reactContext) {
3238
super(reactContext);
39+
reactContext.addLifecycleEventListener(this);
40+
mAppState = (reactContext.getLifecycleState() == LifecycleState.RESUMED ?
41+
APP_STATE_ACTIVE : APP_STATE_BACKGROUND);
3342
}
3443

3544
@Override
@@ -38,8 +47,10 @@ public String getName() {
3847
}
3948

4049
@Override
41-
public void initialize() {
42-
getReactApplicationContext().addLifecycleEventListener(this);
50+
public Map<String, Object> getConstants() {
51+
HashMap<String, Object> constants = new HashMap<>();
52+
constants.put(INITIAL_STATE, mAppState);
53+
return constants;
4354
}
4455

4556
@ReactMethod

0 commit comments

Comments
 (0)