[web-browser] Support CSS colors (#18586)
[web-browser][android] Rewrite module to Sweet API (#17454)- Created `ModuleDefinition` for `WebBrowserModule`, moved methods there, and updated `expo-module.config.json` to take this class into ac
[web-browser][android] Rewrite module to Sweet API (#17454)- Created `ModuleDefinition` for `WebBrowserModule`, moved methods there, and updated `expo-module.config.json` to take this class into account - Replaced `ReadableArguments` with `OpenBrowserOptions` record for `openBrowserAsync` - Made all exceptions inherit from Sweet `CodedException` (in favor of legacy unimodules counterpart). Kept error codes for backwards compatibility. - Replaced `CustomTabsActivitiesHelper` and `CustomTabsConnectionHelper` internal unimodules with plain class instantiations. Merged their interface+implementation: `CustomTabsActivitiesHelper (interface)` + `InternalCustomTabsActivitiesHelper (impl)` -> just `CustomTabsActivitiesHelper (impl)` - Migrated native unit tests - Updated `ExperiencePackagePicker` to use expo-module - Deleted the `WebBrowserPackage` from both `ExperiencePackagePicker` and `HomeActivity`. > It was listed as a package to be added to modules used in Home, but from what I discovered, sweet expo-modules are always loaded.
show more ...
[web-browser] Rewrite Android code to Kotlin (#17195)Auto convert + some manual tweaks. Took special care of null safety, it is not so obvious in this module. There are still areas to improve, but
[web-browser] Rewrite Android code to Kotlin (#17195)Auto convert + some manual tweaks. Took special care of null safety, it is not so obvious in this module. There are still areas to improve, but I'll take care of them when converting to expo-module. * Kotlinize module file * Kotlinize errors * Kotlinize client actions queue * Kotlinize activities helper * Kotlinize connection helper * Fix tests * Apply spotless * Apply suggestions from code review * Update CHANGELOG
[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
[android] lint spotless ktlint and fix CI step (#13662)
[android] Add kotlin spotless ktlint linter (#12545)
[android][web-browser] Add option to not open browser in new task (#12462)# Why The addition of this option can improve the user experience for users of apps using this dependency. By not naviga
[android][web-browser] Add option to not open browser in new task (#12462)# Why The addition of this option can improve the user experience for users of apps using this dependency. By not navigating "outside" of the app but instead keeping the users within the app will provide a more seamless experience. I found an issue addressing this [here](https://github.com/expo/expo/issues/11963). This addition will also make the user experience for iOS and Android similar, as the iOS implementation already does this by default. # How I created an additional browser option for Android called `createTask` which prevents the addition of the flag This resulted in the expected behaviour of the feature and it still maintained the capability of linking back to the application in case of authentication flow. The default value of this option is set to `true`, which essentially will act in the same way prior to this feature. # Test Plan I primarily used the bare-expo app on an emulator running Chrome to be as close as possible to simulate how it would work in practice. In the following demo I show how it works in the bare-expo app using both `openBrowserAsync()` and `openAuthSessionAsync`.  I also added an additional test case to the native tests to make sure the intent flags are set correctly. <img width="592" alt="Screen Shot 2021-04-08 at 23 31 45" src="https://user-images.githubusercontent.com/10698008/114099129-9d981800-98c2-11eb-83f0-d89bd42e477c.png">
[native-tests][android] Unit testing library and config for android. (#8137)Added 'unimodules-test-core' as a base module for testing android modules. Refactored and added tests in expo-web-browse
[native-tests][android] Unit testing library and config for android. (#8137)Added 'unimodules-test-core' as a base module for testing android modules. Refactored and added tests in expo-web-browser to showcase usage of the library.