From 34d1c023de43a3c07d7531a156b438e625bc23d6 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Fri, 7 Aug 2015 13:45:56 -0500 Subject: [PATCH 01/21] #1856 - Initial conversion to Material Design components --- .mason | 2 +- .../mapbox/mapboxgl/testapp/MainActivity.java | 21 ++- .../src/main/res/layout/activity_main.xml | 128 +++++++++++------- .../src/main/res/values/colors.xml | 7 + .../src/main/res/values/dimens.xml | 4 + .../src/main/res/values/styles.xml | 10 +- src/mbgl/util/geojsonvt | 2 +- 7 files changed, 121 insertions(+), 53 deletions(-) create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml diff --git a/.mason b/.mason index d8597d944..abdc13127 160000 --- a/.mason +++ b/.mason @@ -1 +1 @@ -Subproject commit d8597d944533dbb5e28d08dfdba22a82c93171b7 +Subproject commit abdc131273c3e50e42f245b1166c27de4c34c582 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 df524f990..a637ee3f2 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 @@ -3,7 +3,9 @@ package com.mapbox.mapboxgl.testapp; import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.GestureDetector; @@ -33,7 +35,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; -public class MainActivity extends ActionBarActivity { +public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @@ -49,6 +51,7 @@ public class MainActivity extends ActionBarActivity { // // Used for the UI + private DrawerLayout mDrawerLayout; private MapView mapView; private TextView mFpsTextView; private FrameLayout mMapFrameLayout; @@ -79,6 +82,17 @@ public class MainActivity extends ActionBarActivity { // Load the layout setContentView(R.layout.activity_main); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + final ActionBar ab = getSupportActionBar(); + ab.setHomeAsUpIndicator(R.drawable.ic_menu); + ab.setDisplayHomeAsUpEnabled(true); + + mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + + mapView = (MapView) findViewById(R.id.mainMapView); // Load the access token try { @@ -120,6 +134,8 @@ public class MainActivity extends ActionBarActivity { mFpsTextView.setText(""); mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); + +/* // Add a toolbar as the action bar Toolbar mainToolbar = (Toolbar) findViewById(R.id.toolbar_main); setSupportActionBar(mainToolbar); @@ -136,6 +152,7 @@ public class MainActivity extends ActionBarActivity { mClassSpinner = (Spinner) findViewById(R.id.spinner_class); mOutdoorsClassAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(), R.array.outdoors_class_list, android.R.layout.simple_spinner_dropdown_item); +*/ if (savedInstanceState != null) { mapView.setMyLocationEnabled(savedInstanceState.getBoolean(STATE_IS_GPS_ON, false)); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 0cf914a06..6cae39229 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -1,59 +1,91 @@ - + android:fitsSystemWindows="true"> - + android:layout_height="match_parent"> - - - - - - - - - - - - + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml new file mode 100644 index 000000000..ac3b4fc30 --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/colors.xml @@ -0,0 +1,7 @@ + + + #1E8CAB + #166B83 + #E55E5E + #FFFFFF + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml new file mode 100644 index 000000000..f76eef07c --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/dimens.xml @@ -0,0 +1,4 @@ + + + 16dp + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml index 2399c78be..200665796 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/styles.xml @@ -1,5 +1,13 @@ - + diff --git a/src/mbgl/util/geojsonvt b/src/mbgl/util/geojsonvt index 995ffc72c..ed99a6290 160000 --- a/src/mbgl/util/geojsonvt +++ b/src/mbgl/util/geojsonvt @@ -1 +1 @@ -Subproject commit 995ffc72c556da4b4880a6036fbcf7159fc5ecce +Subproject commit ed99a6290fa42107a982e7f3675aae49d29026b1 From 47b7f3bbae7bdf25e3db5662a75bece1c9736795 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Fri, 7 Aug 2015 13:50:05 -0500 Subject: [PATCH 02/21] #1856 - Adding ic_menu.png files --- .../src/main/res/drawable-hdpi/ic_menu.png | Bin 0 -> 116 bytes .../src/main/res/drawable-mdpi/ic_menu.png | Bin 0 -> 99 bytes .../src/main/res/drawable-xhdpi/ic_menu.png | Bin 0 -> 135 bytes .../src/main/res/drawable-xxhdpi/ic_menu.png | Bin 0 -> 183 bytes .../src/main/res/drawable-xxxhdpi/ic_menu.png | Bin 0 -> 235 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/ic_menu.png diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/ic_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..8962cbd91f75a600915d7277a2f9867f9a6ebc89 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBtUX;ELn>~)y>gI~!GVMM;FtR) z>o^=+q!0eLIkYTSueJdQzVT=97-cEQUQ(20VgeFCw!(sbNB(*DWRAAR^UMSq!{F)a K=d#Wzp$Pyxy(5hP literal 0 HcmV?d00001 diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/ic_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..c62db8c865860add1df1b7335b5f70279390fdc5 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjTAnVBAr-fhfBgS%&#Y^Bcm=ES td8Vw!#?1*PliZan!Ne9jiJ4*y4DzQ`?VKm=-3-*l;OXk;vd$@?2>|EB9IyZY literal 0 HcmV?d00001 diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/ic_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..36859f094a65ce6c7160049049367832dd46176d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCKTj9OkcwMxuO8%NFyLV}e7}E- zwX3(3$O(pDKQ5Ws*8`P+!8?X!vJ3~Z8$_8H7y^#^S4v3Nj^#=^+ WmQDHkYu}7{AQ4YjKbLh*2~7anb|sns literal 0 HcmV?d00001 diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/ic_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..1a5109828f340e78e63561152bfe6512b334ae54 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!b)GJcAr-gY-f-k)FyLTu{4?85 zB;mmfwd@2t5w(*q_?Q$N8WslAnR%U^e5V(8GFcAoe@Q zV|ySfL24pRA$qGP)C(wpOaZIrgy><|{Ln>~)y?Kz6!GMFs@pt~O zHwx<;l$3LrXHMTZY09%t91ILV#K@q)z`(-Lz`!8Dz`(@d02N%I%J9q`8zGFC}seq&x4!+19w_ Date: Fri, 7 Aug 2015 14:01:25 -0500 Subject: [PATCH 03/21] #1856 - Setting default style to Mapbox Streets --- .../src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java | 1 - .../src/main/res/layout/activity_main.xml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) 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 a637ee3f2..2005005ce 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 @@ -92,7 +92,6 @@ public class MainActivity extends AppCompatActivity { mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - mapView = (MapView) findViewById(R.id.mainMapView); // Load the access token try { diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 6cae39229..2a8c99f5f 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -53,6 +53,7 @@ android:id="@+id/mainMapView" android:layout_width="match_parent" android:layout_height="match_parent" + mapbox:styleUrl="asset://styles/mapbox-streets-v7.json" /> Date: Fri, 7 Aug 2015 14:31:01 -0500 Subject: [PATCH 04/21] #1856 - Setting up Navigation Drawer --- .../mapbox/mapboxgl/testapp/MainActivity.java | 23 +++++++++++++++++++ .../src/main/res/layout/activity_main.xml | 4 +--- .../src/main/res/menu/menu_drawer.xml | 14 +++++++++++ .../src/main/res/menu/menu_main.xml | 8 ------- 4 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml 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 2005005ce..646285ceb 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 @@ -3,6 +3,8 @@ package com.mapbox.mapboxgl.testapp; import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; +import android.support.design.widget.NavigationView; +import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; @@ -92,6 +94,11 @@ public class MainActivity extends AppCompatActivity { mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + if (navigationView != null) { + setupDrawerContent(navigationView); + } + mapView = (MapView) findViewById(R.id.mainMapView); // Load the access token try { @@ -241,6 +248,10 @@ public class MainActivity extends AppCompatActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { + case android.R.id.home: + mDrawerLayout.openDrawer(GravityCompat.START); + return true; + case R.id.action_gps: // Toggle GPS position updates toggleGps(!mapView.isMyLocationEnabled()); @@ -275,6 +286,18 @@ public class MainActivity extends AppCompatActivity { } } + private void setupDrawerContent(NavigationView navigationView) { + navigationView.setNavigationItemSelectedListener( + new NavigationView.OnNavigationItemSelectedListener() { + @Override + public boolean onNavigationItemSelected(MenuItem menuItem) { + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + } + }); + } + /** * Enabled / Disable GPS location updates along with updating the UI * @param enableGps true if GPS is to be enabled, false if GPS is to be disabled diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 2a8c99f5f..bd593ad37 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -4,7 +4,6 @@ android:id="@+id/drawer_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:mapbox="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> @@ -86,7 +85,6 @@ android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" - tools:headerLayout="@layout/nav_header" - tools:menu="@menu/drawer_view"/> + mapbox:menu="@menu/menu_drawer"/> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml new file mode 100644 index 000000000..03ab05651 --- /dev/null +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml index b682fe0cb..8981b7a95 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml @@ -1,13 +1,5 @@ - - Date: Fri, 7 Aug 2015 14:50:18 -0500 Subject: [PATCH 05/21] #1856 - Moving ActionBar actions to Navigation Drawer --- .../mapbox/mapboxgl/testapp/MainActivity.java | 67 ++++++++++--------- .../src/main/res/menu/menu_drawer.xml | 8 +++ .../src/main/res/menu/menu_main.xml | 8 --- 3 files changed, 43 insertions(+), 40 deletions(-) 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 646285ceb..ada2fc45b 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 @@ -11,8 +11,6 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.GestureDetector; -import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; @@ -230,6 +228,7 @@ public class MainActivity extends AppCompatActivity { // Other events // +/* // Adds items to the action bar menu @Override public boolean onCreateOptionsMenu(Menu menu) { @@ -243,6 +242,7 @@ public class MainActivity extends AppCompatActivity { } return super.onCreateOptionsMenu(menu); } +*/ // Called when pressing action bar items @Override @@ -251,36 +251,6 @@ public class MainActivity extends AppCompatActivity { case android.R.id.home: mDrawerLayout.openDrawer(GravityCompat.START); return true; - - case R.id.action_gps: - // Toggle GPS position updates - toggleGps(!mapView.isMyLocationEnabled()); - updateMap(); - return true; - - case R.id.action_debug: - // Toggle debug mode - mapView.toggleDebug(); - - // Show the FPS counter - if (mapView.isDebugActive()) { - mFpsTextView.setVisibility(View.VISIBLE); - mFpsTextView.setText(getResources().getString(R.string.label_fps)); - } else { - mFpsTextView.setVisibility(View.INVISIBLE); - } - return true; - - case R.id.action_markers: - // Toggle markers - toggleMarkers(!mIsMarkersOn); - return true; - - case R.id.action_compass: - // Toggle compass - mapView.setCompassEnabled(!mapView.isCompassEnabled()); - return true; - default: return super.onOptionsItemSelected(item); } @@ -293,6 +263,39 @@ public class MainActivity extends AppCompatActivity { public boolean onNavigationItemSelected(MenuItem menuItem) { menuItem.setChecked(true); mDrawerLayout.closeDrawers(); + + // Respond To Selection + switch (menuItem.getItemId()) { + case R.id.action_gps: + // Toggle GPS position updates + toggleGps(!mapView.isMyLocationEnabled()); + updateMap(); + break; + + case R.id.action_debug: + // Toggle debug mode + mapView.toggleDebug(); + + // Show the FPS counter + if (mapView.isDebugActive()) { + mFpsTextView.setVisibility(View.VISIBLE); + mFpsTextView.setText(getResources().getString(R.string.label_fps)); + } else { + mFpsTextView.setVisibility(View.INVISIBLE); + } + break; + + case R.id.action_markers: + // Toggle markers + toggleMarkers(!mIsMarkersOn); + break; + + case R.id.action_compass: + // Toggle compass + mapView.setCompassEnabled(!mapView.isCompassEnabled()); + break; + } + return true; } }); 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 03ab05651..4a1211716 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -10,5 +10,13 @@ android:icon="@android:drawable/ic_menu_myplaces" android:title="@string/action_point_annotations" /> + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml index 8981b7a95..014fa25d6 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_main.xml @@ -1,11 +1,3 @@ - - From bfd039853ca397fc546c04f144c90469d0913c0c Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Fri, 7 Aug 2015 15:37:26 -0500 Subject: [PATCH 06/21] #1856 - Adding Styles to Navigation View with separator --- .../mapbox/mapboxgl/testapp/MainActivity.java | 89 ++++++------------- .../src/main/res/menu/menu_drawer.xml | 21 +++++ .../src/main/res/values/strings.xml | 19 ++-- 3 files changed, 57 insertions(+), 72 deletions(-) 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 ada2fc45b..ce245daf8 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 @@ -3,6 +3,7 @@ package com.mapbox.mapboxgl.testapp; import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; @@ -294,6 +295,26 @@ public class MainActivity extends AppCompatActivity { // Toggle compass mapView.setCompassEnabled(!mapView.isCompassEnabled()); break; + + case R.id.actionStyleMapboxStreets: + changeMapStyle(getString(R.string.styleURLMapboxStreets)); + break; + + case R.id.actionStyleEmerald: + changeMapStyle(getString(R.string.styleURLEmerald)); + break; + + case R.id.actionStyleLight: + changeMapStyle(getString(R.string.styleURLLight)); + break; + + case R.id.actionStyleDark: + changeMapStyle(getString(R.string.styleURLDark)); + break; + + case R.id.actionStyleSatellite: + changeMapStyle(getString(R.string.styleURLSatellite)); + break; } return true; @@ -301,6 +322,10 @@ public class MainActivity extends AppCompatActivity { }); } + private void changeMapStyle(@NonNull String styleURL) { + mapView.setStyleUrl(styleURL); + } + /** * Enabled / Disable GPS location updates along with updating the UI * @param enableGps true if GPS is to be enabled, false if GPS is to be disabled @@ -400,70 +425,6 @@ public class MainActivity extends AppCompatActivity { mapView.removeAnnotations(); } - // This class handles style change events - private class StyleSpinnerListener implements AdapterView.OnItemSelectedListener { - - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - switch (position) { - - // Mapbox Streets - case 0: - mapView.setStyleUrl("asset://styles/mapbox-streets-v7.json"); - mapView.removeAllStyleClasses(); - mClassSpinner.setVisibility(View.INVISIBLE); - mClassSpinner.setAdapter(null); - mClassSpinner.setOnItemSelectedListener(null); - break; - - // Emerald - case 1: - mapView.setStyleUrl("asset://styles/emerald-v7.json"); - mapView.removeAllStyleClasses(); - mClassSpinner.setVisibility(View.INVISIBLE); - mClassSpinner.setAdapter(null); - mClassSpinner.setOnItemSelectedListener(null); - break; - - // Light - case 2: - mapView.setStyleUrl("asset://styles/light-v7.json"); - mapView.removeAllStyleClasses(); - mClassSpinner.setVisibility(View.INVISIBLE); - mClassSpinner.setAdapter(null); - mClassSpinner.setOnItemSelectedListener(null); - break; - - // Dark - case 3: - mapView.setStyleUrl("asset://styles/dark-v7.json"); - mapView.removeAllStyleClasses(); - mClassSpinner.setVisibility(View.INVISIBLE); - mClassSpinner.setAdapter(null); - mClassSpinner.setOnItemSelectedListener(null); - break; - - // Outdoors - case 4: - mapView.setStyleUrl("asset://styles/outdoors-v7.json"); - mapView.removeAllStyleClasses(); - mClassSpinner.setVisibility(View.VISIBLE); - mClassSpinner.setAdapter(mOutdoorsClassAdapter); - mClassSpinner.setOnItemSelectedListener(new OutdoorClassSpinnerListener()); - break; - - default: - onNothingSelected(parent); - break; - } - } - - @Override - public void onNothingSelected(AdapterView parent) { - mapView.setStyleUrl(""); - } - } - // This class handles outdoor class change events private class OutdoorClassSpinnerListener implements AdapterView.OnItemSelectedListener { 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 4a1211716..1474161e0 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -1,5 +1,6 @@ + + + + + + + + + + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index 0022fe045..40bd286e5 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -5,19 +5,22 @@ Toggle GPS location Toggle Compass - Toggle debug mode - Toggle point annotations FPS: - - Mapbox Streets - Emerald - Light - Dark - + Mapbox Streets + Emerald + Light + Dark + Satellite + + asset://styles/mapbox-streets-v7.json + asset://styles/emerald-v7.json + asset://styles/light-v7.json + asset://styles/dark-v7.json + asset://styles/satellite-v7.json Day From 23d88928beb40b230e5900800c83b4b0789b955a Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Fri, 7 Aug 2015 15:41:49 -0500 Subject: [PATCH 07/21] #1856 - Setting map style programmatically and setting corresponding menu item checked --- .../main/java/com/mapbox/mapboxgl/testapp/MainActivity.java | 3 +++ .../src/main/res/layout/activity_main.xml | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) 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 ce245daf8..61bd74802 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 @@ -112,6 +112,9 @@ public class MainActivity extends AppCompatActivity { mapView.setOnFpsChangedListener(new MyOnFpsChangedListener()); mapView.addOnMapChangedListener(new MyOnMapChangedListener()); + changeMapStyle(getString(R.string.styleURLMapboxStreets)); + navigationView.getMenu().findItem(R.id.actionStyleMapboxStreets).setChecked(true); + final GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { public void onLongPress(final MotionEvent e) { float x = e.getX(); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index bd593ad37..616e5fe1d 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -52,7 +52,6 @@ android:id="@+id/mainMapView" android:layout_width="match_parent" android:layout_height="match_parent" - mapbox:styleUrl="asset://styles/mapbox-streets-v7.json" /> Date: Fri, 7 Aug 2015 15:44:16 -0500 Subject: [PATCH 08/21] #1856 - Removing old toolbar and spinner setup code --- .../com/mapbox/mapboxgl/testapp/MainActivity.java | 12 ------------ 1 file changed, 12 deletions(-) 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 61bd74802..8d275d297 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 @@ -144,18 +144,6 @@ public class MainActivity extends AppCompatActivity { mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); /* - // Add a toolbar as the action bar - Toolbar mainToolbar = (Toolbar) findViewById(R.id.toolbar_main); - setSupportActionBar(mainToolbar); - getSupportActionBar().setDisplayShowTitleEnabled(false); - - // Add the spinner to select map styles - Spinner styleSpinner = (Spinner) findViewById(R.id.spinner_style); - ArrayAdapter styleAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(), - R.array.style_list, android.R.layout.simple_spinner_dropdown_item); - styleSpinner.setAdapter(styleAdapter); - styleSpinner.setOnItemSelectedListener(new StyleSpinnerListener()); - // Add the spinner to select class styles mClassSpinner = (Spinner) findViewById(R.id.spinner_class); mOutdoorsClassAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(), From 30a0617e37c30854cb53d5d1a7f3372a7dbcaaf5 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Fri, 7 Aug 2015 15:56:24 -0500 Subject: [PATCH 09/21] #1856 - Cleaning up annotations selection option and centering map on annotation display area --- .../mapbox/mapboxgl/testapp/MainActivity.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) 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 8d275d297..5e0e0002a 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 @@ -30,7 +30,7 @@ import com.mapbox.mapboxgl.annotations.PolylineOptions; import com.mapbox.mapboxgl.geometry.LatLng; import com.mapbox.mapboxgl.views.MapView; import io.fabric.sdk.android.Fabric; -import org.json.JSONException; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -64,8 +64,8 @@ public class MainActivity extends AppCompatActivity { // Used for GPS private MenuItem mGpsMenuItem; - // Used for markers - private boolean mIsMarkersOn = false; + // Used for Annotations + private boolean mIsAnnotationsOn = false; private Marker marker; @@ -279,7 +279,7 @@ public class MainActivity extends AppCompatActivity { case R.id.action_markers: // Toggle markers - toggleMarkers(!mIsMarkersOn); + toggleAnnotations(!mIsAnnotationsOn); break; case R.id.action_compass: @@ -341,21 +341,23 @@ public class MainActivity extends AppCompatActivity { } /** - * Enable / Disable markers. + * Enable / Disable Annotations. * - * @param enableMarkers + * @param enableAnnotations True to display, False to hide */ - private void toggleMarkers(boolean enableMarkers) { - if (enableMarkers) { - if (!mIsMarkersOn) { - mIsMarkersOn = true; + private void toggleAnnotations(boolean enableAnnotations) { + if (enableAnnotations) { + if (!mIsAnnotationsOn) { + mIsAnnotationsOn = true; addMarkers(); addPolyline(); addPolygon(); + mapView.setZoomLevel(7); + mapView.setCenterCoordinate(new LatLng(38.11727, -122.22839)); } } else { - if (mIsMarkersOn) { - mIsMarkersOn = false; + if (mIsAnnotationsOn) { + mIsAnnotationsOn = false; removeAnnotations(); } } @@ -386,9 +388,8 @@ public class MainActivity extends AppCompatActivity { .add(latLngs) .width(2) .color(Color.RED)); - } catch (IOException e) { - e.printStackTrace(); - } catch (JSONException e) { + } catch (Exception e) { + Log.e(TAG, "Error adding Polyline: "+ e); e.printStackTrace(); } } @@ -405,9 +406,8 @@ public class MainActivity extends AppCompatActivity { .strokeColor(Color.MAGENTA) .fillColor(Color.BLUE)); Polygon polygon = map.addPolygons(opts).get(0); - } catch (IOException e) { - e.printStackTrace(); - } catch (JSONException e) { + } catch (Exception e) { + Log.e(TAG, "Error adding Polygon: "+ e); e.printStackTrace(); } } From 9cd4a7ccb73311a9dc542afb631db0cb373b55bb Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Mon, 10 Aug 2015 15:41:02 -0500 Subject: [PATCH 10/21] #1856 - Removing FAB from SDK and replacing with intial tracking mode API. Making Compass visible under Toolbar. --- .../com/mapbox/mapboxgl/views/MapView.java | 107 +++++------------- .../drawable-hdpi/ic_explore_black_24dp.png | Bin 465 -> 0 bytes .../ic_my_location_black_24dp.png | Bin 549 -> 0 bytes .../drawable-mdpi/ic_explore_black_24dp.png | Bin 322 -> 0 bytes .../ic_my_location_black_24dp.png | Bin 341 -> 0 bytes .../drawable-xhdpi/ic_explore_black_24dp.png | Bin 624 -> 0 bytes .../ic_my_location_black_24dp.png | Bin 660 -> 0 bytes .../drawable-xxhdpi/ic_explore_black_24dp.png | Bin 913 -> 0 bytes .../ic_my_location_black_24dp.png | Bin 976 -> 0 bytes .../ic_explore_black_24dp.png | Bin 1219 -> 0 bytes .../ic_my_location_black_24dp.png | Bin 1334 -> 0 bytes .../src/main/res/values/strings.xml | 1 - .../mapbox/mapboxgl/testapp/MainActivity.java | 14 +++ .../src/main/res/menu/menu_drawer.xml | 13 +++ .../src/main/res/values/strings.xml | 3 + 15 files changed, 57 insertions(+), 81 deletions(-) delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_my_location_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_explore_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_explore_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/ic_my_location_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_explore_black_24dp.png delete mode 100644 android/java/MapboxGLAndroidSDK/src/main/res/drawable-xxxhdpi/ic_my_location_black_24dp.png diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java index 953bd6ae0..fe146cf0d 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java @@ -11,7 +11,6 @@ import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.Color; import android.graphics.Matrix; import android.graphics.PointF; import android.hardware.GeomagneticField; @@ -26,7 +25,6 @@ import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; -import android.support.v4.content.res.ResourcesCompat; import android.support.v4.view.GestureDetectorCompat; import android.support.v4.view.ScaleGestureDetectorCompat; import android.text.TextUtils; @@ -126,13 +124,18 @@ public class MapView extends FrameLayout implements LocationListener { // Holds the context private Context mContext; - // Used for GPS + // Used for GPS / Location private boolean mIsGpsOn = false; private LostApiClient mLocationClient; private LocationRequest mLocationRequest; private ImageView mGpsMarker; private Location mGpsLocation; + public enum UserLocationTrackingMode { + NONE, FOLLOW, FOLLOW_BEARING; + } + private UserLocationTrackingMode userLocationTrackingMode = UserLocationTrackingMode.FOLLOW; + // Used for compass private boolean mIsCompassEnabled = true; private ImageView mCompassView; @@ -149,13 +152,13 @@ public class MapView extends FrameLayout implements LocationListener { private boolean mCompassValid = false; // Used for map toggle mode - private FloatingActionButton trackingModeButton; - private int trackingMode = 0; +// private FloatingActionButton trackingModeButton; private long t0 = new Date().getTime(); // Used to manage Event Listeners private ArrayList mOnMapChangedListener; + // // Properties // @@ -299,26 +302,12 @@ public class MapView extends FrameLayout implements LocationListener { mCompassView.setContentDescription(getResources().getString(R.string.compassContentDescription)); LayoutParams lp = new FrameLayout.LayoutParams((int)(48 * mScreenDensity), (int)(48 * mScreenDensity)); lp.gravity = Gravity.TOP | Gravity.END; - int tenDp = (int)(10 * mScreenDensity); - lp.setMargins(tenDp, tenDp, tenDp, tenDp); + int twentyDp = (int)(20 * mScreenDensity); + lp.setMargins(twentyDp, twentyDp * 4, twentyDp, twentyDp); mCompassView.setLayoutParams(lp); addView(mCompassView); mCompassView.setOnClickListener(new CompassOnClickListener()); - // Setup tracking mode - trackingModeButton = new FloatingActionButton(mContext); - trackingModeButton.setContentDescription(getResources().getString(R.string.trackingModeButtonContentDescription)); - trackingModeButton.setBackgroundTintList(ColorStateList.valueOf(getResources().getColor(R.color.background_material_light))); - trackingModeButton.setElevation(4); - trackingModeButton.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_my_location_black_24dp)); - LayoutParams lp2 = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - lp2.gravity = Gravity.BOTTOM | Gravity.END; - int twentyDp = (int)(20 * mScreenDensity); - lp2.setMargins(twentyDp, twentyDp, twentyDp, twentyDp); - trackingModeButton.setLayoutParams(lp2); - addView(trackingModeButton); - trackingModeButton.setOnClickListener(new ToggleModeClickListener()); - // Setup Support For Listener Tracking // MapView's internal listener is setup in onCreate() mOnMapChangedListener = new ArrayList(); @@ -512,6 +501,14 @@ public class MapView extends FrameLayout implements LocationListener { mNativeMapView.toggleCollisionDebug(); } + public UserLocationTrackingMode getUserLocationTrackingMode() { + return userLocationTrackingMode; + } + + public void setUserLocationTrackingMode(UserLocationTrackingMode userLocationTrackingMode) { + this.userLocationTrackingMode = userLocationTrackingMode; + } + public boolean isFullyLoaded() { return mNativeMapView.isFullyLoaded(); } @@ -916,10 +913,6 @@ public class MapView extends FrameLayout implements LocationListener { return false; } - if (trackingMode != 0) { - setTrackingMode(0); - } - // Cancel any animation mNativeMapView.cancelTransitions(); // TODO need to test canceling // transitions with touch @@ -1608,11 +1601,9 @@ public class MapView extends FrameLayout implements LocationListener { @Override public void onClick(View view) { - if(trackingMode == 2){ - setTrackingMode(0); - } resetNorth(); } + } /** @@ -1629,12 +1620,6 @@ public class MapView extends FrameLayout implements LocationListener { private void updateLocation(Location location) { if (location != null) { mGpsLocation = location; - - // Update map position if in follow mode - if (trackingMode != 0) { - setCenterCoordinate(new LatLng(mGpsLocation)); - } - updateMap(); } } @@ -1679,7 +1664,7 @@ public class MapView extends FrameLayout implements LocationListener { mGpsMarker.requestLayout(); // Update direction if tracking mode - if(trackingMode == 2 && mCompassValid){ + if(userLocationTrackingMode == UserLocationTrackingMode.FOLLOW_BEARING && mCompassValid){ // TODO need to do proper filtering (see branch filter-compass) or else map will lock up because of all the compass events long t = new Date().getTime(); if((t-t0)>1000){ @@ -1688,6 +1673,13 @@ public class MapView extends FrameLayout implements LocationListener { } } +/* + // Update map position if NOT in NONE mode + if (userLocationTrackingMode != UserLocationTrackingMode.NONE) { + setCenterCoordinate(new LatLng(mGpsLocation)); + } +*/ + /* // Used For User Location Bearing UI if (mGpsLocation.hasBearing() || mCompassValid) { @@ -1708,49 +1700,4 @@ public class MapView extends FrameLayout implements LocationListener { } } } - - private class ToggleModeClickListener implements OnClickListener { - @Override - public void onClick(View v) { - setTrackingMode((trackingMode + 1) % 3); - } - } - - public void setTrackingMode(int trackingMode) { - - this.trackingMode = trackingMode; - - switch (trackingMode) { - - case 0: { - trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_my_location_black_24dp, mContext.getTheme())); - trackingModeButton.setColorFilter(Color.TRANSPARENT); - updateMap(); - } - break; - - case 1: { - trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_my_location_black_24dp, mContext.getTheme())); - trackingModeButton.setColorFilter(Color.BLUE); - if(mGpsLocation != null){ - setCenterCoordinate(new LatLng(mGpsLocation)); - } - updateMap(); - } - break; - - case 2: { - trackingModeButton.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_explore_black_24dp, mContext.getTheme())); - trackingModeButton.setColorFilter(Color.BLUE); - if(mGpsLocation != null){ - setCenterCoordinate(new LatLng(mGpsLocation)); - } - updateMap(); - } - break; - - default: - break; - } - } } diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-hdpi/ic_explore_black_24dp.png deleted file mode 100644 index f4bc5acd008d74f521e382cc37930af05e787cc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465 zcmV;?0WSWDP)zzL>$B+NW=(k(oRL_AU;FzAqu5*C^0&T zOH#PrlBm#U%VTt^ddBr-ipjD>8w;9Ll2VBV9+G%7o2U=DPIa0>Q>Y@@Q(4ggJOPQ63J zPf@m7_Of3r$l4J(^(8JdwXjczgZ=7Yq+FWCCT}XAvHG*iR93pm_1S5Hp zGX{g3?7{FW1~WTE1v&0B)$aWAV|TJUEMI4Vh=>I~Eg~f)`bUbsvBa4vI%APZJ|NE; zS0tp?c;%8+^1MTZHfhFaF~^AZ80bfR8dQmisnWF0?lOWOivMAs61I>7o-}(5etQc3 zW(t=Q*GlZ*QPJi9WQ;5UCnl3HONKmcUCkIi0XHVsB!|$`+Jp$PIdkEDiW5@$l+e}KHK>XL2GeFWdrUB7$wV6n8>Ei0iSS^K z=Z7{5y;D_$J7-ZHp=ORx?M)`Kf-yqJS=6;x2@N7&(Tl%`L%Ya#YYk`7z30|sQ4g80 z*Lne78Wk85Q(Xo|0QUIf@zkeKuOA|f-32DEnDS;fBGv_$1n#m_CUSyLx zUAo+}P64FMv&k;wl-GS<6W|kYt7j@lhB^8sazfy#`K4`S29I5>#|uP4vFFe9;gv>NR1ZS{7KkmM6)zWGe(^m-XX^d7xb_zdYrRNjt`h% no>RS36~_OkuMzu0>#O_)RZ4aRmaPDG00000NkvXXu0mjf7M<-G diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_explore_black_24dp.png deleted file mode 100644 index 3c9da64daa13096c7d7309c61530260d8c58228b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmV-I0lof-P)db|w-s4}^E&zOs{y}JZgEeY3xY9-cCUm`HF4TT% zRoL~uDLdGr)@qb4{ml;=QThNXB{q_XSK%?rI{=q9{`3a-!XkdtCvasaj)}~KN_(oF zaqYW*(jbizVR|Z8UL2)tZs^-fBe^wDj7)Y4SrhM>+i#30%{_Q?aPaEhOzF)20~&+} U`B9}ZjsO4v07*qoM6N<$f`Gb?E&u=k diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-mdpi/ic_my_location_black_24dp.png deleted file mode 100644 index 5684aa7dc5d4dd20ffac6d3191a20b810fa3b56c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmV-b0jmCqP)mMbk{NI>0N1x?|uus^FEj=X)&pHzW-zSTS)^M<$cW&4ZYJcs=$YBhD;OSn~x>^datnyArVw)DU;Gg0)Zj8#)n zvEOVsVD8IDj$T&^mqn$1cGf=f59R|YEe}L#KYAzm#9c{d-LoWdQk3+qH>6fP6iLS= zHbg$(d&OcGMVj*x+ajNrE!Hs-X$BHI|GPPJM;)=(IkB*z#8_l|6Y!A`w#>EN6$=|l zEUvs>fMIi-OW zpO{oQRv$a4v99;s%YSoR@|?%ka@=_XLn9LtBSQo0UbEy0@YH_@FdzKA=A!Zd0000< KMNUMnLSTY+uq#CX diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png b/android/java/MapboxGLAndroidSDK/src/main/res/drawable-xhdpi/ic_my_location_black_24dp.png deleted file mode 100644 index 7faa3455f60127e423ab3cd481745bfa47eb121f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 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 diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml index 78e20893b..df022a467 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml +++ b/android/java/MapboxGLAndroidSDK/src/main/res/values/strings.xml @@ -1,5 +1,4 @@ Map compass. Click to reset the map rotation to North. - Press button to toggle tracking modes (None, Follow, FollowWithHeading) 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 5e0e0002a..8fbd17d2d 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 @@ -287,6 +287,20 @@ public class MainActivity extends AppCompatActivity { mapView.setCompassEnabled(!mapView.isCompassEnabled()); break; +/* + case R.id.followNone: + mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE); + break; + + case R.id.followFollow: + mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.FOLLOW); + break; + + case R.id.followBearing: + mapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.FOLLOW_BEARING); + break; +*/ + case R.id.actionStyleMapboxStreets: changeMapStyle(getString(R.string.styleURLMapboxStreets)); break; 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 1474161e0..38288bb57 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -20,6 +20,19 @@ android:title="@string/action_compass" /> + + diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index 40bd286e5..a26fa55e7 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -4,6 +4,9 @@ Mapbox GL Toggle GPS location + Toggle Location Bearing Tracking + Follow + Bearing Toggle Compass Toggle debug mode Toggle point annotations From bfb44846c012018b27e81a09642eac9f9655a996 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Mon, 10 Aug 2015 17:32:26 -0500 Subject: [PATCH 11/21] #1856 - Adding Location FAB to TestApp with color toggle to show state --- .../mapbox/mapboxgl/testapp/MainActivity.java | 37 +++++++------------ .../src/main/res/layout/activity_main.xml | 17 ++++----- 2 files changed, 22 insertions(+), 32 deletions(-) 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 8fbd17d2d..5d36a98cd 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 @@ -4,6 +4,7 @@ import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; import android.support.annotation.NonNull; +import android.support.design.widget.FloatingActionButton; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; @@ -62,7 +63,7 @@ public class MainActivity extends AppCompatActivity { private ArrayAdapter mSatelliteClassAdapter; // Used for GPS - private MenuItem mGpsMenuItem; + private FloatingActionButton locationFAB; // Used for Annotations private boolean mIsAnnotationsOn = false; @@ -143,6 +144,16 @@ public class MainActivity extends AppCompatActivity { mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); + locationFAB = (FloatingActionButton)findViewById(R.id.locationFAB); + locationFAB.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // Toggle GPS position updates + toggleGps(!mapView.isMyLocationEnabled()); + updateMap(); + } + }); + /* // Add the spinner to select class styles mClassSpinner = (Spinner) findViewById(R.id.spinner_class); @@ -220,22 +231,6 @@ public class MainActivity extends AppCompatActivity { // Other events // -/* - // Adds items to the action bar menu - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu_main, menu); - mGpsMenuItem = menu.findItem(R.id.action_gps); - if (mapView.isMyLocationEnabled()) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_found); - } else { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching); - } - return super.onCreateOptionsMenu(menu); - } -*/ - // Called when pressing action bar items @Override public boolean onOptionsItemSelected(MenuItem item) { @@ -340,16 +335,12 @@ public class MainActivity extends AppCompatActivity { if (enableGps) { if (!mapView.isMyLocationEnabled()) { mapView.setMyLocationEnabled(enableGps); - if (mGpsMenuItem != null) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_found); - } + locationFAB.setColorFilter(getResources().getColor(R.color.primary)); } } else { if (mapView.isMyLocationEnabled()) { mapView.setMyLocationEnabled(enableGps); - if (mGpsMenuItem != null) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching); - } + locationFAB.setColorFilter(Color.TRANSPARENT); } } } diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 616e5fe1d..19647d20f 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -65,15 +65,14 @@ - + From b4eb1662c561b87913caebd81229b5f5f5993eda Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Mon, 10 Aug 2015 17:36:05 -0500 Subject: [PATCH 12/21] #1856 - Removing GPS Toggle from Navigation Drawer --- .../main/java/com/mapbox/mapboxgl/testapp/MainActivity.java | 6 ------ .../src/main/res/menu/menu_drawer.xml | 4 ---- 2 files changed, 10 deletions(-) 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 5d36a98cd..e35a5503e 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 @@ -31,7 +31,6 @@ import com.mapbox.mapboxgl.annotations.PolylineOptions; import com.mapbox.mapboxgl.geometry.LatLng; import com.mapbox.mapboxgl.views.MapView; import io.fabric.sdk.android.Fabric; - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -253,11 +252,6 @@ public class MainActivity extends AppCompatActivity { // Respond To Selection switch (menuItem.getItemId()) { - case R.id.action_gps: - // Toggle GPS position updates - toggleGps(!mapView.isMyLocationEnabled()); - updateMap(); - break; case R.id.action_debug: // Toggle debug mode 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 38288bb57..7cfc47f90 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -11,10 +11,6 @@ android:icon="@android:drawable/ic_menu_myplaces" android:title="@string/action_point_annotations" /> - Date: Tue, 11 Aug 2015 11:40:45 -0500 Subject: [PATCH 13/21] #1856 - Adding TrackingMode TODO for update display --- .../src/main/java/com/mapbox/mapboxgl/views/MapView.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java index fe146cf0d..d6e878ad8 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java @@ -1674,6 +1674,8 @@ public class MapView extends FrameLayout implements LocationListener { } /* + // TODO - Too much overhead on main thread. Needs to be refactored before it + // can be re-enabled // Update map position if NOT in NONE mode if (userLocationTrackingMode != UserLocationTrackingMode.NONE) { setCenterCoordinate(new LatLng(mGpsLocation)); From 5b787455ddc77324e9ea2501576a767af55d3b60 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 11 Aug 2015 15:26:24 -0500 Subject: [PATCH 14/21] #1856 - Using fixed Toolbar with no content scrolling underneath --- .../mapbox/mapboxgl/testapp/MainActivity.java | 2 +- .../src/main/res/layout/activity_main.xml | 65 ++++++------------- 2 files changed, 22 insertions(+), 45 deletions(-) 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 e35a5503e..3d058b2d3 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 @@ -141,7 +141,7 @@ public class MainActivity extends AppCompatActivity { mFpsTextView = (TextView) findViewById(R.id.view_fps); mFpsTextView.setText(""); - mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); +// mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); locationFAB = (FloatingActionButton)findViewById(R.id.locationFAB); locationFAB.setOnClickListener(new View.OnClickListener() { diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 19647d20f..efd063be2 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -3,50 +3,28 @@ - - - - - - - - + android:background="?attr/colorPrimary" + android:minHeight="?attr/actionBarSize" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> - - + android:layout_below="@+id/toolbar"> + + + - - - - - + + app:menu="@menu/menu_drawer"/> From 7563e11eee56cd68afcb0aef41c9be28068d805c Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 11 Aug 2015 15:51:01 -0500 Subject: [PATCH 15/21] #1856 - Adjusting compas layout back to 10dp --- .../src/main/java/com/mapbox/mapboxgl/views/MapView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java index d6e878ad8..33a0682b6 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java @@ -302,8 +302,8 @@ public class MapView extends FrameLayout implements LocationListener { mCompassView.setContentDescription(getResources().getString(R.string.compassContentDescription)); LayoutParams lp = new FrameLayout.LayoutParams((int)(48 * mScreenDensity), (int)(48 * mScreenDensity)); lp.gravity = Gravity.TOP | Gravity.END; - int twentyDp = (int)(20 * mScreenDensity); - lp.setMargins(twentyDp, twentyDp * 4, twentyDp, twentyDp); + int tenDp = (int)(10 * mScreenDensity); + lp.setMargins(tenDp, tenDp, tenDp, tenDp); mCompassView.setLayoutParams(lp); addView(mCompassView); mCompassView.setOnClickListener(new CompassOnClickListener()); From c1d796bbc173ee64aecd4816a1099fe449ec8ad9 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Tue, 11 Aug 2015 16:16:13 -0500 Subject: [PATCH 16/21] #1856 - Added CoordinatorLayout back in to support Snackbar widget --- .../mapbox/mapboxgl/testapp/MainActivity.java | 2 + .../src/main/res/layout/activity_main.xml | 55 ++++++++++--------- 2 files changed, 32 insertions(+), 25 deletions(-) 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 3d058b2d3..79b366d42 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 @@ -6,6 +6,7 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.NavigationView; +import android.support.design.widget.Snackbar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; @@ -150,6 +151,7 @@ public class MainActivity extends AppCompatActivity { // Toggle GPS position updates toggleGps(!mapView.isMyLocationEnabled()); updateMap(); +// Snackbar.make(v, "Snack time!", Snackbar.LENGTH_LONG).show(); } }); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index efd063be2..305f15afe 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -20,37 +20,42 @@ android:minHeight="?attr/actionBarSize" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> - - - + android:layout_below="@+id/toolbar"> - + + + + + - + + - + From 91cf989d8c989fc09e5a8a948b66d8a4151996dd Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Wed, 12 Aug 2015 10:33:35 -0500 Subject: [PATCH 17/21] #1856 - Move Map display to user location when location is enabled --- .../main/java/com/mapbox/mapboxgl/testapp/MainActivity.java | 5 +++++ 1 file changed, 5 insertions(+) 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 79b366d42..5ef019110 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 @@ -2,6 +2,7 @@ package com.mapbox.mapboxgl.testapp; import android.graphics.Color; import android.graphics.PointF; +import android.location.Location; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; @@ -331,6 +332,10 @@ public class MainActivity extends AppCompatActivity { if (enableGps) { if (!mapView.isMyLocationEnabled()) { mapView.setMyLocationEnabled(enableGps); + Location location = mapView.getMyLocation(); + if (location != null) { + mapView.setCenterCoordinate(new LatLng(location), true); + } locationFAB.setColorFilter(getResources().getColor(R.color.primary)); } } else { From f5a95e18d94e6a89ce05443729d5cf1ba3b41a5c Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Wed, 12 Aug 2015 11:13:33 -0500 Subject: [PATCH 18/21] #1856 - Enabling and setting clickable state for features in Navigation Drawer menu --- .../main/java/com/mapbox/mapboxgl/views/MapView.java | 4 ---- .../com/mapbox/mapboxgl/testapp/MainActivity.java | 11 +++++++++-- .../src/main/res/menu/menu_drawer.xml | 3 +++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java index 33a0682b6..60c57593c 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java @@ -7,10 +7,8 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; -import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.PointF; import android.hardware.GeomagneticField; @@ -24,7 +22,6 @@ import android.net.NetworkInfo; import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; -import android.support.design.widget.FloatingActionButton; import android.support.v4.view.GestureDetectorCompat; import android.support.v4.view.ScaleGestureDetectorCompat; import android.text.TextUtils; @@ -40,7 +37,6 @@ import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.ViewConfiguration; -import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ZoomButtonsController; 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 5ef019110..dbdf83ae9 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 @@ -7,7 +7,6 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.NavigationView; -import android.support.design.widget.Snackbar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBar; @@ -163,6 +162,11 @@ public class MainActivity extends AppCompatActivity { R.array.outdoors_class_list, android.R.layout.simple_spinner_dropdown_item); */ + // Set default UI state + navigationView.getMenu().findItem(R.id.action_compass).setChecked(mapView.isCompassEnabled()); + navigationView.getMenu().findItem(R.id.action_debug).setChecked(mapView.isDebugActive()); + navigationView.getMenu().findItem(R.id.action_markers).setChecked(mIsAnnotationsOn); + if (savedInstanceState != null) { mapView.setMyLocationEnabled(savedInstanceState.getBoolean(STATE_IS_GPS_ON, false)); } @@ -250,7 +254,6 @@ public class MainActivity extends AppCompatActivity { new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { - menuItem.setChecked(true); mDrawerLayout.closeDrawers(); // Respond To Selection @@ -260,6 +263,8 @@ public class MainActivity extends AppCompatActivity { // Toggle debug mode mapView.toggleDebug(); + menuItem.setChecked(mapView.isDebugActive()); + // Show the FPS counter if (mapView.isDebugActive()) { mFpsTextView.setVisibility(View.VISIBLE); @@ -272,11 +277,13 @@ public class MainActivity extends AppCompatActivity { case R.id.action_markers: // Toggle markers toggleAnnotations(!mIsAnnotationsOn); + menuItem.setChecked(mIsAnnotationsOn); break; case R.id.action_compass: // Toggle compass mapView.setCompassEnabled(!mapView.isCompassEnabled()); + menuItem.setChecked(mapView.isCompassEnabled()); break; /* 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 7cfc47f90..7244fa09b 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -5,15 +5,18 @@ android:id="@+id/action_debug" android:icon="@drawable/ic_action_about" android:title="@string/action_debug" + android:checkable="true" />