summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2019-03-29 11:20:38 +0100
committertobrun <tobrun.van.nuland@gmail.com>2019-03-29 13:57:57 +0100
commitbb76ccaebfd7fdd1eb34c4deca38d292c4dc242d (patch)
treed1fd248332c12293c947199fb4a5f0f6fa5ea254
parent1b7f04877d6748c27558de92307a21556225668a (diff)
downloadqtlocation-mapboxgl-upstream/tvn-simple-example.tar.gz
[android] - add simple map moduleupstream/tvn-simple-example
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/.gitignore2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/build.gradle22
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/src/main/AndroidManifest.xml18
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/src/main/java/com/mapbox/mapboxsdk/activity/MainActivity.java162
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/layout/activity_main.xml19
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/mipmap-xhdpi/ic_launcher.pngbin0 -> 1894 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/values/strings.xml4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java94
-rw-r--r--platform/android/settings.gradle2
9 files changed, 242 insertions, 81 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/.gitignore b/platform/android/MapboxGLAndroidSDKTestActivity/.gitignore
new file mode 100644
index 0000000000..51fa55e88b
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/.gitignore
@@ -0,0 +1,2 @@
+/build
+/src/main/res/values/strings.xml
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/build.gradle b/platform/android/MapboxGLAndroidSDKTestActivity/build.gradle
new file mode 100644
index 0000000000..047954f9f4
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/build.gradle
@@ -0,0 +1,22 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 26
+
+ defaultConfig {
+ applicationId "com.mapbox.mapboxsdk.activity"
+ minSdkVersion 14
+ targetSdkVersion 26
+ versionCode 1
+ versionName "1.0"
+ }
+}
+
+dependencies {
+ implementation (project(':MapboxGLAndroidSDK')) {
+ exclude group: 'com.android.support', module: 'support-fragment'
+ }
+ implementation ('com.android.support:support-compat:26.0.2') {
+ exclude group: 'android.arch.lifecycle', module: 'runtime'
+ }
+} \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..79c65a6925
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/AndroidManifest.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools" package="com.mapbox.mapboxsdk.activity">
+
+ <application
+ android:icon="@mipmap/ic_launcher"
+ android:label="MapboxGLAndroidActivityApp"
+ android:theme="@android:style/Theme.Holo" tools:ignore="GoogleAppIndexingWarning">
+ <activity android:name="com.mapbox.mapboxsdk.activity.MainActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest> \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/src/main/java/com/mapbox/mapboxsdk/activity/MainActivity.java b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/java/com/mapbox/mapboxsdk/activity/MainActivity.java
new file mode 100644
index 0000000000..480838e886
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/java/com/mapbox/mapboxsdk/activity/MainActivity.java
@@ -0,0 +1,162 @@
+package com.mapbox.mapboxsdk.activity;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.location.Location;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.Toast;
+import com.mapbox.android.core.location.LocationEngine;
+import com.mapbox.android.core.location.LocationEngineProvider;
+import com.mapbox.android.core.location.LocationEngineRequest;
+import com.mapbox.android.core.permissions.PermissionsListener;
+import com.mapbox.android.core.permissions.PermissionsManager;
+import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.location.LocationComponent;
+import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions;
+import com.mapbox.mapboxsdk.location.modes.RenderMode;
+import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
+
+import java.util.List;
+import java.util.Random;
+
+public class MainActivity extends Activity implements OnMapReadyCallback {
+
+ private MapView mapView;
+ private LocationComponent locationComponent;
+ private LocationEngine locationEngine;
+ private PermissionsManager permissionsManager;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ locationEngine = LocationEngineProvider.getBestLocationEngine(this, false);
+
+ Button fabManualUpdate = findViewById(R.id.button);
+ fabManualUpdate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (locationComponent != null && locationComponent.getLocationEngine() == null) {
+ locationComponent.forceLocationUpdate(
+ getRandomLocation(LatLngBounds.from(60, 25, 40, -5)));
+ }
+ }
+ });
+
+ mapView = findViewById(R.id.mapView);
+ mapView.onCreate(savedInstanceState);
+
+ if (PermissionsManager.areLocationPermissionsGranted(this)) {
+ mapView.getMapAsync(this);
+ } else {
+ permissionsManager = new PermissionsManager(new PermissionsListener() {
+ @Override
+ public void onExplanationNeeded(List<String> permissionsToExplain) {
+ Toast.makeText(MainActivity.this.getApplicationContext(),
+ "You need to accept location permissions.",
+ Toast.LENGTH_SHORT
+ ).show();
+ }
+
+ @Override
+ public void onPermissionResult(boolean granted) {
+ if (granted) {
+ mapView.getMapAsync(MainActivity.this);
+ } else {
+ finish();
+ }
+ }
+ });
+ permissionsManager.requestLocationPermissions(this);
+ }
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ permissionsManager.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ }
+
+ @SuppressLint("MissingPermission")
+ @Override
+ public void onMapReady(final MapboxMap mapboxMap) {
+ mapboxMap.setStyle(new Style.Builder().fromUrl(Style.MAPBOX_STREETS), new Style.OnStyleLoaded() {
+ @Override
+ public void onStyleLoaded(Style style) {
+ locationComponent = mapboxMap.getLocationComponent();
+
+ locationComponent.activateLocationComponent(
+ LocationComponentActivationOptions
+ .builder(MainActivity.this, style)
+ .locationEngine(locationEngine)
+ .locationEngineRequest(new LocationEngineRequest.Builder(500)
+ .setFastestInterval(500)
+ .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY).build())
+ .build());
+
+ locationComponent.setLocationComponentEnabled(true);
+ locationComponent.setRenderMode(RenderMode.COMPASS);
+ }
+ });
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ mapView.onStart();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mapView.onResume();
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ mapView.onPause();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mapView.onStop();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mapView.onDestroy();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
+ }
+
+ public static Location getRandomLocation(LatLngBounds bounds) {
+ Random random = new Random();
+
+ double randomLat = bounds.getLatSouth() + (bounds.getLatNorth() - bounds.getLatSouth()) * random.nextDouble();
+ double randomLon = bounds.getLonWest() + (bounds.getLonEast() - bounds.getLonWest()) * random.nextDouble();
+
+ Location location = new Location("random-loc");
+ location.setLongitude(randomLon);
+ location.setLatitude(randomLat);
+ return location;
+ }
+} \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/layout/activity_main.xml b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000000..c4dce05e4b
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/layout/activity_main.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.mapbox.mapboxsdk.maps.MapView
+ android:id="@+id/mapView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <Button
+ android:id="@+id/button"
+ android:layout_width="150dp"
+ android:layout_height="150dp"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentRight="true"/>
+
+</RelativeLayout>
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/mipmap-xhdpi/ic_launcher.png b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000..af747df411
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/values/strings.xml
new file mode 100644
index 0000000000..20dbd72428
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestActivity/src/main/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:tools="http://schemas.android.com/tools">
+ <string name="mapbox_access_token" tools:ignore="MissingTranslation">pk.eyJ1IjoidG9icnVuIiwiYSI6ImNpajVlajR0cjAwNjN2NmtyY204eWw2eG0ifQ.x3_WEoExNW5Qyv9T3Vj7Mw</string>
+</resources> \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java
index 5ca00e5d0f..ce41c0b6eb 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java
@@ -35,94 +35,28 @@ public class ManualLocationUpdatesActivity extends AppCompatActivity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_location_manual_update);
-
- locationEngine = LocationEngineProvider.getBestLocationEngine(this, false);
-
- FloatingActionButton fabManualUpdate = findViewById(R.id.fabManualLocationChange);
- fabManualUpdate.setOnClickListener(v -> {
- if (locationComponent != null && locationComponent.getLocationEngine() == null) {
- locationComponent.forceLocationUpdate(
- Utils.getRandomLocation(LatLngBounds.from(60, 25, 40, -5)));
- }
- });
- fabManualUpdate.setEnabled(false);
-
- FloatingActionButton fabToggle = findViewById(R.id.fabToggleManualLocation);
- fabToggle.setOnClickListener(v -> {
- if (locationComponent != null) {
- locationComponent.setLocationEngine(locationComponent.getLocationEngine() == null ? locationEngine : null);
-
- if (locationComponent.getLocationEngine() == null) {
- fabToggle.setImageResource(R.drawable.ic_layers_clear);
- fabManualUpdate.setEnabled(true);
- fabManualUpdate.setAlpha(1f);
- Toast.makeText(
- ManualLocationUpdatesActivity.this.getApplicationContext(),
- "LocationEngine disabled, use manual updates",
- Toast.LENGTH_SHORT).show();
- } else {
- fabToggle.setImageResource(R.drawable.ic_layers);
- fabManualUpdate.setEnabled(false);
- fabManualUpdate.setAlpha(0.5f);
- Toast.makeText(
- ManualLocationUpdatesActivity.this.getApplicationContext(),
- "LocationEngine enabled",
- Toast.LENGTH_SHORT).show();
- }
- }
- });
-
mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
-
- if (PermissionsManager.areLocationPermissionsGranted(this)) {
- mapView.getMapAsync(this);
- } else {
- permissionsManager = new PermissionsManager(new PermissionsListener() {
- @Override
- public void onExplanationNeeded(List<String> permissionsToExplain) {
- Toast.makeText(ManualLocationUpdatesActivity.this.getApplicationContext(),
- "You need to accept location permissions.",
- Toast.LENGTH_SHORT
- ).show();
- }
-
- @Override
- public void onPermissionResult(boolean granted) {
- if (granted) {
- mapView.getMapAsync(ManualLocationUpdatesActivity.this);
- } else {
- finish();
- }
- }
- });
- permissionsManager.requestLocationPermissions(this);
- }
- }
-
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- permissionsManager.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ mapView.getMapAsync(this);
}
@SuppressLint("MissingPermission")
@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(new Style.Builder().fromUrl(Style.MAPBOX_STREETS), style -> {
- locationComponent = mapboxMap.getLocationComponent();
-
- locationComponent.activateLocationComponent(
- LocationComponentActivationOptions
- .builder(this, style)
- .locationEngine(locationEngine)
- .locationEngineRequest(new LocationEngineRequest.Builder(500)
- .setFastestInterval(500)
- .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY).build())
- .build());
-
- locationComponent.setLocationComponentEnabled(true);
- locationComponent.setRenderMode(RenderMode.COMPASS);
+// locationComponent = mapboxMap.getLocationComponent();
+//
+// locationComponent.activateLocationComponent(
+// LocationComponentActivationOptions
+// .builder(this, style)
+// .locationEngine(locationEngine)
+// .locationEngineRequest(new LocationEngineRequest.Builder(500)
+// .setFastestInterval(500)
+// .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY).build())
+// .build());
+//
+// locationComponent.setLocationComponentEnabled(true);
+// locationComponent.setRenderMode(RenderMode.COMPASS);
});
}
diff --git a/platform/android/settings.gradle b/platform/android/settings.gradle
index c0315fed04..f08306ff3e 100644
--- a/platform/android/settings.gradle
+++ b/platform/android/settings.gradle
@@ -1 +1 @@
-include ':MapboxGLAndroidSDK', ':MapboxGLAndroidSDKTestApp', ':MapboxGLAndroidSDKLint' \ No newline at end of file
+include ':MapboxGLAndroidSDK', ':MapboxGLAndroidSDKTestApp', ':MapboxGLAndroidSDKLint', ':MapboxGLAndroidSDKTestActivity' \ No newline at end of file