mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-28 12:15:37 +08:00
[ReactNative] AppState cleanup, remove Subscribable, add in OSS examples
This commit is contained in:
24
Libraries/AppStateIOS/AppStateIOS.android.js
Normal file
24
Libraries/AppStateIOS/AppStateIOS.android.js
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Copyright 2004-present Facebook. All Rights Reserved.
|
||||
*
|
||||
* @providesModule AppStateIOS
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var warning = require('warning');
|
||||
|
||||
class AppStateIOS {
|
||||
|
||||
static addEventListener(type, handler) {
|
||||
warning('Cannot listen to AppStateIOS events on Android.');
|
||||
}
|
||||
|
||||
static removeEventListener(type, handler) {
|
||||
warning('Cannot remove AppStateIOS listener on Android.');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
AppStateIOS.currentState = null;
|
||||
|
||||
module.exports = AppStateIOS;
|
||||
55
Libraries/AppStateIOS/AppStateIOS.ios.js
Normal file
55
Libraries/AppStateIOS/AppStateIOS.ios.js
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Copyright 2004-present Facebook. All Rights Reserved.
|
||||
*
|
||||
* @providesModule AppStateIOS
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var NativeModules = require('NativeModules');
|
||||
var RCTDeviceEventEmitter = require('RCTDeviceEventEmitter');
|
||||
var RKAppState = NativeModules.RKAppState;
|
||||
|
||||
var logError = require('logError');
|
||||
|
||||
var DEVICE_APPSTATE_EVENT = 'appStateDidChange';
|
||||
|
||||
var _appStateHandlers = {};
|
||||
|
||||
class AppStateIOS {
|
||||
|
||||
static addEventListener(type, handler) {
|
||||
_appStateHandlers[handler] = RCTDeviceEventEmitter.addListener(
|
||||
DEVICE_APPSTATE_EVENT,
|
||||
(appStateData) => {
|
||||
handler(appStateData.app_state);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
static removeEventListener(type, handler) {
|
||||
if (!_appStateHandlers[handler]) {
|
||||
return;
|
||||
}
|
||||
_appStateHandlers[handler].remove();
|
||||
_appStateHandlers[handler] = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
AppStateIOS.currentState = null;
|
||||
|
||||
RCTDeviceEventEmitter.addListener(
|
||||
DEVICE_APPSTATE_EVENT,
|
||||
(appStateData) => {
|
||||
AppStateIOS.currentState = appStateData.app_state;
|
||||
}
|
||||
);
|
||||
|
||||
RKAppState.getCurrentAppState(
|
||||
(appStateData) => {
|
||||
AppStateIOS.currentState = appStateData.app_state;
|
||||
},
|
||||
logError
|
||||
);
|
||||
|
||||
module.exports = AppStateIOS;
|
||||
Reference in New Issue
Block a user