Permalink
Browse files

fixed polyfill for BackAndroid

Summary:
`BackAndroid.addEventListener()` returns a subscription object with a `remove()` function in android. Before this fix, the iOS equivalent doesn't return anything, which means, if there's a component doing something like this, it would redbox:

```
componentWillMount() {
  this._subscription = BackAndroid.addEventListener('hardwareBackPress', () => {...});
}

componentWillUnmount() {
  this._subscription.remove(); // --> redbox in iOS before this fix
}
```

Differential Revision: D3790480

fbshipit-source-id: 1e607171bf2892a6b64977c4fd052c5df0bc4a0d
  • Loading branch information...
1 parent 0a1d728 commit 150fe7cb9c656130b81683a56a659d471d7c50fd @fkgozali fkgozali committed with Facebook Github Bot 6 Aug 30, 2016
Showing with 5 additions and 1 deletion.
  1. +5 −1 Libraries/Utilities/BackAndroid.ios.js
@@ -17,7 +17,11 @@ function emptyFunction() {}
const BackAndroid = {
exitApp: emptyFunction,
- addEventListener: emptyFunction,
+ addEventListener() {
+ return {
+ remove: emptyFunction,
+ };
+ },
removeEventListener: emptyFunction,
};

0 comments on commit 150fe7c

Please sign in to comment.