| #
3a04781f |
| 24-May-2023 |
Kudo Chien <[email protected]> |
[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 ...
|
| #
7af7d0b6 |
| 24-Jan-2019 |
Tomasz Sapeta <[email protected]> |
[android][ios][ts][docs][ncl] implement background fetch on Android (#3281)
# Why
Closes https://expo.canny.io/feature-requests/p/android-background-fetch-support
# How
Android doesn't have
[android][ios][ts][docs][ncl] implement background fetch on Android (#3281)
# Why
Closes https://expo.canny.io/feature-requests/p/android-background-fetch-support
# How
Android doesn't have its own background fetch feature, however I could easily imitate its behavior using `AlarmManager` with wakeup option.
I also had to change a few things in `TaskManager`, the most important one is the change in pending intents. Now, two pending intents created for the same task will be equal (see https://developer.android.com/reference/android/content/Intent#filterEquals(android.content.Intent)). Thanks to this, it's easier to cancel existing pending intents.
# Test Plan
Tested against `BackgroundFetch` example in `native-component-list`
show more ...
|
| #
3b6a24fb |
| 13-Dec-2018 |
Tomasz Sapeta <[email protected]> |
[ios][android][sdk][ncl] Background location, geofencing and background fetch (#2338)
# Why
Canny issues:
- https://expo.canny.io/feature-requests/p/background-tasks-support
- https://expo.cann
[ios][android][sdk][ncl] Background location, geofencing and background fetch (#2338)
# Why
Canny issues:
- https://expo.canny.io/feature-requests/p/background-tasks-support
- https://expo.canny.io/feature-requests/p/background-location-tracking
- https://expo.canny.io/feature-requests/p/geofencing-api
Related PR:
- https://github.com/expo/universe/pull/3201 (docs)
# How
The core of this PR is to implement TaskManager that provides an API to manage tasks, especially these that run while the app is in the background. I hope I documented this piece enough so I don't have to write it here again
This PR also adds three ways of how we can use background tasks:
- Background location updates
`Location.startLocationUpdatesAsync`, `Location.stopLocationUpdatesAsync`, `Location.hasStartedLocationUpdatesAsync`
- Geofencing
`Location.startGeofencingAsync`, `Location.stopGeofencingAsync`, `Location.hasStartedGeofencingAsync`
- Background fetch
`expo-background-fetch` module, *iOS only so far*
Also, to improve the quality of `expo-location`, I've deprecated `enableHighAccuracy` option and introduced a new one called `accuracy`. It allows to use all possible accuracies provided by iOS platform. Android has fewer options of accuracy, but I've made simple mapping (see https://github.com/expo/expo/pull/2338/files#diff-66bdbbc66d3410d9198aa17584b5409eR633).
All new modules and `expo-location` are now TypeScripted
# Test Plan
New APIs examples in `native-component-list`:
- `BackgroundFetch` - shows the status and the date of the last background fetch which can be manually triggered in Xcode (Debug -> Simulate background fetch).
- `Location` -> `Background location map` - it tracks your location by drawing a polyline.
- `Location` -> `Geofencing map` - this one will work better once we merge #2316, as it should show local notifications when the device enters/exits a region.
- `TaskManager` - shows all registered tasks for the experience.
There are also some quick tests in `test-suite` for the new methods in `Location` and `TaskManager` modules.
show more ...
|