Commit Graph

460 Commits

Author SHA1 Message Date
Konstantin Käfer
1d8235f5b8 [build] rework platform/default directory and add -files.txt for vendored libs 2018-12-14 11:03:03 +01:00
Tobrun
aedbdc21d0 [androd] - add weak references checks to all jni callbacks 2018-12-13 19:08:12 +01:00
Tobrun
e94a7fc405 [android] - validate if weakreference is still valid 2018-12-13 19:08:12 +01:00
Osana Babayan
6aea5b561a [android] LatLng bounds cannot be wrapped (#13419) 2018-12-12 15:06:12 +01:00
Chris Loer
662a495561 [docs] EnterIdle -> BecomeIdle 2018-12-11 11:46:16 -08:00
Chris Loer
70c2d5a4ca [core, darwin, android] Add onDidEnterIdle to MapObserver.
didEnterIdle fires whenever render completes and no repaint is scheduled.
2018-12-11 11:46:16 -08:00
Mikhail Pozdnyakov
13e117b501 [android] Enable core-only layers
`LayerManagerAndroid` can add layer types that are enabled only for JSON style.
It allows to save binary size - JNI glue code for these layer types won't be
added to the binaries.
2018-12-11 20:11:23 +02:00
Tobrun
75914acb6b [android] - add more tests, refactor map padding 2018-12-11 18:08:16 +01:00
Mikhail Pozdnyakov
ebd87a5442 [core, android, darwin] Move layer factories to separate files 2018-12-10 18:20:32 +02:00
Osana Babayan
ea775ae932 nativeRemoveSource() and nativeRemoveLayer() methods should return a boolean (#13428) 2018-12-07 13:10:28 -05:00
Mikhail Pozdnyakov
92352de87d [core] layermanager folder
Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
2018-11-30 19:09:17 +02:00
Bruno de Oliveira Abinader
e64c28613a [core] Support fill-extrusion-vertical-gradient 2018-11-29 14:23:55 +02:00
Mikhail Pozdnyakov
ad03e42b28 [core] LayerManager can disable annotations
At the moment, the annotations implementation in the `mapbox-gl-native`
core is creating concrete layer instances apart from `LayerManager/LayerFactory`
code path.

So, annotations must be disabled if the `LayerManager` implementation does
not provide line, fill or symbol layers (those, used by the annotations).

Note: in future, annotations implementation will be moved from the core to the
platform SDK level(see https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation)
and `LayerManager` won't need to disable it.
2018-11-28 17:18:38 +02:00
Mikhail Pozdnyakov
361982fef8 [core][Android][Darwin] LayerManager creates RenderLayer instances
`LayerManager` is now responsible for `RenderLayer` instances creation,
so that there is a single entry point for creating of objects, which
correspond to a certain layer type.

The `LayerType type` field is dropped from `Layer::Impl`.
2018-11-27 18:10:21 +02:00
Chris Loer
0bba794e98 [android] Expose "local ideograph font family" in MapSnapshotter::Options
Use local glyph generation in test app's MapSnapshotterActivity.
2018-11-24 09:57:32 -08:00
Łukasz Paczos
9ac444a08d [android] removing plain text getter for "text-field" 2018-11-20 12:22:16 +01:00
Huyen Chau Nguyen
9a606caf0b [core] define number of concurrent downloads in online file source variable 2018-11-15 12:19:48 -08:00
Mikhail Pozdnyakov
33818233cf [core][android] Introduce mbgl::style::LayerTypeInfo
The `LayerTypeInfo` contains static meta data about certain layer type.

Each layer module should have a single immutable `LayerTypeInfo` instance
for the represented layer type. Both `LayerImpl` and `LayerFactory` from the
module always refer to the same `LayerTypeInfo` instance, so address of this
instance can be used as a layer module Id during the process life time.
2018-11-15 18:32:31 +02:00
Bruno de Oliveira Abinader
bf8b24fa8d [build] Update to geometry v1.0.0 2018-11-13 17:28:26 +02:00
Mikhail Pozdnyakov
5a70f2b150 noexcept specifier for layer factory methods 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
1ba1ead3ea [android] Remove UnknownLayer 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
6f34e69b2e [android] layers.cpp/hpp -> layer_manager.cpp/hpp 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
80ec05cf47 [core][android] Implement LayerManager for Android
The newly introduced `LayerManagerAndroid` is now responsible
for creating both style layer objects and their java peers on Android.
2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
56808731b6 Remove style::Layer::is()/as() 2018-10-31 11:22:46 +02:00
Mikhail Pozdnyakov
7a9461a8d4 Consolidate style::Layer properties API
The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`.
This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code
and thus save some binary size.

This patch is a part of the layers modularization effort.
2018-10-25 22:42:43 +03:00
Łukasz Paczos
12b4969454 [android] "format" expression support 2018-10-24 13:35:36 +02:00
Konstantin Käfer
7692be5d15 [core] refactor util::toString to use RapidJSON's stringification 2018-10-23 12:23:40 +02:00
Konstantin Käfer
8bf66ef7a7 [core] remove some uses of <iostream> and <sstream> 2018-10-23 12:23:40 +02:00
Bruno de Oliveira Abinader
98c36fc06e [core] CameraOptions receives and outputs angle and pitch as degrees, not radians 2018-10-19 12:05:16 +02:00
Chris Loer
44f79031b7 [android] Include "must-revalidate" in putResourceWithURL 2018-10-17 12:53:24 -07:00
Chris Loer
3f98d6a821 [android] Add OfflineManager.putResourceForURL
Useful for pre-warming the ambient cache
2018-10-17 12:53:24 -07:00
Chris Loer
fdfb9386a6 [android] Minimal Android support for 'format' expression
- No dedicated support for creating format expressions
- Java accessors for 'text-field' flatten back to String
- 'text-field' setter implicitly creates a 'format' expression. For tests, use JsonArray to build an equivalent format expression by hand.
2018-10-15 13:15:46 -07:00
Tobrun
9e7694cb38 [android] - replace OnMapChange with specific callbacks 2018-10-11 14:12:35 +02:00
Konstantin Käfer
4004a85a79 [android] explicitly set temp directory for SQLite3 2018-09-26 13:47:28 +02:00
Łukasz Paczos
4148a5a91a [android] expose offline database merge API 2018-09-26 13:47:28 +02:00
tobrun
5238c77696 [android] - add binding integration for cross source collision 2018-09-12 14:10:46 -07:00
tobrun
6e171a62a9 [android] - replace platform default implementation using nunicode for uppercasing an lowercasing with an Android specific String.java equivalent 2018-09-11 12:58:56 +02:00
Konstantin Käfer
4a3c4edb59 [android] add support for gnustl 2018-09-11 11:43:54 +02:00
ryanhamley
31cca05fc6 Port symbol-z-order symbol layout style-spec property to Native 2018-09-07 13:05:19 -07:00
John Firebaugh
79bf0e8af6 [android] jni.hpp 4.0.0 2018-09-07 09:44:12 -07:00
John Firebaugh
5911e3b13f [android] Simplify annotation conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
6be8302296 [android] Simplify JSON conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
3948bbd777 [android] Simplify Point conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
115e8625e1 [android] Simplify Feature conversion 2018-09-07 09:44:12 -07:00
John Firebaugh
53c3c327f0 [android] Upgrade to latest jni.hpp 2018-09-07 09:44:12 -07:00
John Firebaugh
6806ba5b52 [android] Put function inverses next to each other 2018-09-07 09:44:12 -07:00
John Firebaugh
260f96c253 [android] Retain a shared thread pool reference
Otherwise it may be prematurely deleted.
2018-09-04 11:18:55 -07:00
tobrun
42aaf3e346 [android] - add get source id to supported layer types 2018-09-04 15:16:18 +02:00
John Firebaugh
0dac3bc60c [android] Explicitly delete local JNI references
This method seems to be called in a loop, leading to a local reference table overflow if not explicitly deleted.

See https://github.com/mapbox/mapbox-gl-native/pull/12716#pullrequestreview-150462731
2018-08-31 09:42:16 -07:00
tobrun
d297bf10ef [android] - modularise the sdk 2018-08-24 18:40:11 +02:00