summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-11-13 13:20:41 +0100
committerGitHub <noreply@github.com>2017-11-13 13:20:41 +0100
commita9bd09c015f36174abdc5aee0de775500597617d (patch)
tree12363c7e35ab7862a95ae8eb78e32948972c8aa7
parenta0cfac4c1a0785fae57ef80839e3e28124c6a541 (diff)
downloadqtlocation-mapboxgl-a9bd09c015f36174abdc5aee0de775500597617d.tar.gz
Downgrade min sdk to 14 (#10355)
* [android] - downgrade minimum sdk version to 14 * [android] bump MAS version to the one which includes min sdk version 14 * bump lost version to 3.0.4
-rw-r--r--platform/android/MapboxGLAndroidSDK/build.gradle1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/AndroidManifest.xml9
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java49
-rw-r--r--platform/android/dependencies.gradle6
4 files changed, 46 insertions, 19 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/build.gradle b/platform/android/MapboxGLAndroidSDK/build.gradle
index f3e9433a0b..bf0af3052b 100644
--- a/platform/android/MapboxGLAndroidSDK/build.gradle
+++ b/platform/android/MapboxGLAndroidSDK/build.gradle
@@ -6,7 +6,6 @@ dependencies {
compile rootProject.ext.dep.timber
compile rootProject.ext.dep.okhttp3
provided(rootProject.ext.dep.lost) {
- exclude group: 'com.google.guava'
exclude group: 'com.android.support'
}
testCompile rootProject.ext.dep.junit
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDK/src/main/AndroidManifest.xml
index b61035a008..f59585bfe5 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/AndroidManifest.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/AndroidManifest.xml
@@ -1,14 +1,17 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.mapbox.mapboxsdk">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.mapbox.mapboxsdk">
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="false" /> <!-- Implied by ACCESS_WIFI_STATE. -->
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+ <uses-permission android:name="android.permission.INTERNET"/>
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
+ <uses-sdk tools:overrideLibrary="com.mapzen.lost"/>
+
<application>
<!-- Include the telemetry service to simplify set up (https://www.mapbox.com/telemetry) -->
<service android:name="com.mapbox.services.android.telemetry.service.TelemetryService"/>
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java
index c6bc13f538..1313587158 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java
@@ -32,7 +32,7 @@ import com.mapzen.android.lost.api.LostApiClient;
* @deprecated Use a {@link Mapbox#getLocationEngine()} instead.
*/
@Deprecated
-public class LocationSource extends LocationEngine implements LocationListener {
+public class LocationSource extends LocationEngine implements LostApiClient.ConnectionCallbacks, LocationListener {
private Context context;
private LostApiClient lostApiClient;
@@ -45,7 +45,9 @@ public class LocationSource extends LocationEngine implements LocationListener {
public LocationSource(Context context) {
super();
this.context = context.getApplicationContext();
- lostApiClient = new LostApiClient.Builder(this.context).build();
+ lostApiClient = new LostApiClient.Builder(this.context)
+ .addConnectionCallbacks(this)
+ .build();
}
/**
@@ -61,12 +63,7 @@ public class LocationSource extends LocationEngine implements LocationListener {
*/
@Override
public void activate() {
- if (!lostApiClient.isConnected()) {
- lostApiClient.connect();
- }
- for (LocationEngineListener listener : locationListeners) {
- listener.onConnected();
- }
+ connect();
}
/**
@@ -76,7 +73,7 @@ public class LocationSource extends LocationEngine implements LocationListener {
*/
@Override
public void deactivate() {
- if (lostApiClient.isConnected()) {
+ if (lostApiClient != null && lostApiClient.isConnected()) {
lostApiClient.disconnect();
}
}
@@ -93,6 +90,24 @@ public class LocationSource extends LocationEngine implements LocationListener {
}
/**
+ * Invoked when the location provider has connected.
+ */
+ @Override
+ public void onConnected() {
+ for (LocationEngineListener listener : locationListeners) {
+ listener.onConnected();
+ }
+ }
+
+ /**
+ * Invoked when the location provider connection has been suspended.
+ */
+ @Override
+ public void onConnectionSuspended() {
+ // Empty
+ }
+
+ /**
* Returns the Last known location is the location provider is connected and location permissions are granted.
*
* @return the last known location
@@ -102,7 +117,7 @@ public class LocationSource extends LocationEngine implements LocationListener {
public Location getLastLocation() {
if (lostApiClient.isConnected()) {
//noinspection MissingPermission
- return LocationServices.FusedLocationApi.getLastLocation();
+ return LocationServices.FusedLocationApi.getLastLocation(lostApiClient);
}
return null;
}
@@ -136,7 +151,7 @@ public class LocationSource extends LocationEngine implements LocationListener {
if (lostApiClient.isConnected()) {
//noinspection MissingPermission
- LocationServices.FusedLocationApi.requestLocationUpdates(request, this);
+ LocationServices.FusedLocationApi.requestLocationUpdates(lostApiClient, request, this);
}
}
@@ -146,7 +161,7 @@ public class LocationSource extends LocationEngine implements LocationListener {
@Override
public void removeLocationUpdates() {
if (lostApiClient.isConnected()) {
- LocationServices.FusedLocationApi.removeLocationUpdates(this);
+ LocationServices.FusedLocationApi.removeLocationUpdates(lostApiClient, this);
}
}
@@ -171,4 +186,14 @@ public class LocationSource extends LocationEngine implements LocationListener {
listener.onLocationChanged(location);
}
}
+
+ private void connect() {
+ if (lostApiClient != null) {
+ if (lostApiClient.isConnected()) {
+ onConnected();
+ } else {
+ lostApiClient.connect();
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/platform/android/dependencies.gradle b/platform/android/dependencies.gradle
index 8d4c32045c..eadf7aea56 100644
--- a/platform/android/dependencies.gradle
+++ b/platform/android/dependencies.gradle
@@ -1,5 +1,5 @@
ext {
- minSdkVersion = 15
+ minSdkVersion = 14
targetSdkVersion = 25
compileSdkVersion = 25
buildToolsVersion = "25.0.2"
@@ -7,7 +7,7 @@ ext {
versionCode = 11
versionName = "5.0.0"
- mapboxServicesVersion = "2.2.8"
+ mapboxServicesVersion = "2.2.9"
supportLibVersion = "25.4.0"
espressoVersion = '3.0.1'
testRunnerVersion = '1.0.1'
@@ -20,7 +20,7 @@ ext {
mapboxAndroidTelemetry : "com.mapbox.mapboxsdk:mapbox-android-telemetry:${mapboxServicesVersion}@aar",
// mapzen lost
- lost : 'com.mapzen.android:lost:1.1.1',
+ lost : 'com.mapzen.android:lost:3.0.4',
// unit test
junit : 'junit:junit:4.12',