react-native/Examples/UIExplorer/android/app
Andrei Coman f07ca31303 Listen to device orientation changes
Summary:
Similar to iOS, send device orientation changes events. This does not have the
`getCurrentOrientation` method, because it's not used. If necessary, we'll
add it separately.
This also adds a simple example for testing.

We listen to orientation changes in `onGlobalLayout`, and check if the rotation of the device has changed. If it has, we emit the event.
But:
- `onGlobalLayout` (and `onConfigurationChanged` - which is the method usually used for checking for device orientation changes) is *not* called when the device goes from landscape
  to reverse landscape (same with portrait), as that is not a relayout / configuration change. We could detect if this happens with the help of an `OrientationEventListener`. However, this listener notifies you if the degree
  of the phone changes by a single degree, which means that you need to know by how many degrees the phone needs to change in order for the orientation to change. I haven't looked into how accurate this could be, but I suspect that in practice it would cause a lot of bugs. A simple `abgs` and google search reveals that everybody uses a different margin for detecting a rotation change (from 30 to 45 degrees), so I suspect that this won't work
  as expected in practice. Therefore, we're not using this here, and we're sticking to what android provides via `onConfigurationChanged`. If we find that we have issues because users need to know when the user goes
  from landscape to reverse landscape, then we'll have to revisit this.

Reviewed By: foghina

Differential Revision: D3797521

fbshipit-source-id: 62508efd342a9a4b41b42b6138c73553cfdefebc
2016-09-06 03:59:01 -07:00
..
src/main Listen to device orientation changes 2016-09-06 03:59:01 -07:00
BUCK Fix uiexplorer BUCK install 2016-09-06 03:43:49 -07:00
build.gradle Cleanup UIExplorer folder 2016-07-12 05:59:13 -07:00
gradle.properties Adding emulator, simulator UIExplorer example across docs 2016-04-04 06:05:23 -07:00
proguard-rules.pro Release React Native for Android 2015-09-14 18:13:39 +01:00
react.gradle Adding emulator, simulator UIExplorer example across docs 2016-04-04 06:05:23 -07:00