Commit Graph

5691 Commits

Author SHA1 Message Date
tobrun
aeb85dbd8c [android] - bump used gradle tools version 2018-07-17 11:19:23 +02:00
Konstantin Käfer
561e55eb6c [core] make the offline DB schema a regular include file 2018-07-16 18:24:51 +02:00
Tobrun
6c9b627eaa [android] - bump kotlin, timber and okhttp to most recent stable versions 2018-07-16 15:37:52 +02:00
John Firebaugh
ca9ba9cb43 [build] Move all mason_use statements to a single file
So its checksum can be used in a CI cache key name.
2018-07-13 11:50:39 -07:00
tobrun
c6e43fa482 [android] - add geojson regression tests for java method look up from JNI 2018-07-13 11:04:18 +02:00
Konstantin Käfer
f3b5902f05 [node] prevent scheduled renderFinished() calls from running when render is canceled
Reverts d5aff71 (#11948) and implements an alternative solution.

Even with the previous fix applied, we were calling `renderFinished()` directly when the render was canceled. This led to the following scenario (all on the main thread):
- `Map::renderStill()` callback is called, `uv_async_send` schedules a call to `renderFinished()`.
- `NodeMap::cancel()` destroys the map object, and calls `renderFinished()` directly, which cleans up the request
- `NodeMap::startRender()` is called to schedule a _new_ render, which means that a new callback will be set
- The `uv_async_t` fires and calls `renderFinished` again:
   - We don't return early as intended by the fix in #11948 since a new callback/`req` object is now available.
   - Since neither error nor image has been set, we'll see a `Didn't get an image` error message.
   - We call the callback with the error. In scenario where we're reusing Map objects, we will start a new render, which will now trigger the `Map is currently rendering an image` error in `Map::renderStill`, and the map object enters a circle in which it will now fail repeatedly with this error.

This commit fixes the issue by completely removing the existing `uv_async_t` handle that could have a scheduled call, and replacing it with a fresh instance of an `uv_async_t` handle.
2018-07-13 10:28:26 +02:00
tobrun
e16c964465 [android] - add convenience method for destroyed state on MapView, can be used to determine if an asynchrous result should be set on map. 2018-07-12 10:46:57 +02:00
tobrun
b79b971f56 [android] - validate if gesture detector is able to handle gesture 2018-07-12 10:46:40 +02:00
Jason Wray
3ba1f3176e [ios] Update podspecs for ios-v4.2.0-beta.1 2018-07-11 12:01:16 -04:00
Randall Lee
673d75e6b3 [ios] Update events submodule to include RN override (#12360)
React native user agent override for internal use.
2018-07-10 16:34:59 -04:00
Minh Nguyễn
a93dca349d [macos] Import GeoJSON
Added an Import command to the File menu for adding the contents of a GeoJSON file to the map. simplestyle-spec formatting is applied to layers via a handful of expressions. Dropped pins include any details provided through simplestyle-spec properties.
2018-07-10 10:17:56 -07:00
Minh Nguyễn
192c611468 [ios] Deduplicated library dependency references 2018-07-10 09:28:03 -07:00
Minh Nguyễn
ec8ac3c64f [ios, macos] Allow unwrapped arguments in match expressions 2018-07-09 16:03:03 -07:00
Minh Nguyễn
f11ab91fc4 [ios, macos] Convert predicate options to collators 2018-07-09 16:02:40 -07:00
Bruno de Oliveira Abinader
d634973c8a [glfw] Use Map::moveBy in GLFWView::onMouseMove 2018-07-09 22:02:49 +03:00
Jason Wray
37e680c66b [ios, build] Strip symbols before recording size metrics 2018-07-09 12:31:43 -04:00
Łukasz Paczos
8817f05699 [android] - bumped telemetry to v3.1.4 2018-07-09 18:12:17 +02:00
Julian Rex
3710ef8810 [iOS] Update annotation view touch handling (with offsets) (#12234) 2018-07-09 10:01:11 -04:00
tobrun
e08ee7338a [android] - remove unique LatLng validation of LatLngBounds builder 2018-07-09 15:00:57 +02:00
tobrun
bf7792eae0 [android] - fix jni method lookup of GeometryCollection accessor geometries, add regression test 2018-07-09 12:51:34 +02:00
Minh Nguyễn
8b2135b249 [macos] Updated changelog 2018-07-06 17:01:08 -07:00
Jason Wray
19605cb4b4 [ios, macos] Remove duplicate MGLTileSourceOptionDEMEncoding declaration 2018-07-06 16:53:06 -04:00
Łukasz Paczos
282f89a9f3 [android] - added DraggableMarkerActivity 2018-07-06 13:22:08 +02:00
Łukasz Paczos
3bd24e655f [android] - added Kotlin dependencies to the test app 2018-07-06 13:22:08 +02:00
Jason Wray
ec472cb45a [ios] Update podspecs for ios-v4.2.0-alpha.2 2018-07-05 16:36:09 -04:00
Jason Wray
84c0e3f436 [ios] Update changelog for ios-v4.2.0-alpha.2 2018-07-05 16:36:07 -04:00
Chris Loer
310d844b5f [docs] Add changelog entries for #12294 2018-07-05 11:56:38 -07:00
Tobrun
aa07dc5461 [android] - update changelog for release v6.3.0-alpha.2 2018-07-05 19:53:04 +02:00
Julian Rex
56ab3318a3 [ios] [macos] Added -[MGLSnapshot coordinateForPoint:] and associated test. 2018-07-05 18:50:21 +02:00
tobrun
99f9787cc4 [core] - add LatLng for screencoordinate to mapsnapshotter 2018-07-05 18:50:21 +02:00
tobrun
473dd9b23f [android] - add LatLng for pixel conversion feature to MapSnapshotter 2018-07-05 18:50:21 +02:00
Mikhail Pozdnyakov
514485502d Rename HeatmapColorPropertyValue to ColorRampPropertyValue
Based on patch from @lbud (Lauren Budorick).

Give `HeatmapColorPropertyValue` a more generic name,
since the same value type will be used for both `heatmap-color`
and `line-gradient` properties.
2018-07-05 15:11:14 +03:00
tobrun
32dce870d7 [android] - create device independent tests for camera position testing 2018-07-05 13:30:50 +02:00
tobrun
ec78936e18 [android] - add bearing and pitch to get camera for geometry 2018-07-05 13:30:50 +02:00
tobrun
add9eecd99 [android] - add bearing and tilt to LatLngBounds, incorporate current tilt and bearing transformation in old api 2018-07-05 13:30:50 +02:00
tobrun
9920b25af3 [android] - avoid race condition when calling getMapAsync from OnMapReadyIdlingResource 2018-07-05 11:11:51 +02:00
Chris Loer
d734f670e8 [core] Fix sort order for queryRenderedFeatures when features are filtered.
Fixes issue #12104.
2018-07-03 15:28:00 -07:00
Anand Thakker
cfd436c287 [core] Avoid blocking in Thread<Object> constructor (#12151)
* Introduce AspiringActor, EstablishedActor

This pair of objects represents the two-phase (parent-thread /
child-thread) construction that's needed to support constructing
Thread<Object> without blocking until the child thread is up and
running.

An `AspiringActor<O>` is responsible for:
 - ownership of the actor's `Mailbox`
 - allocating the memory for (but *not* constructing) the target object `O`

Using these two pieces--the mailbox and a stable address for `O`--an
`AspiringActor<O>` can accept messages for the target object, or provide
`ActorRef<O>`s that do so, before the object has actually been
constructed by the corresponding `EstablishedActor<O>`.  (Such messages
are queued in the mailbox until after the object is constructed.)

This allows for an `AspiringActor<O>` to be created and safely used by a
thread other than the one on which the target object will (eventually)
live.

An `EstablishedActor<O>` is responsible for managing the lifetime of the
target object `O` and the open/closed state of the parent's `mailbox`.

The `O` object's lifetime is contained by that of its owning
`EstablishedActor<O>`: the `EstablishedActor` constructor executes the
`O` constructor via "placement new", constructing it at the address
provided by the parent `AspiringActor`, and the `~EstablishedActor`
destructor similarly executes the `~O` destructor (after closing the
mailbox). `EstablishedActor` should therefore live entirely on the
thread intended to own `O`.

* Remove Actor#{invoke,ask}
2018-07-03 17:17:39 -04:00
John Firebaugh
840a5cf120 [build] Record binary size via GitHub check 2018-07-03 14:03:32 -07:00
Jason Wray
6fc0eb908b [ios, build] Postpone jazzy install for ios-release build 2018-07-03 15:47:49 -04:00
Jason Wray
b0beb8bfcb [ios, build] Remove broken/unused demo project 2018-07-03 13:31:58 -04:00
Jason Wray
614aab4ea2 [ios, build] Log raw xcodebuild output for package commands 2018-07-03 13:31:58 -04:00
Chris Loer
10a6d1bf23 [ios, macos] Try to make darwin "resolvedLocale" BCP 47 compliant 2018-07-03 10:03:05 -07:00
Chris Loer
a5b0fe8a75 [test] Remove "collator" ignores 2018-07-03 10:03:05 -07:00
Chris Loer
11c333672f [android] Android "collator" implementation
- Uses java.text.Collator for comparison
 - Uses java.util.Locale for locale loading
 - Uses LanguageTag for BCP 47 parsing
 - Falls back to non-locale-aware nunicode/default comparison for case-sensitive/diacritic-insensitive.
 - Testing these changes depends on running Android render tests
 - "collator" is not yet exposed in the SDK bindings.
2018-07-03 10:03:05 -07:00
Chris Loer
cb1328d1d0 [ios, macos] Darwin "collator" implementation
- Uses NSString for comparison
 - Uses NSLocale for loading locales
2018-07-03 10:03:05 -07:00
Chris Loer
35256c6e5b [core] Default "collator" implementation
- Based on nunicode
 - Not locale-aware
 - Used by linux and Qt builds
2018-07-03 10:03:05 -07:00
Chris Loer
9ff5d34ef2 [core] Introduce "collator" expressions
Cross platform parsing and evaluation code.
2018-07-03 10:03:05 -07:00
Chris Loer
251f5e605f [core, vendor] Create vendored nunicode 1.8.
- Version bump to 1.8 necessary for "unaccent" functionality
- Qt now depends on nunicode, ruling out use of precompiled binaries
2018-07-03 10:03:05 -07:00
Minh Nguyễn
71a72d269a [ios, macos] Autolocalize into Japanese, Korean
Added Japanese and Korean to the list of languages for which the Mapbox Streets source has dedicated name fields.
2018-07-03 09:11:01 -07:00