[android][ios] add option to load without extra dialogs (#9827)# Why See discussion in #platform-ios. This PR implements the ability to turn off the extra loading dialogs implemented in #9785 wi
[android][ios] add option to load without extra dialogs (#9827)# Why See discussion in #platform-ios. This PR implements the ability to turn off the extra loading dialogs implemented in #9785 with the manifest `developmentClient.silentLaunch` key, and also re-implements the loading progress bar in the iOS client. This PR also adds a "Reload" option to the cached project alert. # How - Add support for the `developmentClient.silentLaunch` key and set a property on AppLoader as soon as we receive a manifest. Check the AppLoader property before showing a progress bar or alert dialog. (We actually already show a UIActivityIndicatorView in the period of time before the manifest is loaded.) - Add reload option to alert dialog. (see screenshot) # Test Plan - Tested by inverting the logic for `developmentClient.silentLaunch` and ensuring the loading progress bar and alert dialogs do not show up. - Also manually tested the "Reload" option on the alert dialog on both platforms
show more ...
[android][ios][expo-updates] add loading and error indicators for synchronous loads in clients (#9785)
[android] fix possible NPE in LoadingProgressPopupController (#9605)# Why Ran into an NPE that traced back to this line: https://github.com/expo/expo/blob/ce586fbee0548fcc0099a690f6dbbad6883734
[android] fix possible NPE in LoadingProgressPopupController (#9605)# Why Ran into an NPE that traced back to this line: https://github.com/expo/expo/blob/ce586fbee0548fcc0099a690f6dbbad6883734dc/android/expoview/src/main/java/host/exp/exponent/experience/loading/LoadingProgressPopupController.kt#L68 I could not reproduce so it must be a somewhat rare race condition, but doing the same null check inside of the lambda should be safe and protect against this. # How Duplicate the same null check from outside the lambda. # Test Plan Load an experience, works as expected. (Could not reproduce the NPE.)
[LoadingView][managed] Extract loading bar from LoadingView (#9324)LoadingProgressView was integrated into LoadingView that has to be mostly rewritten, because of expo-splash-screen integration. As
[LoadingView][managed] Extract loading bar from LoadingView (#9324)LoadingProgressView was integrated into LoadingView that has to be mostly rewritten, because of expo-splash-screen integration. As expo-splash-screen has no knowledge about any loading progress and this very same loading progress has to be presented above all application content I decided to go with the approach that is proposed in ReactNative repo for their version of loading progress bar (that means using separate UIWindow on iOS and PopupWindow on Android).