Commit Graph

575 Commits

Author SHA1 Message Date
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
Tobrun
ed964fc16b [android] avoid converting float to long in android_conversion.hpp (#15557) 2019-09-04 18:12:12 +03:00
Łukasz Paczos
becc705f05 [android] expose camera padding option
This removes the cached insets on the Android side, making the core TransformState the source of truth. This still leaves an option to lazily set the padding which is going to be applied only when the next camera animation is started.
2019-08-29 14:51:24 +02:00