Commit Graph

1487 Commits

Author SHA1 Message Date
Minh Nguyễn
2d2ba3a482 [ios] Use MGLErrorDomain for errors 2016-03-05 21:44:22 -08:00
John Firebaugh
cce49c147d [android] Don't leak global references to OfflineRegionObservers 2016-03-04 18:45:38 -08:00
Sascha Peilicke
661e9e7f49 Add package 'offline' to proguard keeps
To avoid release build crashes at runtime due to missing classes.
2016-03-04 16:00:13 -08:00
John Firebaugh
dbffe1dfab [android] Use jni.hpp low-level wrappers 2016-03-04 15:33:32 -08:00
John Firebaugh
068998cf8a [android] Remove JNI_OnUnload; it is in practice never called
http://bleaklow.com/2006/02/18/jni_onunload_mostly_useless.html
2016-03-04 15:33:32 -08:00
John Firebaugh
edbd4284f2 [android] Remove JNICALL; it's a no-op macro 2016-03-04 15:33:32 -08:00
John Firebaugh
f321bf2514 [android] Remove unnecessary declarations from jni.hpp 2016-03-04 15:33:32 -08:00
John Firebaugh
235f4ee6f6 [android] Use jni.hpp in http_request_android.cpp 2016-03-04 15:33:32 -08:00
John Firebaugh
9e0be736fc [android] Add jni.hpp headers to build 2016-03-04 15:33:32 -08:00
John Firebaugh
eb9b463841 [core] Fix offline status reporting with pre-existing tiles (#4147) 2016-03-04 15:15:09 -08:00
Jason Wray
2ed4a16605 [ios] Update telemetry opt-out docs link 2016-03-04 13:48:26 -05:00
boundsj
d10d3eef43 [iOS] #4148 Update event serialization to the V2 specification.
This updates the endpoint for events to "v2" and updates
appUserTurnstile, map.load, map.click, map.dragend, and location
to the V2 spec.
2016-03-03 17:45:10 -08:00
Jesse Bounds
c6d84f0d71 Merge branch 'release-ios-v3.2.0' 2016-03-03 15:47:23 -08:00
Antonio Zugaldia
ee12824c83 [android] Make listOfflineRegions include definitions
Fixes #4165
2016-03-03 13:14:56 -05:00
Tobrun
bc63d75227 [android] #3867 - performance improvement for invalidating the camera 2016-03-03 13:28:01 +01:00
Tobrun
e2da260a8e [android] #4149 - added a drop pin example to the GeocoderActivity 2016-03-03 08:48:49 +01:00
Tobrun
d994f2de0f [android] #4166 - move style url to map view for improved async loading 2016-03-03 07:38:23 +01:00
Tobrun
7d0dea8dad [android] #4157 - handle null icon when using parceable on MarkerOptions 2016-03-02 08:21:57 +01:00
Bruno de Oliveira Abinader
c17e954983 [android|ios|osx] Fix return type for pixelForLatLng 2016-03-01 20:58:54 +00:00
Bruno de Oliveira Abinader
4994b3dc57 [core] PrecisionPoint is now ScreenCoordinate 2016-03-01 20:58:54 +00:00
Brad Leege
5ac6fc523d [android] #4145 - Updating to OkHttp 3.2.0 and switching Telemetry Certificate Pins to SHA256 2016-02-29 13:48:47 -06:00
Brad Leege
c990aa8bf3 [android] #4142 - Removing Partial Wake Lock 2016-02-29 13:21:35 -06:00
Antonio Zugaldia
55cacfafd4 [android] Simplify offline metadata API on Android
Fixes #4139
2016-02-29 13:45:08 -05:00
Antonio Zugaldia
bef7fe76ff [android] Set log level of successful HTTP requests to verbose
Fixes #4120
2016-02-29 10:35:46 -05:00
Minh Nguyễn
73430aed38 [ios] Moved static include file
This file was originally added on the release-ios-v3.1.0 branch, before #3913 merged ios/ into platform/ios/. When the release branch was merged back into master in 17f44d7bd9, the file was left in the old ios/ directory.
2016-02-27 13:43:39 -08:00
Jesse Bounds
cb9054f9ec Update package script to reflect file path change 2016-02-27 06:58:31 -08:00
Jesse Bounds
ca82ae4be1 Update podspec, changelog for 3.2.0-pre.1-symbols 2016-02-27 06:13:51 -08:00
Tobrun
826849a6dc [android] #4126 - make zoom package private 2016-02-27 08:48:39 +01:00
Jesse Bounds
09c9100891 Introduce MGLLocation Manager
https://github.com/mapbox/mapbox-gl-native/pull/4115

This change makes background data gathering more efficient by disabling
standard location updates when the device has been stationary for at
least five minutes. It also establishes region monitoring and
significant location change monitoring so that if the device appears to
be in motion again then background telemetry data collection can resume.
All of this reduces the amount of time required for telemetry data
collection to the time the device is in motion only. It also only
applies to host apps that already run in the background and have the
always location permission from their users.

This also includes some changes to make the internal pause/resume API of
the MGLMapboxEvents class less complex and autonomous. The side effects
of the map view waking or sleeping are no longer required for mapbox
events to work as intended.
2016-02-26 14:19:04 -08:00
Brad Leege
b3adb96e4a [android] #4066 - Implementing flush events when app terminates functionality 2016-02-26 15:26:47 -06:00
Antonio Zugaldia
3ed9f4336c [android] Use the new camera api instead of hardcoded values
Fixes #4124
2016-02-26 15:05:55 -05:00
Minh Nguyễn
fe7b52e792 [ios] Clarified schemes and destinations 2016-02-26 10:23:40 -08:00
Brad Leege
1ff9073b4d [android] #3888 - Setting SHA1 Certificate Pins for Staging, Prod Geotrust, and Prod DigiCert 2016-02-26 10:11:11 -06:00
Antonio Zugaldia
11d3eff173 [android] Remove invoke to DeleteGlobalRef to avoid client crash
See #4121
2016-02-26 10:05:47 -05:00
Antonio Zugaldia
01e55f183e # This is a combination of 8 commits.
# The first commit's message is:
# This is a combination of 2 commits.
# The first commit's message is:

# This is a combination of 3 commits.
# The first commit's message is:
# This is a combination of 2 commits.
# The first commit's message is:

# This is a combination of 21 commits.
# The first commit's message is:
[android] - Implements Android bindings for offline API
Fixes #3891

# The 2nd commit message will be skipped:

#	[android] #3891 - rename OFFLINE_MAX_CACHE_SIZE to DEFAULT_MAX_CACHE_SIZE and adjust value

# The 3rd commit message will be skipped:

#	[android] #3891 - makes de documentation more relevant to the current android implementation

# The 4th commit message will be skipped:

#	[android] #3891 - rename isRequiredResourceCountIsIndeterminate() to isRequiredResourceCountPrecise()

# The 5th commit message will be skipped:

#	[android] #3891 - rename complete() to isComplete()

# The 6th commit message will be skipped:

#	[android] #3891 - rename OfflineRegionDefinition to OfflineTilePyramidRegionDefinition and make OfflineRegionDefinition an interface. Docs for corresponding classes updated.

# The 7th commit message will be skipped:

#	[android] #3891 - make reason a more idiomatic ErrorReason Android IntDef and remove unnecessary constructor

# The 8th commit message will be skipped:

#	[android] #3891 - reuse the calling object instead of creating a new manager

# The 9th commit message will be skipped:

#	[android] #3891 - location, location, location

# The 10th commit message will be skipped:

#	[android] #3891 - simpler list regions iteration

# The 11th commit message will be skipped:

#	[android] #3891 - proper indeterminate -> precise transition

# The 12th commit message will be skipped:

#	[android] #3891 - improve description for DEFAULT_MAX_CACHE_SIZE

# The 13th commit message will be skipped:

#	[android] #3891 - delete global refs for obj and listCallback

# The 14th commit message will be skipped:

#	[android] #3891 - simplify metadata conversion and fix metadata object

# The 15th commit message will be skipped:

#	[android] - Implements Android bindings for offline API
#	Fixes #3891

# The 16th commit message will be skipped:

#	[android] #3891 - avoid exposing the int reason value in the public API

# The 17th commit message will be skipped:

#	[android] #3891 - delete global refs for remaining callbacks and observer

# The 18th commit message will be skipped:

#	[android] #3891 - remove unused offlineManagerClassConstructorId together with unnecessary private java constructor

# The 19th commit message will be skipped:

#	[android] #3891 - remove non-relevant line

# The 20th commit message will be skipped:

#	[android] #3891 - handle requiredResourceCountIsIndeterminate -> requiredResourceCountIsPrecise rename

# The 21st commit message will be skipped:

#	[android] #3891 - revert map changes to allow rebase

# The 2nd commit message will be skipped:

#	[android] #3891 - avoid exposing the int reason value in the public API

# The 2nd commit message will be skipped:

#	[android] #3891 - rename complete() to isComplete()

# The 3rd commit message will be skipped:

#	[android] #3891 - rename OfflineRegionDefinition to OfflineTilePyramidRegionDefinition and make OfflineRegionDefinition an interface. Docs for corresponding classes updated.

# The 2nd commit message will be skipped:

#	[android] #3891 - location, location, location

# The 2nd commit message will be skipped:

#	[android] #3891 - improve description for DEFAULT_MAX_CACHE_SIZE

# The 3rd commit message will be skipped:

#	[android] #3891 - delete global refs for obj and listCallback

# The 4th commit message will be skipped:

#	[android] #3891 - simplify metadata conversion and fix metadata object

# The 5th commit message will be skipped:

#	[android] #3891 - delete global refs for remaining callbacks and observer

# The 6th commit message will be skipped:

#	[android] #3891 - remove unused offlineManagerClassConstructorId together with unnecessary private java constructor

# The 7th commit message will be skipped:

#	[android] #3891 - remove non-relevant line

# The 8th commit message will be skipped:

#	[android] #3891 - handle requiredResourceCountIsIndeterminate -> requiredResourceCountIsPrecise rename
2016-02-26 09:13:17 -05:00
Thiago Marcos P. Santos
f683b10e10 [core] Build fix
Fix no viable conversion on OSX.
2016-02-26 04:21:28 +02:00
Thiago Marcos P. Santos
59a45b8400 [core] Add timeout for clock skew
If the server keeps sending replies considered from the client in the
past (there is no way to tell if the server or client clock is wrong),
the client will try to interpolate a valid expiration time based
on the delta of the expiration intervals sent by the server.

If the intervals are always the same, exponential backoff kicks in
until we get a different expiration time from what we already have.
2016-02-26 03:52:02 +02:00
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
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
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