Commit Graph

16768 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
843cad04fb [core] Add retry delay on expired tiles
When we receive an expired tile, we don't immediately retry
because in case the server keeps serving an expired tile, that
would cause an infinite retry cycle.

Now we add an exponential delay, similarly to what we do for
connection errors.
2016-02-26 03:20:51 +02:00
Brad Leege
e5e1fa8139 [android] #4077 - Documenting 2016-02-25 14:22:56 -06:00
Brad Leege
3ee6fd7a35 [android] #4077 - Creating configureAndStartMapboxEventManager() to minimize paramaters needs on getMapboxEventManager() 2016-02-25 14:19:37 -06:00
Konstantin Käfer
f9fd748547 [core] abort searching children when lower bound has different w
When looking for child tiles that cover a parent tile, we're computing the lower bound of the child tile in the set of tiles. Three things can happen:
- all remaining tiles are sorted before the child tile we're looking for. in that case, there can not be a child tile.
- the lower bound is the child tile; in this case, we want to continue checking the other children of the parent tile.
- the lower bound isn't the child tile we're looking for, but there are still tiles sorted after the tile we were looking for. these could be four children of the child tile we're looking for, so we're recursively descending.

what the current algorithm didn't take into account so far is that tiles with a higher w number (i.e. tiles that are outside the "main" tile pyramid of 0/0/0) were always sorted *after* the current w number. this meant that we thought there were still remaining children to be checked, so continued our recursive descent until eventually the number overflowed and we aborted our search. unfortunately, on Android this recursive descent and accompanying overflow caused a crash.

this patch fixes this by making sure that before we're continuing to descent, we're sure that the w numbers match: all tiles with a different (= higher) w number essentially mean the same as "all remaining tiles are sorted before the child tile we're looking for" for the purpose of finding covering children
2016-02-25 15:24:45 +01:00
Tobrun
a5b39f5ae1 [android] #4063 - fix update point annotation broken 2016-02-25 11:40:07 +01:00
Tobrun
c7285b0368 [android] #4021 - fix up library resource prefix 2016-02-25 10:51:30 +01:00
Tobrun
467d103b9a [android] #4097 - update javadoc maps package
[android] #4097 - update visibility compassclickclistener fix
2016-02-25 10:26:47 +01:00
Brad Leege
5cdd30b159 [android] #4071 - Android Telemetry Initial Implementation 2016-02-24 17:39:05 -06:00
Tobrun
0e0b096945 [android] #4083 - rename locationservice 2016-02-24 17:14:45 -06:00
Jesse Bounds
9a97a4d34f [ios] Introduce API Client
Addresses https://github.com/mapbox/mapbox-gl-native/issues/3704

This introduces a new utility class that wraps networking via
NSURLSession. All related code that used to live inside the telemetry
MGLMapboxEvents class has been pulled into the new MGLAPIClient.
An API client instance is used as a service by telemetry and can be
reused in the future when and if our networking needs grow or become
more complex.
2016-02-24 14:45:42 -08:00
John Firebaugh
96cd22efa0 [core] Set initial offline tile count limit to 768 2016-02-24 13:38:14 -08:00
John Firebaugh
065cda83fa [core] Limit total number of offline Mapbox tiles 2016-02-24 13:38:14 -08:00
John Firebaugh
5cefaeb857 [core] Enforce foreign key constraints in the offline database 2016-02-24 13:38:14 -08:00
John Firebaugh
1bdeddab2c [core] Fix subtle bug in OfflineDatabase with updated resources
SQLite REPLACE is *not* UPSERT. If a conflict occurs, it first deletes the existing row, then inserts a new row. This means that AUTOINCREMENT primary keys change. This will break foreign keys to that value, which we use.

Instead we must try an UPDATE, and fall back to an INSERT if the UPDATE changes zero rows.
2016-02-24 13:38:14 -08:00
John Firebaugh
65c06e6270 [core] status.requiredResourceCountIsIndeterminate ⇢ status.requiredResourceCountIsPrecise
Change the name and reverse the sense. Naming things in the positive is better than naming them in the negative.
2016-02-24 13:38:14 -08:00
John Firebaugh
5a6cee0dd0 [core] Add a descriptive comment about maximumCacheSize 2016-02-24 13:38:14 -08:00
Minh Nguyễn
d8c066ce0a [ios] Deleted redundant certificates
These certificates were copied to platform/default/resources/ in 4719b73ac7 but remained here, producing build warnings about duplicate build rules.
2016-02-24 12:24:08 -08:00
Jesse Bounds
f3ff38d125 [ios] Reduce async complexity 2016-02-24 09:32:26 -08:00
Minh Nguyễn
17f44d7bd9 Merge branch 'release-ios-v3.1.0' 2016-02-24 09:06:43 -08:00
Konstantin Käfer
662edea020 [ios] fix benchmark app 2016-02-24 16:49:05 +01:00
Konstantin Käfer
9557cd8d93 [core] use a store enum instead of RTTI
RTTI is pretty slow, in particular in iOS devices
2016-02-24 15:58:56 +01:00
Konstantin Käfer
f4bf961622 [core] fix uninitialized member variable 2016-02-24 15:57:54 +01:00
Tobrun
6679e7835d [android] #4094 - bring back view package 2016-02-24 15:40:50 +01:00
Thiago Marcos P. Santos
46557874ec [node] Add test that explicitly doesn call map.release()
Make sure mbgl.Map is not holding any references to the node's main
loop and thus preventing the node from exit.
2016-02-24 14:31:11 +02:00
Thiago Marcos P. Santos
63982e0010 Revert "[node] Destroy the RunLoop with the last Map object"
This reverts commit 3633fd7ebd.
2016-02-24 14:31:11 +02:00
Thiago Marcos P. Santos
931ac77af4 Revert "[core] libuv unref() not really needed"
This reverts commit 8a53c1a881.
2016-02-24 14:31:11 +02:00
Tobrun
72c2f5a95b [android] #4089 - remove mapboxmapsettings integration 2016-02-24 13:11:04 +01:00
Tobrun
896a62e589 [android] #3755 - fix package visibility issue with camera package, added javadoc and general cleanup 2016-02-24 13:06:56 +01:00
Tobrun
79609b7ff5 [android] #4083 - relax permissions check + renamed location services + code clean + javadoc 2016-02-24 13:05:13 +01:00
Tobrun
7b40cbcfd9 [android] #4038 - fix crash on polygons and polylines with empty points + formatting commit 2016-02-23 13:17:27 +01:00
Thiago Marcos P. Santos
18380708cd [android] Fix crash on HTTP 200 with no data 2016-02-23 00:21:57 +02:00
Thiago Marcos P. Santos
2b44c4b096 [tests] Add utests for HTTP 200 with no data
The implementation should return a valid empty string.
2016-02-23 00:21:57 +02:00
Minh Nguyễn
f74900e704 ios-v3.1.2 2016-02-22 10:47:09 -08:00
Minh Nguyễn
7bed2cebd2 [ios] Restored framework dependencies to static installation instructions
Backed out documentation about #4029 because it doesn’t apply when using a storyboard, and the installation instructions use a storyboard.
2016-02-22 10:44:49 -08:00
Minh Nguyễn
d836638407 [ios] Fixed zoom level for map feedback tool
The map feedback tool uses mapbox.js, so its zoom levels are one off the zoom levels used by Mapbox GL.
2016-02-22 09:44:43 -08:00
Tobrun
565f4eff63 [andriod] #4051 - add callback to move camera api 2016-02-22 11:10:12 +01:00
Tobrun
271d8df998 [android] #3688 - naming consistency bearing and direction 2016-02-22 10:58:03 +01:00
Tobrun
9061d004db [android] #4050 - expose style urls via public.xml 2016-02-22 10:38:32 +01:00
Tobrun
ab8441ebdc [android] #4057 - quick zoom fix 2016-02-22 09:18:38 +01:00
Thiago Marcos P. Santos
c51c0d5db2 [tests] Timer is not needed to keep the main loop alive
The loop will be alive until `.stop()` is called.
2016-02-22 09:21:51 +02:00
Bruno de Oliveira Abinader
59c70f7d7c [gyp] Check for gyp variable conditions on OS X 2016-02-21 17:34:34 +02:00
Bruno de Oliveira Abinader
0c57efb9a8 [gyp] Use variant compiler flags when needed 2016-02-21 17:34:15 +02:00
Bruno de Oliveira Abinader
bfd5ad3220 [gyp] Coverage only if BUILDTYPE=Debug and ENABLE_COVERAGE=1
Coverage compiler and linker flags are used only when (1) in debug build
and (2) with ENABLE_COVERAGE set to 1. Besides, because OS X's libtool
is unable to understand '--coverage', this linker flag is only used
genrating executable targets. Also, using 'link_settings' to specify
linker options and separate instructions for OSX and Linux.
2016-02-21 17:22:26 +02:00
Thiago Marcos P. Santos
8219d72135 [node] Not all tests were calling map.release()
Which prevents the test runner to close.
2016-02-20 18:16:33 +02:00
Thiago Marcos P. Santos
3633fd7ebd [node] Destroy the RunLoop with the last Map object
The last map object to get destroyed will also destroy
the RunLoop (which will also destroy the AsyncTask).

This will clear any reference to the Node default main
loop and let it close.

Downside is that we need to make sure we are always calling
`map.release()`.
2016-02-20 13:33:13 +02:00
Thiago Marcos P. Santos
8a53c1a881 [core] libuv unref() not really needed
The run loop will be kept alive because it has an `AsyncTask`. We
also can simple stop the loop with `uv_stop()`.

The `RunLoop` is still gonna be the last object to be destroyed
because it is the first object to be created in the thread, so
by design it won't outlive `Timer`s and `AsyncTask`s.

This patch won't change the current behavior, will just make
the code simpler.
2016-02-20 13:33:13 +02:00
Bruno de Oliveira Abinader
1dbfbfe7e3 [tests] Upload coverage reports to coveralls.io 2016-02-20 11:43:42 +02:00
John Firebaugh
675a628aa2 [node] Fix handling of response callback with no arguments; add test 2016-02-19 17:25:57 -08:00
John Firebaugh
f7f89cb44a [build] make clean shouldn't delete Xcode projects
Fixes #2493
2016-02-19 17:13:50 -08:00
John Firebaugh
a27c9a4680 [build] Remove obsolete directories from make clean 2016-02-19 17:13:50 -08:00