[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.x
[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.xml: /home/runner/work/expo/expo/packages/expo/android/src/main/AndroidManifest.xml. Setting the namespace via a source AndroidManifest.xml's package attribute is deprecated. Please instead set the namespace (or testNamespace) in the module's build.gradle file, as described here: https://developer.android.com/studio/build/configure-app-module#set-namespace This migration can be done automatically using the AGP Upgrade Assistant, please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information. ``` # How migrate `package` in **AndroidManifest.xml** to `namespace` in **build.gradle** # Test Plan ci passed
show more ...
[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
[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
Added missing android intents (#13388)
[expo] Add queries to `AndroidManifest` (#11829)# Why Followup of https://github.com/expo/expo/pull/11787. Adds queries to AndroidManifest. Otherwise, the app can't access some system feature
[expo] Add queries to `AndroidManifest` (#11829)# Why Followup of https://github.com/expo/expo/pull/11787. Adds queries to AndroidManifest. Otherwise, the app can't access some system features on Android 11. For more information read https://developer.android.com/about/versions/11/privacy/package-visibility and https://developer.android.com/training/basics/intents/package-visibility-use-cases#open-a-file. # How Searched for `resolveActivity`, `queryIntentActivities` and `queryIntentServices` and checked if `AndroidStudio` suggest adding query. If yes added. Otherwise, ignored. > **Note**: I'm not sure if I found every place very we should add "queries", but we for sure find those in the QA. Moreover, this feature was introduced in Android 11, and not every intent query needs a manifest entry. # Test Plan I've tested some functionalities with the Android emulator running Android 11, but I don't have access to a real device. So I could miss something.
[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.