[android][mail-composer] Migrate to new modules API (#21200)# Why Continue migration of modules to the new API # How Followed the usual migration steps # Test Plan Tested on the bare expo
[android][mail-composer] Migrate to new modules API (#21200)# Why Continue migration of modules to the new API # How Followed the usual migration steps # Test Plan Tested on the bare expo app
show more ...
[mail-composer][android] fix composeAsync not resolving after send/ discard (#20869)# Why Fixes https://github.com/expo/expo/issues/20509 # How TL;DR - this fix restores the documented beh
[mail-composer][android] fix composeAsync not resolving after send/ discard (#20869)# Why Fixes https://github.com/expo/expo/issues/20509 # How TL;DR - this fix restores the documented behavior, albeit with a visual bug that seems to be peculiar to Gmail. I first tried to compare the send/ resolve flow to (what I thought) was the closest analog, `expo-sms`. The `onHostResume` lifecycle listener event is trigged in the SMS package, but not mail composer. Nothing along these lines worked (e.g., matching the Intent flags). It turns out that `expo-sharing` is perhaps a more appropriate comparison, because they both use `Intent.createChooser` to create a share sheet (the mail composer's sheet mainly filters on email apps and can pass additional email-related keys). It seems like `onHostResume` never responds to returning from a share sheet. Sharing uses the `ActivityEventListener` instead. Anyway, this works, with one visual quirk that seems to be peculiar to the implementation of the Gmail client's new mail activity. Pressing back does not discard the email/ return to the app. It takes you back to your inbox. Once you do this, your only choice is to use the task switcher/ launcher to leave the email, and, in the task switcher, **the image of the app doesn't update, continuing to show a picture of the email that you were composing**. Other apps demonstrate the same issue with sharing to Gmail (e.g., Twitter), though others don't (e.g., Facebook). Seems possible that this is related to task/ activity settings outside the control of this package, e.g., `android:launchMode`. Comparing to external packages that fulfill a similar purpose, I found some (e.g., `react-native-mail`) that resolve the promise as soon as the share sheet opens, which is an option, but would break the documented behavior and not match iOS. # Test Plan Scenarios: - [x] single email client (bypasses chooser) - [x] multiple email clients (shows chooser) - [x] send email (returns to app, promise resolves) - [x] discard email (returns to app, promise resolves) - [x] share email, open task switcher, return to app (promise resolves, but task switcher freezes on email client) - [x] test with latest Expo Go unversioned as of 2/1/2023 [See video](https://photos.app.goo.gl/a78ckUT68TLTfAne9) (including visual bug at the end) # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Łukasz Kosmaty <[email protected]>
[android][mail-composer] Rewrite mail composer module from Java to Kotlin (#14394)# Why Modules written in Java are being rewritten to Kotlin # How - Generated Kotlin code from java. - Cl
[android][mail-composer] Rewrite mail composer module from Java to Kotlin (#14394)# Why Modules written in Java are being rewritten to Kotlin # How - Generated Kotlin code from java. - Clean up code. # Test Plan <!-- Checked in the bare-expo app --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.io and README.md). - [x] This diff will work correctly for `expo build` (eg: updated `@expo/xdl`). - [x] This diff will work correctly for `expo prebuild` & EAS Build (eg: updated a module plugin).
[expo-modules] Move code from `unimodules` into `expo-modules-core` (#13703)# Why Migrated `unimodules-core`, `unimodules-react-native-adapter`, `unimodules-app-loader` into `expo-modules-core`
[expo-modules] Move code from `unimodules` into `expo-modules-core` (#13703)# Why Migrated `unimodules-core`, `unimodules-react-native-adapter`, `unimodules-app-loader` into `expo-modules-core` # How - Change package using AS refactor tools - Fix some places where AS wasn't able to do automatically - Fix compatibility with new auto-linking - Ensure that classes which are used during installation steps are still available in the old place # Test Plan - expo-go (tested using unversioned and 41) - bare-expo
[mail-composer] fix adding attachment in bare (#8524)* [mail-composer] fix adding attachment in bare * update changelog
Add isAvailableAsync to expo-mail-composer (#6552)* Add isAvailableAsync to expo-mail-composer * update build
Migrate to androidx (#5521)# Why resolves: https://github.com/expo/expo/issues/5260 # How https://developer.android.com/jetpack/androidx/migrate https://blog.danlew.net/2018/11/14/the-rea
Migrate to androidx (#5521)# Why resolves: https://github.com/expo/expo/issues/5260 # How https://developer.android.com/jetpack/androidx/migrate https://blog.danlew.net/2018/11/14/the-reality-of-migrating-to-androidx/ https://gist.github.com/loganj/7535a13e98be83460f362b63dbd13e07 # Test Plan Run NCL, native tests (androidTest, test)
[expo-mail-composer] Fix adding attachments by implementing a FileProvider (#5449)# Why Closes https://github.com/expo/expo/pull/5346 and the problem described there. # How Implemented sim
[expo-mail-composer] Fix adding attachments by implementing a FileProvider (#5449)# Why Closes https://github.com/expo/expo/pull/5346 and the problem described there. # How Implemented similar solution to https://github.com/expo/expo/commit/c1091799d72ce65f153cd190c6ea162bf89e45ed. # Test Plan Native code builds.
[unimodules][android] Change ModuleRegistryConsumer to RegistryLifecycleListener (#4345)# Why Modules need to know when they should release resources.
[packages] Move unimodules foundation to `org.unimodules` scope
[expo-mail-composer] Extract mail composer from Expo SDK (#3248)# Why b365e29 fixes https://github.com/expo/expo/issues/3237 # How Nothing special. # Test Plan MailComposer screen in
[expo-mail-composer] Extract mail composer from Expo SDK (#3248)# Why b365e29 fixes https://github.com/expo/expo/issues/3237 # How Nothing special. # Test Plan MailComposer screen in NCL works ok on both platforms.