| #
f67462bc |
| 21-Apr-2020 |
Tomasz Sapeta <[email protected]> |
[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)
# Why
Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.
[ios][home] Add three finger gesture to open the dev menu + some refactoring (#7891)
# Why
Fixes #7644 and brings us closer to the separate `expo-dev-menu` package that can live without kernel.
Also fixed https://twitter.com/bantingGamer/status/1251154340129062917
# How
- Added `EXDevMenuManager` singleton that manages the dev menu. Most parts of it were in kernel or some others classes strongly connected with kernel. Now, kernel is just its delegate.
- Refactored `EXKernelDevMotionHandler` to `EXDevMenuMotionInterceptor` which is much clearer and makes it possible to uninstall the interceptor (these interceptors are kinda hacky, I tried not to do them this way but well, RN does the same ).
- Added `EXDevMenuGestureRecognizer` for long press gesture, with minimum press duration set to 0.5s and with light impact haptic feedback.
- Added `EXDevMenuGestureInterceptor` that swaps the default implementation of `UIView#gestureRecognizers`, but only for `UIWindow`s. This is needed to make three-finger gesture work everywhere in the app.
- Renamed `EXMenuViewController` to `EXDevMenuViewController` (all dev menu classes should be prefixed by `EXDevMenu`) and again, removed some connections to kernel.
- Added UI in user settings to select dev menu gestures (can select them separately).
- Fixed an issue with dev menu view being below modals in the view hierarchy.
# Test Plan
So far I've tested it only with published experience. I'm gonna do smoke tests on dev apps later.
I mostly focused on testing whether:
- the dev menu works in general (after refactoring)
- three-finger gesture works on the initial screen of the app, on the modals and on the dev menu itself
- all combinations of selected gestures work as expected
- selected gestures persist after killing and relaunching the client
show more ...
|
| #
24a0cefb |
| 30-Jan-2020 |
Tomasz Sapeta <[email protected]> |
[ios][home] Redesign DevMenu on iOS (#6793)
# Why
Part of #6521
# How
- Refactored JS code responsible for rendering DevMenu and converted it to TypeScript.
- Redesigned DevMenu to be a b
[ios][home] Redesign DevMenu on iOS (#6793)
# Why
Part of #6521
# How
- Refactored JS code responsible for rendering DevMenu and converted it to TypeScript.
- Redesigned DevMenu to be a bottom sheet instead of a modal to improve user experience.
- Upgraded `react-navigation-stack` to `^2.0.15`.
- In/out DevMenu animations are now controlled by JavaScript side (less native code).
- Moved Kernel's module methods related to DevMenu to separate `DevMenuModule` file (I think it makes the code using it clearer).
- `Nux` wasn't clear to me what it is and what it does, so I suggest renaming it to `Onboarding`.
- Prepared some stuff to be used on Android as well (Android support will come in a separate PR).
- Removed legacy menu gesture from both native code and from home user settings.
- Published dev home with those changes.
# Test Plan
- [x] Test on experience in debug mode
- [x] Test on experience in production mode
- [x] Test on snacks
- [x] Test on older SDKs
- [x] Test on simulators
- [x] Test that onboarding shows up once you open the experience for the first time or you didn't accept it yet (clicked `Got it` button).
# Demo
Expanding/collapsing demo on the left, onboarding screen on the right.
 
show more ...
|
| #
a7100618 |
| 13-Nov-2019 |
Stanisław Chmiela <[email protected]> |
[expo] Remove unused dev menu (#6249)
# Why
To clean up some technical debt.
# How
Removed `addDevMenu` functionality from Home and then all the leftovers from native side.
# Test Plan
[expo] Remove unused dev menu (#6249)
# Why
To clean up some technical debt.
# How
Removed `addDevMenu` functionality from Home and then all the leftovers from native side.
# Test Plan
CI should build the apps.
show more ...
|
| #
e7ac6e4f |
| 08-Mar-2018 |
Ben Roth <[email protected]> |
Restore ErrorRecovery and clean up visible/invisible app interface
fbshipit-source-id: 917ce6f
|
| #
66169681 |
| 05-Mar-2018 |
Ben Roth <[email protected]> |
Support JS nux, clean up JS loaded notifs
fbshipit-source-id: b3721f2
|
| #
2fcba380 |
| 03-Mar-2018 |
Ben Roth <[email protected]> |
support QR code reader from menu
fbshipit-source-id: ebf9f40
|
| #
b987b50f |
| 03-Mar-2018 |
Ben Roth <[email protected]> |
restores full menu functionality except QR button
fbshipit-source-id: 8370f90
|