Commit Graph

109 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
d52faadf73 [android] Set thread name properly 2016-07-16 10:38:42 +03:00
Thiago Marcos P. Santos
538814d7bd [core] Make the AssetFileSource thread low priority 2016-07-16 10:38:42 +03:00
Thiago Marcos P. Santos
389c7615eb [core] Revert workaround for std::atomic on ARMv5
Got fix on r12.

https://github.com/android-ndk/ndk/issues/31
2016-07-13 17:56:51 +03:00
Bruno de Oliveira Abinader
761c9d44b2 [android] Update {Line,Fill}Annotation properties setter 2016-07-13 11:57:09 +03:00
Thiago Marcos P. Santos
480e26c53f [android] Add support for timers on the main thread
Wake up the main thread run loop with a file descriptor event from a
thread that exists for this sole purpose.
2016-07-06 17:43:19 +03:00
Thiago Marcos P. Santos
2425cf4ef8 Revert "[android] Do not create Timers on Default main loops"
This reverts commit 13cd75f099.
2016-07-06 17:43:09 +03:00
Thiago Marcos P. Santos
dfd0b105cd [android] Fix issue when stop is called before run on the RunLoop
The current ::stop() implementation was not thread safe and we
should queue the ::stop() for the next loop iteration so even
if we call ::stop() before ::run(), it gets processed.
2016-07-05 21:04:27 +03:00
Thiago Marcos P. Santos
13cd75f099 [android] Do not create Timers on Default main loops
Not supported, because we don't have control over the Looper
timeout like we do for Loopers we create. On the main thread,
Android takes care of making the application sleep and sets
an arbitrary timeout. This could be properly fixed by implementing
timers in Java, but we don't really have the use case of timers
in the main thread.
2016-07-05 21:04:27 +03:00
Thiago Marcos P. Santos
b3b86f9be4 [android] Fix hang when calling Timer::start() twice
Calling start() from the callback was making the timer
effectively stop.
2016-07-05 21:04:27 +03:00
Thiago Marcos P. Santos
e579199ac1 [android] Fix a bug when canceling tasks
If the next task in the queue gets canceled, we need to
adjust the iterator to the next task, otherwise a canceled
task gets executed.
2016-07-05 21:04:27 +03:00
Thiago Marcos P. Santos
70d4ebb347 [android] Fix default RunLoop not stopping
stop() for default RunLoop is only used by unit tests and we need
to wake the ALooper to get past run().
2016-07-05 21:04:27 +03:00
Tobrun
2bf4e20052 [android] #5104 - make nativePixelForLatLng faster (74ms to 57ms)
[android] #5104 - make nativeLatLngForPix faster (52ms - 45ms).

[andriod] #5104 - make nativeSetLatLng faster (117ms to 105ms)

[android] #5104 - make nativeFlyTo faster (106ms to 97ms)

[android] #5104 - make nativeEaseTo faster (103 to 94ms)

[android] #5104 - make nativeJumpTo faster (94 to 86ms)

[android] #5104 - make nativeProjectedMetersForLatLng faster (32 to 30ms)

[android] #5104 - make nativeLatLngForProjectedMeters faster (32 to 30ms)
2016-07-05 15:43:19 +02:00
John Firebaugh
3ccda59099 [android] Fix crash adding line or polygon annotation 2016-06-24 12:21:44 -07:00
Bruno de Oliveira Abinader
22aa22c99c [core] UnitBezier ctor is now constexpr 2016-06-20 13:01:59 +03:00
Young Hahn
24b66bc8cd Color class (#5361)
* Color class

* Switch to list initialization
2016-06-15 11:38:22 -04:00
Brad Leege
511801c17a [android] #5303 - Updating code to take properly merge what each branch intended for nativeUpdateMarker 2016-06-09 17:01:23 -05:00
Brad Leege
b90571107d [android] #5291 - Fixing merge conflicts 2016-06-09 14:35:10 -05:00
Brad Leege
d67b88dba9 Merge branch 'release-android-v4.1.0'
# Conflicts:
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BaseMarkerViewOptions.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
#	platform/android/src/jni.cpp
#	src/mbgl/geometry/buffer.hpp
#	src/mbgl/geometry/glyph_atlas.cpp
#	src/mbgl/geometry/glyph_atlas.hpp
#	src/mbgl/geometry/line_atlas.cpp
#	src/mbgl/geometry/vao.cpp
#	src/mbgl/gl/gl_object_store.cpp
#	src/mbgl/gl/gl_object_store.hpp
#	src/mbgl/renderer/frame_history.cpp
#	src/mbgl/shader/shader.cpp
#	src/mbgl/sprite/sprite_atlas.cpp
#	src/mbgl/sprite/sprite_atlas.hpp
#	src/mbgl/text/glyph_pbf.hpp
2016-06-09 14:00:49 -05:00
Thiago Marcos P. Santos
b711979e32 [android] #5254 - fix ARMv5 support
Backported patches fixing ARMv5 support for issue #3985.
2016-06-06 23:31:51 +03:00
Tobrun
0a646b4487 [android] #5076 - fixed update marker for MarkerView, rewrite update marker jni, cleanup animation api 2016-06-06 11:13:40 +02:00
John Firebaugh
e802aedb8c [core, node, android] Remove used "base" parameter from setStyleJSON 2016-06-02 16:33:56 -07:00
John Firebaugh
c902f9098b [core] Rationalize naming for style-related code 2016-06-02 14:51:39 -07:00
John Firebaugh
d7e1ecd19e [core] Generalize Map::{add,remove}CustomLayer 2016-06-02 14:51:39 -07:00
John Firebaugh
0fba70d5a8 [all] Rationalize annotation API 2016-06-01 17:37:01 -07:00
John Firebaugh
8985b1311b [core] Use geometry.hpp types for shape annotations 2016-06-01 17:36:50 -07:00
John Firebaugh
efaf6461aa [android] Basic cleanups in annotation JNI code 2016-06-01 17:36:50 -07:00
John Firebaugh
555c9ed863 [android] Simplify the JNI definitions for annotation methods
Instead of providing both singleton and List-based implementations:

* Define everything in terms of arrays
* Do singleton ⇢ array and List ⇢ array conversions in Java
2016-06-01 17:36:50 -07:00
Tobrun Van Nuland
bd0f0d3a21 [android] #3629 - smooth MyLocationView animation when tracking the user location, introducing a new easeTo method with a linear interpolator 2016-05-26 15:35:03 +02:00
Konstantin Käfer
e2bcea90fc [core] use #pragma once instead of ifdef include guards 2016-05-25 21:35:37 +02:00
Konstantin Käfer
cd65a43855 [core] move from microsecond precision timestamp to integer second precision 2016-05-13 17:24:22 +02:00
Tobrun
7d0d09e7dc [android] - fix black screen issue 2016-05-09 16:44:49 +02:00
Antonio Zugaldia
7d1a4c5ec1 [android] Create a new local reference frame to avoid a local reference table overflow
Fixes #4706
2016-05-03 13:10:37 -04:00
John Firebaugh
b4b693e09f [android] Add completedTile{Count,Size} bindings 2016-04-27 13:41:29 -07:00
Thiago Marcos P. Santos
7d80690f91 [android] Restore prior GLContext if exists
Apparently some versions of Android, notable 4.4.4 running
on my Nexus 5, creates a GLContext on the Android UIThread
which is the one we are now using for rendering after #2909.

If the context is not restored, nothing gets rendered (or
sometimes partially, or artifacts) because Android will try
to do GL stuff on the context used by Mapbox GL and mess things up.
2016-04-18 18:57:20 +03:00
John Firebaugh
6e78eabfff [core] Clean up ThreadContext vestiges 2016-04-15 09:56:18 -07:00
John Firebaugh
3af3e72bb3 [all] Replace HTTPContextBase/HTTPRequestBase with FileSource 2016-04-14 14:18:19 -07:00
Thiago Marcos P. Santos
ba3125142e [android] Make the correct GL context current 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
7b3c61f619 [android] Do not attach/detach to threads
Not needed as everything is now running on the same thread.
2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
02db7fa852 [android] Create a RunLoop for the main thread 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
40e590b681 [android] Use ALooper_addFd() and callbacks to wake up
This is needed for plugging into an existing Looper because
we won't call ::run() on the main thread (this is called
on the Java side of the application automatically by Android).

But we still need to wake up and process the events. For that
we create a pipe and write to the pipe to wake up the main
loop and we process events on the callback of the fd handler.

Fixes #4682
2016-04-14 13:44:08 -07:00
John Firebaugh
204c7fee03 [core] Render from the main thread
Do not create a thread for the MapContext anymore.
2016-04-14 13:44:08 -07:00
Brad Leege
9a3e8ae571 [android] #4619 - Creating standalone CustomLayerActivity example 2016-04-06 14:44:52 -05:00
Thiago Marcos P. Santos
10b503eabf [android] Attach thread on the RunLoop
Needed because Looper could be used by Java and it would crash
complaining that we didn't detach otherwise.
2016-04-06 04:52:51 -03:00
Thiago Marcos P. Santos
74a1d3c164 [android] Introduce RunLoop based on Looper
Also implement a Timer and AsyncTask based on Android's Looper.
2016-04-06 04:52:51 -03:00
John Firebaugh
5eda74a514 Merge branch 'release-ios-3.2.0-android-4.0.0' 2016-03-30 17:43:37 -07:00
Brad Leege
335e346ed1 [android] #4475 - Introducing LatLng.wrap() and removing usage of wrap() in JNI's nativeLatLngForPixel() 2016-03-25 16:55:07 -05:00
Brad Leege
6a29e7e624 [android] #4444 - Wrapping all LatLng from nativeLatLngForPixel() to solve problem and mirror Android Google Maps API 2016-03-24 16:59:47 -05:00
John Firebaugh
169755e89a [core] Unify FileRequest and WorkRequest 2016-03-24 10:54:32 -07:00
Antonio Zugaldia
682b404bf6 [android] Unify cache and offline databases
See #4362
2016-03-21 10:55:54 -07:00
John Firebaugh
1593b962ed [android] Throw C++ exceptions by value, not by pointer
Refs #4385
2016-03-18 16:29:22 -07:00