mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Move BackAndroid -> BackHandler, add Apple TV support for back nav
Summary: Enable back navigation on Apple TV (with the remote's menu button) in code making use of BackAndroid. The module is renamed to BackHandler. BackAndroid is still exported to ReactNative for now, until external projects switch to using the new name for the module. The navigation in https://github.com/react-community/react-navigation makes use of this module. **Test plan**: Manual testing with an example app (https://github.com/dlowder-salesforce/react-nav-example). Closes https://github.com/facebook/react-native/pull/12571 Differential Revision: D4665152 Pulled By: ericvicenti fbshipit-source-id: 925400ce216379267e014457be6f5eedbe4453ec
This commit is contained in:
committed by
Facebook Github Bot
parent
9325496d46
commit
b7e9374c64
49
Libraries/Utilities/BackAndroid.js
Normal file
49
Libraries/Utilities/BackAndroid.js
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* BackAndroid has been moved to BackHandler. This stub calls BackHandler methods
|
||||
* after generating a warning to remind users to move to the new BackHandler module.
|
||||
*
|
||||
* @providesModule BackAndroid
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var BackHandler = require('BackHandler');
|
||||
|
||||
var warning = require('fbjs/lib/warning');
|
||||
|
||||
/**
|
||||
* Deprecated. Use BackHandler instead.
|
||||
*/
|
||||
var BackAndroid = {
|
||||
|
||||
exitApp: function() {
|
||||
warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.');
|
||||
BackHandler.exitApp();
|
||||
},
|
||||
|
||||
addEventListener: function (
|
||||
eventName: BackPressEventName,
|
||||
handler: Function
|
||||
): {remove: () => void} {
|
||||
warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.');
|
||||
return BackHandler.addEventListener(eventName, handler);
|
||||
},
|
||||
|
||||
removeEventListener: function(
|
||||
eventName: BackPressEventName,
|
||||
handler: Function
|
||||
): void {
|
||||
warning(false, 'BackAndroid is deprecated. Please use BackHandler instead.');
|
||||
BackHandler.removeEventListener(eventName, handler);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
module.exports = BackAndroid;
|
||||
Reference in New Issue
Block a user