Commit Graph

577 Commits

Author SHA1 Message Date
Mikhail Pozdnyakov
d24c1d625a [core] Pass std::shared_ptr<UpdateParameters> to the render orchestrator
So that it can retain ownership of the given parameters.
2020-01-22 14:30:26 +02:00
Konstantin Käfer
62b0f4cde2 [core] Add stretches and content to style::Image 2020-01-15 15:02:11 +02:00
Alexander Shalamov
6ddff19cee [android] Use new FileSourceManager interface
Use new interface for android jni adaptation classes.
2020-01-13 10:57:23 +02:00
Alexander Shalamov
879c44f661 [core] Modularize FileSource codebase (#15768)
* [core] Introduce FileSourceManager and use it for default platform impl

  - Add `FileSourceManager` interface that provides access to `FileSource`
    instances and means of registering / unregistering `FileSource` factories
  - Split `DefaultFileSource` into smaller parts
  - Add `DatabaseFileSource` interface and it's default implementation
  - Remove inter-dependencies between concrete `FileSource` classes

* [build] Add files to next build system

* [core] Add generic property setters / getters

* [core] Remove setOnlineStatus from OnlineFileSource interface

* [core] Hide threading implementation details from DatabaseFileSource interface

* [core] Make DB file source methods virtual

* [core] Add documentation for DatabaseFileSource and rename one method

* [core] Use simple callback instead of ActorRef

* [core] Remove ActorRef from OnlineFileSource public header

* [core] Add callback to FileSource::forward async API

* [core] Pass OfflineRegionDefinition by value

* [core] Update tests to use modular file sources

* [core] Update unit tests

* [core] Update unit tests after rebase

* [core] Backport low prio fix for cached requests

* [core] Backport pack database

* [core] Return removed factory from unRegisterFileSourceFactory

* [core] Rename shadowed args in onlinefilesource

* [core] Remove simple std::function callback aliases

* [core] Expose online file source property keys in public header file

* [test-runner] Add proxy file source test runner

* [cache] Update mbgl-cache utility to use new file source

* [metrics] Rebaseline binary size metrics

* [offline] Update offline utility

* [core] Update changelog
2020-01-13 10:57:23 +02:00
Juha Alanen
f4385a11d2 [android] Use stub HTTP file source for test runners 2020-01-10 17:19:30 +02:00
Juha Alanen
0b3942572e [test] Run unit tests as NativeActivity application on Android 2020-01-10 17:19:30 +02:00
Juha Alanen
f24e4ca068 [android] Fix a RunLoop bug where tasks are run only once
Do not remove tasks from the RunLoop in processRunnables(). Otherwise
the task is run only once.
2020-01-10 17:19:30 +02:00
Peng Liu
236afc0395 [android][core] Add Map::latLngBoundsForCameraUnwrapped and jni binding for getVisibleCoordinateBounds. (#16069)
* [android] Add getVisibleCoordinateBounds method.
* Fix Map::latLngBoundsForCamera, add Android binding for getVisibleRegionBounds.
* Add unit tests for CameraToLatLngBoundsWithRotation and CameraToLatLngBoundsCrossDateLine.
* Move API breaking changes to a new method name latLngBoundsForCameraUnwrapped.
2020-01-09 15:53:23 +02:00
tobrun
f54d47137b [android] promote releaseCoreLayer from protected to public 2020-01-06 15:44:03 +01:00
Juha Alanen
5e7e2d23e7 [android] Share common code between test runners 2020-01-03 11:52:50 +02:00
Juha Alanen
ee66940409 [benchmark] Run benchmark as NativeActivity application on Android 2020-01-03 11:52:50 +02:00
Thiago Marcos P. Santos
970cabe0eb [build] Reorganize the render tests
Move everything that might collect metrics to the metrics/ directory,
the only test manifests inside the render-test/ directory are the
unit tests of the probes.
2019-12-16 22:52:01 +02:00
Thiago Marcos P. Santos
79768743d8 [android] Fix -Wshadow on Android build 2019-12-12 17:44:11 +02:00
zmiao
f848f07ad9 [metrics] Run Android RenderTestRunner bot in rebaseline mode (#16036) 2019-12-11 11:50:27 +02:00
tobrun
1ac3e9e9c2 [android] - add hooks for bulk conversion of geographic coordinates to screen coordinates 2019-12-06 08:56:38 +01:00
zmiao
e619552a5d [test-runner] Make Android RenderTestRunner bot fail when test cases are not fully passed (#15994)
* [test-runner] Fix failed tests, generate android specific expectations

* [test-runner] Check render test runner testing result

* [test-runner] Add error case to android ignore list

*  [test-runner] Update metrics

* [test-runner] Move Android render tests with big diff(>0.006) to ignore list
2019-12-04 18:10:58 +02:00
Bruno de Oliveira Abinader
1e2cd1e086 [core] Remove Map::cycleDebugOptions 2019-12-04 11:50:05 +02:00
Alexander Shalamov
41324842b2 [test-runner] Allow to define filter inside manifest file
Command line option is still available and allows to override filter
that is defined in a manifest file.
2019-12-03 16:26:22 +02:00
Mikhail Pozdnyakov
5d46cd662f [android][node][qt] Update platform code for style::Layer::setProperty() 2019-12-03 14:20:17 +02:00
Mikhail Pozdnyakov
e373d8a592 [android] Add OfflineManager.runPackDatabaseAutomatically(boolean) API 2019-12-02 13:46:51 +02:00
Mikhail Pozdnyakov
4c49f0c9db [core] Introduce OfflineDatabase::runPackDatabaseAutomatically() API
- added a unit test
- Updated inline comments in default_file_source.hpp
2019-12-02 13:46:51 +02:00
Mikhail Pozdnyakov
0ec01356d8 Revert "[android] Add OfflineRegion.deleteAndSkipPackDatabase"
This reverts commit 9bc3aa46384229778853c2710e5b06259b78ed18.
2019-12-02 13:46:51 +02:00
zmiao
b2693f9d53 [test-runner] Add android RenderTestRunner baseline metrics (#15979)
* [test-runner] Enable probe-testing android render test runner

* [test-runner] Add pixel4 baseline metrics

* Add git ignored metrics

* Make renderTestrunner run two times with different manifest config
2019-12-02 13:29:13 +02:00
Mikhail Pozdnyakov
cd4136ed4b [core][android][darwin] Fix GeoJSONOptions handling
- share the `GeoJSONOptions` instances using `Immutable<GeoJSONOptions>` - avoid extra copying
- fix wrapping of the `GeoJSONOptions` instances in supercluster map/reduce lambdas.
  Previously, local variables were wrapped by reference.
2019-11-29 09:53:28 +02:00
zmiao
1b58e87f15 [render-test] Wrap test data inside RenderTestRunner App + Add a new test app (#15887)
* [render-test] Wrap test resources inside app

* [render-test] Add test app

* fix test app failure

* [render-test]add callback + add javaObjectWrapper
2019-11-19 20:45:30 +02:00
Thiago Marcos P. Santos
f73467786d [build] Enable more warnings on the next build
Make compilation more pedantic.
2019-11-15 23:38:47 +02:00
Ander Conselvan de Oliveira
4c1d03c257 [core] Fix MapSnapshotter build failure on Windows
MSVC implementation of std::promise is buggy and only works with types
that can be default-constructed. To avoid a compilation failure in the
instantiation of ask() inside MapSnapshotter::getRegion(), which creates
a std::promise<LanLngBounds>, make LatLngBounds' default constructor
public.
2019-11-13 13:31:01 +02:00
Mikhail Pozdnyakov
ed5ed8f083 [android] Add OfflineRegion.deleteAndSkipPackDatabase 2019-11-12 17:24:50 +02:00
Mikhail Pozdnyakov
8451633c17 [android] Consolidate exception handling code in OfflineManager 2019-11-12 17:24:50 +02:00
Mikhail Pozdnyakov
2edbe916ab [android] Add OfflineManager.packDatabase() API 2019-11-12 17:24:50 +02:00
Alexander Shalamov
461460fc87 [android] Placeholders for conversion from:to Image 2019-11-11 18:20:01 +02:00
Mikhail Pozdnyakov
4afb4438eb [android] Convert GeoJSON features to tiles in background
Composing tiles from the GeoJSON features is an expensive
operation that might block UI thread on updating the `GeoJsonSource`
with the new data.

This change moves tile composing to the background thread and thus
unblocks the UI thread.
2019-10-31 10:24:55 +02:00
zmiao
c8576e089f [render-test] Add manifest parser for render-test-runner (#15861)
* [render-test] Add manifest parser for render-test-runner

* [render-test] Refactory manifest parser

* [render-test] Parse full manifest file through CLI

* [render-test] Add linux probe manifest
2019-10-29 20:59:29 +02:00
Juha Alanen
360b8b4247 [core,android,darwin,qt] Add fields related to feature-state
Move the fields from geometry.hpp/feature.hpp as they are not
part of the GeoJSON specification.
2019-10-28 16:46:55 +02:00
zmiao
068befa9df [test-runner] Run render test runner as a NativeActivity app on android device (#15827)
* [test-runner]Add android render-test-runner NativeActivity app

* [test-runner] Fix cmake for CI build failure

* [test-runner] Update folder location, change app configureation

* [test-runner] Add running instruction
2019-10-22 16:32:21 +03:00
Alexander Shalamov
a8558379db [android] Check flag before runnable task invocation 2019-10-16 15:37:10 +03:00
Mikhail Pozdnyakov
f62e5b00c9 [core] Introduce Scheduler::makeWeakPtr() 2019-10-09 23:46:11 +03:00
Peng Liu
7139abdbf5 [android] Expose pre-fetching zoom delta. (#15769)
* [android] Expose pre-fetching zoom delta.

* [android] Fix Clang format.

* [android] Add MapboxMap unit test.

* [android] Add prefetching zoom delta into MapboxMapOptions.

* [android] Deprecate setPrefetchesTiles to migrate to setPrefetchZoomDelta.

* [android] Deprecate getPrefetchesTiles() and migrate to setPrefetchZoomDelta().

* [android] Add unit test to NativeMapViewTest.

* [android] Add IntRange annotation to getPrefetchZoomDelta.
2019-10-08 16:21:46 +03:00
Mikhail Pozdnyakov
bef635765a [core] Decouple Scheduler interface from actor model
So that it is possible to schedule normal `std::function` and use `mapbox::base::WeakPtr`.
2019-10-04 17:42:21 +03:00
Alexander Shalamov
198e345339 [android] Check if Mapbox instance exists before creating default file source
This check is needed for mbgl-benchmark target, as it does not require Mapbox
instance, nor Android asset manager.
2019-10-04 13:18:23 +03:00
Alexander Shalamov
18dcf38a7a [android] Remove usage of ResourceOptions::withPlatformContext 2019-09-26 11:37:50 +03:00
Alexander Shalamov
e5cdc4ecf3 [core][android][darwin] Move number format to i18n 2019-09-26 10:55:47 +03:00
Alexander Shalamov
9c8295c6a6 [core][android][darwin] Move platform specific Collator impls from expression
Platform specific Collator implementations should not be part of an expression APIs.
2019-09-26 10:55:47 +03:00
Alexander Shalamov
30ffbe9b8d [core][android] Remove unaccent from platform interfaces
The unaccent is used only within collator, thus, there is no
need to have separate platform interface for it.
2019-09-26 10:55:47 +03:00
Thiago Marcos P. Santos
c7bbd5bbef [core] Fix performance-move-const-arg 2019-09-25 18:59:07 +03:00
Peng Liu
426da3a6af [android] Fix the crash when CameraPosition padding is set. (#15699)
* [android] Add test branch, navigate to Map Snapshotter activity to reproduce the bug.

* [android] Fix the crash when camera position padding is set.
2019-09-23 19:11:00 +03:00
Thiago Marcos P. Santos
a849b38390 [build] Mark explicitly visible symbols
Easier to maintain than a linker script. We build
everything with visibility hidden by default.
2019-09-17 12:28:55 +03:00
Peng Liu
69bc5244ea [android] Fix MapSnapshotter regression and add activity sanity tests (#15580)
* [android] Include more generated sanity tests for Android test app.

* [android] Add null check for camera position padding.

* [android] Skip map load tests if no mapView is found, include more generated sanity tests for Android test app.

* [android] Set mapboxMap to null during the mapView destroy process, fix failed sanity tests.

* [android] Add file source related activities to the sanity test exclude list.

* [android] Fixes according to @tobrun's review.

* [android] Add more activities to exclude list, keep MapSnapshotterActivity for regression test.
2019-09-12 18:17:45 +03:00
Mikhail Pozdnyakov
8af78ddbb9 [core] Update MapObserver::onDidFinishRenderingFrame() API 2019-09-12 00:40:08 +03:00
Mikhail Pozdnyakov
151ea331f8 [core] Use mapbox::base::TypeWrapper instead of utils::peer 2019-09-10 11:51:17 +03:00