Implement Element transition on Android
This commit adds basic support for Element transition to Android.
Currently, only Shared Transition is supported and only when pushing screens.
There are a few caveats you need to be aware of if you intend to use
this feature in its current state:
1. Since elements need to be laid out before the transition can start, Set `waitForRender: true` when pushing the destination screen.
2. Fade animation has to be used when pushing screens with shared elements.
API
```js
options: {
animations: {
push: {
waitForRender: true,
content: {
alpha: {
from: 0,
to: 1,
duration: 250
}
}
}
},
customTransition: {
animations: [
]
}
}
```
- Added missing step: Ignoring the build variants that we don't use or building the app module directly so it picks up the correct build variant
- Converged Step 2 and 3 into one step since they both required tweaking according to the React-Native version a project uses.
Remove SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN flag from root layout (#3654)
The flag was initially set to prevent the root layout from being pushed down when showing full screen modals.
This isn't the right approach and it also messed up keyboard handling.
To prevent the root layout from being pushed down in this scenario we should probably handle window insets
Android: Fix an issue with incorrect Lightbox measurments. (#2625)
Due to a race condition, the height and width of the Lightbox screen
may be read too early, resulting in a zero-width or height lightbox.
Addresses Content of lightbox not displayed #2288