react-native/Libraries
Christoph Jerolimov c3e42b5531 Fix that BackHandler was not called on Android (#19077)
Summary:
This fixes issues #18954 and #15497

The transformation from Set to (an reversed) Array does not work on Android devices when the remote debugging was started with `react-native run-android`.

<!--
  Required: Write your motivation here.
  If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged.
-->

Add the following code to your App.js and run the app with `react-native run-android` in an Android device:

```
  componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', () => {
      console.warn('Callback called. Do not close app. Do nothing at all.');
      return true; // Do not close the app.
    });
  }
```

After adding this, the app should NOT close when you press the back button. Without this fix, the app closes (which is the default behaviour).

See also the comments from Victoriayangx in #18954 and #15497.

<!--
  Does this PR require a documentation change?
  Create a PR at https://github.com/facebook/react-native-website and add a link to it here.
-->

<!--
  Required.
  Help reviewers and the release process by writing your own release notes. See below for an example.
-->

[ANDROID] [BUGFIX] [BackHandler] - Fix that BackHandler was not called on Android

<!--
  **INTERNAL and MINOR tagged notes will not be included in the next version's final release notes.**

    CATEGORY
  [----------]      TYPE
  [ CLI      ] [-------------]    LOCATION
  [ DOCS     ] [ BREAKING    ] [-------------]
  [ GENERAL  ] [ BUGFIX      ] [ {Component} ]
  [ INTERNAL ] [ ENHANCEMENT ] [ {Filename}  ]
  [ IOS      ] [ FEATURE     ] [ {Directory} ]   |-----------|
  [ ANDROID  ] [ MINOR       ] [ {Framework} ] - | {Message} |
  [----------] [-------------] [-------------]   |-----------|

 EXAMPLES:

 [IOS] [BREAKING] [FlatList] - Change a thing that breaks other things
 [ANDROID] [BUGFIX] [TextInput] - Did a thing to TextInput
 [CLI] [FEATURE] [local-cli/info/info.js] - CLI easier to do things with
 [DOCS] [BUGFIX] [GettingStarted.md] - Accidentally a thing/word
 [GENERAL] [ENHANCEMENT] [Yoga] - Added new yoga thing/position
 [INTERNAL] [FEATURE] [./scripts] - Added thing to script that nobody will see
-->
Pull Request resolved: https://github.com/facebook/react-native/pull/19077

Reviewed By: yns88

Differential Revision: D9692298

Pulled By: hramos

fbshipit-source-id: 4526b07a4924055ebc9c42e02615c27aa5c97fbb
2018-09-07 10:26:20 -07:00
..
ART RN: Move ART Canvas Workaround 2018-07-19 19:02:13 -07:00
ActionSheetIOS Update Xcode projects (#19574) 2018-06-19 23:48:12 -07:00
Alert Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
Animated Allow animating the elevation style (#20739) 2018-08-22 13:48:53 -07:00
AppState Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
BatchedBridge Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
Blob Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
BugReporting Flow strictify possible files in RN core 2018-06-20 00:47:21 -07:00
CameraRoll Fix for crash when height or width is nil (#20454) 2018-07-30 11:17:08 -07:00
Color Bump Prettier to 1.13.4 on xplat 2018-06-06 05:32:06 -07:00
Components Remove NavigatorIOS 2018-09-07 10:26:20 -07:00
Core v0.79.1 in xplat/js 2018-08-18 22:19:34 -07:00
EventEmitter Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
Experimental Deprecate View prop-type definitions 2018-08-22 18:31:36 -07:00
Geolocation Update Xcode projects (#19574) 2018-06-19 23:48:12 -07:00
Image Remove view configs from JS 2018-08-24 14:04:09 -07:00
Inspector Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
Interaction Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
JSInspector Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
LayoutAnimation Remove @providesModule from all modules 2018-04-25 07:37:10 -07:00
Linking Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
LinkingIOS Update Xcode projects (#19574) 2018-06-19 23:48:12 -07:00
Lists Deeply compare viewabilityConfigs to avoid triggering invariant unnecessarily 2018-08-24 14:32:07 -07:00
Modal Switch to Platform.isTV to pass Android Flow 2018-06-10 13:45:57 -07:00
NativeAnimation Update Xcode projects (#19574) 2018-06-19 23:48:12 -07:00
Network Add flow suppressions to xplat android 2018-08-13 11:16:41 -07:00
Performance Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
PermissionsAndroid Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
PushNotificationIOS Update Xcode projects (#19574) 2018-06-19 23:48:12 -07:00
RCTTest Deprecate View prop-type definitions 2018-08-22 18:31:36 -07:00
ReactNative Require that JS defined Component Attributes match Native ones in dev 2018-08-23 13:01:41 -07:00
Renderer Require all Android View Attributes are defined in flow prop types 2018-08-22 13:03:15 -07:00
Sample Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
Settings Replace '@flow strict(-local)' with '@flow' in .android.js files 2018-08-08 10:48:19 -07:00
Share Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
Storage Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
StyleSheet Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
SurfaceBackedComponent Fabric: `bridge` prop was removed from RCTSurface interface 2018-08-01 15:32:01 -07:00
SurfaceHostingComponent Update license headers for MIT license 2018-02-16 18:31:53 -08:00
Text iOS: Add a maxFontSizeMultiplier prop to <Text> and <TextInput> (#20915) 2018-09-04 17:50:42 -07:00
Types Add onTextLayout to TextProps 2018-08-30 09:33:05 -07:00
Utilities Fix that BackHandler was not called on Android (#19077) 2018-09-07 10:26:20 -07:00
Vibration Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
WebSocket - Correct fishhook import in RCTReconnectingWebSocket Fixes #16039 (#16271) 2018-06-28 11:49:32 -07:00
Wrapper Update additional license headers 2018-03-08 12:10:14 -08:00
YellowBox Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
fishhook Merge fishhook.xcodeproj in RCTWebSocket 2017-08-09 07:48:09 -07:00
polyfills make Object.assign polyfill conditional and spec compliant 2018-08-23 14:02:10 -07:00
react-native Remove NavigatorIOS 2018-09-07 10:26:20 -07:00
vendor Add flow strict typing to isEmpty 2018-08-09 10:47:58 -07:00
.npmignore npmignore: ignore tests and fixtures 2018-02-27 08:42:14 -08:00
Promise.js Prettier React Native Libraries 2018-05-10 19:10:38 -07:00
UTFSequence.js Adding flow strict local to remaining possible files in xplat/JS 2018-08-09 08:54:44 -07:00
promiseRejectionIsError.js Prettier React Native Libraries 2018-05-10 19:10:38 -07:00