From 2ae0fbeec4a4d5d10407fb934536701dbd65d74b Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 15 Sep 2015 14:07:24 -0400 Subject: [PATCH 01/10] #2018 - Adding basic second activity that displays a map --- .../src/main/AndroidManifest.xml | 1 + .../mapbox/mapboxgl/testapp/MainActivity.java | 5 ++ .../mapboxgl/testapp/SecondMapActivity.java | 83 ++++++++++++++++++ .../drawable-hdpi/ic_looks_two_white_24dp.png | Bin 0 -> 237 bytes .../drawable-mdpi/ic_looks_two_white_24dp.png | Bin 0 -> 155 bytes .../ic_looks_two_white_24dp.png | Bin 0 -> 228 bytes .../ic_looks_two_white_24dp.png | Bin 0 -> 315 bytes .../ic_looks_two_white_24dp.png | Bin 0 -> 408 bytes .../src/main/res/layout/activity_second.xml | 13 +++ .../src/main/res/menu/menu_drawer.xml | 28 +++--- .../src/main/res/values/strings.xml | 1 + 11 files changed, 120 insertions(+), 11 deletions(-) create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_looks_two_white_24dp.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_looks_two_white_24dp.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_looks_two_white_24dp.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_looks_two_white_24dp.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_looks_two_white_24dp.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_second.xml diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index 85be72bb7..8e2041a12 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -17,6 +17,7 @@ + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java index ed9b7ef06..eb5d891cd 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java @@ -1,6 +1,7 @@ package com.mapbox.mapboxgl.testapp; import android.Manifest; +import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; import android.graphics.PointF; @@ -281,6 +282,10 @@ public class MainActivity extends AppCompatActivity { menuItem.setChecked(mMapView.isCompassEnabled()); return true; + case R.id.action_second_map_activity: + startActivity(new Intent(getApplicationContext(), SecondMapActivity.class)); + return true; + /* case R.id.followNone: mMapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java new file mode 100644 index 000000000..71e2b8a88 --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java @@ -0,0 +1,83 @@ +package com.mapbox.mapboxgl.testapp; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.util.Log; +import com.mapbox.mapboxgl.views.MapView; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class SecondMapActivity extends AppCompatActivity { + + private static final String TAG = "SecondMapActivity"; + + private MapView mMapView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_second); + + mMapView = (MapView) findViewById(R.id.secondMapView); + // Load the access token + try { + BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.token))); + String line = reader.readLine(); + mMapView.setAccessToken(line); + } catch (IOException e) { + Log.e(TAG, "Error loading access token from token.txt: " + e.toString()); + } + + mMapView.onCreate(savedInstanceState); + + mMapView.setStyleUrl(getString(R.string.styleURLMapboxStreets)); + } + + /** + * Dispatch onStart() to all fragments. Ensure any created loaders are + * now started. + */ + @Override + protected void onStart() { + super.onStart(); + mMapView.onStart(); + } + + @Override + protected void onStop() { + super.onStop(); + mMapView.onStop(); + } + + // Called when our app goes into the background + @Override + public void onPause() { + super.onPause(); + + mMapView.onPause(); + } + + // Called when our app comes into the foreground + @Override + public void onResume() { + super.onResume(); + + mMapView.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + mMapView.onDestroy(); + } + + // Called when the system is running low on memory + @Override + public void onLowMemory() { + super.onLowMemory(); + + mMapView.onLowMemory(); + } +} diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_looks_two_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_looks_two_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9cf5b3a919b777acd93dc92e623879da06652e GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8Lp7Ec$)5Rc<;r(WbetiaD zkrY>j*-a5FkDMJ7A5T2ov|dC+^x-r|PY0KZt=pG%bQo;6H=BO%*ZBpaa_jbP6}4Jb zdD`Lpibr}|?+Xe#HXfYuF;nJ*kT4(H%Ciw|aq%twY^^B|xudPCo&EMs+pp7CGQXkb lP3qeS!JA@M-8;9emM=YH=g1{rxfn zpsFp`@y+CtIe37>Ij1@W$<+Mb6Mw<&;$VF CE;d;J literal 0 HcmV?d00001 diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_looks_two_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_looks_two_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c9fc6633e8a2fc4d1dd5401b88fbc93416accfdb GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0D)t)YnAr*{oulsT}8;H0*?74mE zlJAr^u2FYZ+E)t}3cFtU`O@UeM9;m2m&)JS$h!#e&a>+GIDKe+?iUxQT@JfWoVk~l zB$p9*O+GMYgFDK^F*;jh}smaTaVi(Rg b)-%|hEYkd4_C)*|(Af;0u6{1-oD!MTBj literal 0 HcmV?d00001 diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_looks_two_white_24dp.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_looks_two_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ab38aa6a228f51fc5c08c8066eb0064643ed04 GIT binary patch literal 315 zcmV-B0mS}^P)Onpm>AAn64g|-30S)^6xC(=iLv#MG^v& zoRo9Uk?B}-Vv2fpEGeX+C5AR*&(s~6si4fBhz?{8)DhJ}1FeZ_tAS2LRW(px1{q|K zc+h2qC*JvO19aIv-)(^s5AJEGcX zpe0dt8mMq2qEE7Z#d!$e+>%sKqOf2~Wr`{rIxl8;uuoF`1Y247L%hy+sE_A z?AZ;EDCx*4w9Gl`)OpYCsIHCo1Q~}TP8XYB+Gh16nvcvM*52d((VRG?)c5b4 zATQ0OBF=zi1wwab>w=6dn5wcV`bGDG&BEnbW~AA@}b`87UX zF_J4d7JR(o0Iz@OM}~Aub`FIG1}2V#{cFw&3zz+5nzdD;_^kMaH@(^S7?LMhFF2}~ z-|%sw^#jXthvV`JpP2sygOmgHL?8Q-`TVDASz-%o?gPPshoanf&L}5{d@Qbd&%fbl zlR0aBgQ3`ta;^S`x(5$u1~oc695`y3aLjK0ajlC_`2`#p7+C}qlE6kW?O=T|zY53) z3Vy2p__bv@-^T{gd9#i)b7k!b`7Fe5;I(JVfgpxhvx*m!{kRq=PPt;UX%?%j4)29E v2`4AMVibSgSXun-GUGpWsN;Z)=e5iS^S8+R@*dw03~>feS3j3^P6 + + + + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml index a374ab18d..44117426a 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -19,18 +19,24 @@ android:checkable="true" /> - + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index 403da277c..765f4d196 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -10,6 +10,7 @@ Toggle compass Toggle debug mode Toggle point annotations + Launch 2nd Map FPS: From 4e1ead344bfb1f9ddb207924465fabae3d218d67 Mon Sep 17 00:00:00 2001 From: Lucas Wojciechowski Date: Wed, 2 Sep 2015 13:38:37 -0700 Subject: [PATCH 02/10] [node] Enable npm to build mapbox-gl-native package from source - Allow node bindings to be built if git submodules cannot be checked out - Made geojsonvt a mason package instead of a git submodule - Use globally installed mason if it cannot be checked out via git submodules --- .gitmodules | 3 --- configure | 30 ++++++++++++++++++++++-- gyp/core.gypi | 5 ++++ gyp/version.gypi | 2 +- scripts/android/configure.sh | 2 ++ scripts/build-version.py | 45 +++++++++++++++++++++++++----------- scripts/ios/configure.sh | 2 ++ scripts/ios/package.sh | 6 +++-- scripts/linux/configure.sh | 2 ++ scripts/main.mk | 10 ++++---- scripts/osx/configure.sh | 2 ++ scripts/osx/run.sh | 3 --- src/mbgl/map/annotation.cpp | 3 ++- src/mbgl/map/annotation.hpp | 3 ++- src/mbgl/util/geojsonvt | 1 - test/test.gypi | 3 +++ 16 files changed, 90 insertions(+), 32 deletions(-) delete mode 160000 src/mbgl/util/geojsonvt diff --git a/.gitmodules b/.gitmodules index 2aa6d52be..0152ed56b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,6 +14,3 @@ path = platform/ios/vendor/SMCalloutView url = https://github.com/nfarina/calloutview.git -[submodule "src/mbgl/util/geojsonvt"] - path = src/mbgl/util/geojsonvt - url = https://github.com/mapbox/geojson-vt-cpp diff --git a/configure b/configure index 6fbaa9f7f..6d0ac780c 100755 --- a/configure +++ b/configure @@ -15,8 +15,15 @@ function abort { >&2 echo -e "\033[1m\033[31m$1\033[0m"; exit 1; } function info { >&2 echo -e "\033[1m\033[33m$1\033[0m"; } function warn { >&2 echo -e "\033[1m\033[33m$1\033[0m"; } -# Install mason -export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason" +if [ -d "`pwd`/.git" ]; then + info "This build is within a git repository" + export MASON_DIR="`pwd`/.mason" + export PATH="${MASON_DIR}:${PATH}" +else + info "This build is NOT within a git repository" + which mason || abort "You must install mason to build mapbox-gl-native (https://github.com/mapbox/mason)" + export MASON_DIR="$(dirname $(readlink $(which mason)))" +fi # You can override the function for a particular set of flags by defining a # print_XXX_flags function in your dependencies.sh file @@ -37,6 +44,23 @@ function print_flags { fi } +function print_build_flags { + local NAME=$1; shift + if [ "$(type -t print_${NAME}_flags)" = 'function' ]; then + print_${NAME}_flags + else + local VERSION=`echo "${NAME}_VERSION" | tr "[:lower:]" "[:upper:]"` + if [ ! -z ${!VERSION:-} ] ; then + mason build ${NAME} ${!VERSION} + for FLAGS in "$@" ; do + CONFIG+=" '${NAME}_${FLAGS}%': $(quote_flags $(mason ${FLAGS} ${NAME} ${!VERSION})),"$LN + done + else + warn "* Not using ${NAME}" + fi + fi +} + function print_default_flags { : } @@ -93,6 +117,8 @@ print_flags libuv static_libs cflags ldflags print_flags zlib static_libs cflags ldflags print_flags nunicode static_libs cflags ldflags print_flags libzip static_libs cflags ldflags +print_build_flags geojsonvt static_libs cflags ldflags +print_flags variant static_libs cflags ldflags CONFIG+=" } } diff --git a/gyp/core.gypi b/gyp/core.gypi index f9b361032..51009be69 100644 --- a/gyp/core.gypi +++ b/gyp/core.gypi @@ -31,10 +31,14 @@ '<@(libuv_cflags)', '<@(opengl_cflags)', '<@(boost_cflags)', + '<@(geojsonvt_cflags)', + '<@(variant_cflags)', ], 'cflags': [ '<@(libuv_cflags)', '<@(opengl_cflags)', + '<@(geojsonvt_cflags)', + '<@(variant_cflags)', '-fPIC' ], 'ldflags': [ @@ -43,6 +47,7 @@ ], 'libraries': [ '<@(libuv_static_libs)', + '<@(geojsonvt_static_libs)', ], }, diff --git a/gyp/version.gypi b/gyp/version.gypi index 1cc2eb351..4efdd079a 100644 --- a/gyp/version.gypi +++ b/gyp/version.gypi @@ -13,7 +13,7 @@ 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/include/mbgl/util/version.hpp', ], - 'action': ['<@(_inputs)', '<(SHARED_INTERMEDIATE_DIR)', ' + #include #include #include #include #include #include -#include #include #include diff --git a/src/mbgl/map/annotation.hpp b/src/mbgl/map/annotation.hpp index 5adec162f..6b80d9f6c 100644 --- a/src/mbgl/map/annotation.hpp +++ b/src/mbgl/map/annotation.hpp @@ -1,13 +1,14 @@ #ifndef MBGL_MAP_ANNOTATIONS #define MBGL_MAP_ANNOTATIONS +#include + #include #include #include #include #include #include -#include #include #include diff --git a/src/mbgl/util/geojsonvt b/src/mbgl/util/geojsonvt deleted file mode 160000 index 995ffc72c..000000000 --- a/src/mbgl/util/geojsonvt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 995ffc72c556da4b4880a6036fbcf7159fc5ecce diff --git a/test/test.gypi b/test/test.gypi index a35b00133..c53263bd5 100644 --- a/test/test.gypi +++ b/test/test.gypi @@ -95,6 +95,7 @@ 'libraries': [ '<@(libuv_static_libs)', '<@(sqlite_static_libs)', + '<@(geojsonvt_static_libs)', ], 'variables': { 'cflags_cc': [ @@ -102,6 +103,8 @@ '<@(opengl_cflags)', '<@(boost_cflags)', '<@(sqlite_cflags)', + '<@(geojsonvt_cflags)', + '<@(variant_cflags)', ], 'ldflags': [ '<@(libuv_ldflags)', From ac64c34a497104b411672b17a8ca6d7526a53f60 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 15 Sep 2015 15:53:32 -0400 Subject: [PATCH 03/10] #2018 - Toolbar on Second Activity with back button support --- .../src/main/AndroidManifest.xml | 2 +- .../mapboxgl/testapp/SecondMapActivity.java | 20 +++++++++++++++++++ .../src/main/res/layout/activity_second.xml | 8 ++++++++ .../src/main/res/values/strings.xml | 2 ++ 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index 8e2041a12..5e07c105a 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -17,7 +17,7 @@ - + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java index 71e2b8a88..ced82d1b8 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/SecondMapActivity.java @@ -1,8 +1,12 @@ package com.mapbox.mapboxgl.testapp; import android.os.Bundle; +import android.support.v4.view.GravityCompat; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; import android.util.Log; +import android.view.MenuItem; +import android.view.View; import com.mapbox.mapboxgl.views.MapView; import java.io.BufferedReader; import java.io.IOException; @@ -20,6 +24,11 @@ public class SecondMapActivity extends AppCompatActivity { setContentView(R.layout.activity_second); + Toolbar toolbar = (Toolbar) findViewById(R.id.secondToolBar); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowHomeEnabled(true); + mMapView = (MapView) findViewById(R.id.secondMapView); // Load the access token try { @@ -80,4 +89,15 @@ public class SecondMapActivity extends AppCompatActivity { mMapView.onLowMemory(); } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } } diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_second.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_second.xml index 74c1011b5..2ffda1daa 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_second.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_second.xml @@ -4,6 +4,14 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + Mapbox GL + Second Activity + Toggle GPS location Disable tracking Use follow tracking mode From 83a3148921d1117fc179ee174a3a9ec73c7672b3 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 15 Sep 2015 15:54:58 -0400 Subject: [PATCH 04/10] #2018 - Making Launch 2nd Activity draw menu item not checkable --- .../MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml index 44117426a..ff537aaf3 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -22,7 +22,7 @@