diff --git a/README.md b/README.md
index eb406b2c..4ad0519e 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,17 @@
-Background Geolocation for Android
+# Background Geolocation for Android
-[](https://circleci.com/gh/mauron85/background-geolocation-android/tree/master)
+### Updated with some PRs not merged on original package:
+
+-> [Always allow permission for android 10](https://github.com/mauron85/background-geolocation-android/pull/52)
+
+-> [Update AndroidManifest.xml for android 10](https://github.com/mauron85/background-geolocation-android/pull/51)
+
+-> [Remove deprecated option android.enableUnitTestBinaryResources](https://github.com/mauron85/background-geolocation-android/pull/49)
+
+-> [Fix Android10 hasMockLocationsEnabled()](https://github.com/mauron85/background-geolocation-android/pull/46)
used by:
-* [react-native-background-geolocation](https://github.com/mauron85/react-native-background-geolocation)
+- [react-native-background-geolocation](https://github.com/mauron85/react-native-background-geolocation)
-* [cordova-plugin-background-geolocation](https://github.com/mauron85/cordova-plugin-background-geolocation)
+- [cordova-plugin-background-geolocation](https://github.com/mauron85/cordova-plugin-background-geolocation)
diff --git a/VERSIONS.gradle b/VERSIONS.gradle
index 61f08653..acbf9c29 100644
--- a/VERSIONS.gradle
+++ b/VERSIONS.gradle
@@ -21,9 +21,9 @@ def RESOURCE_PREFIX = "mauron85_bgloc_"
ext {
getApplicationId = { ->
def applicationId = "com.marianhello.app"
- if (findProject('..:app') != null) {
+ if (findProject('..:app') != null && project('..:app').hasProperty('android')) {
applicationId = project('..:app').android.defaultConfig.applicationId
- } else if (findProject(':app') != null) {
+ } else if (findProject(':app') != null && project(':app').hasProperty('android')) {
applicationId = project(':app').android.defaultConfig.applicationId
}
if (rootProject.hasProperty('applicationId')) {
diff --git a/gradle.properties b/gradle.properties
index 0c274576..f7f2f4b3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1 @@
-android.enableUnitTestBinaryResources=true
android.builder.sdkDownload=true
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index a3888f3c..3aafc19a 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -44,7 +44,11 @@
android:authorities="@string/mauron85_bgloc_content_authority"
android:exported="false"
android:syncable="true"/>
-
+
diff --git a/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java b/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java
index a8c755f7..8e7ff02d 100644
--- a/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java
+++ b/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java
@@ -54,7 +54,8 @@ public class BackgroundGeolocationFacade {
public static final String[] PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.ACCESS_FINE_LOCATION
+ Manifest.permission.ACCESS_FINE_LOCATION,
+ Manifest.permission.ACCESS_BACKGROUND_LOCATION
};
private boolean mServiceBroadcastReceiverRegistered = false;
diff --git a/src/main/java/com/marianhello/bgloc/LocationManager.java b/src/main/java/com/marianhello/bgloc/LocationManager.java
index d0f00ca4..915e28d2 100644
--- a/src/main/java/com/marianhello/bgloc/LocationManager.java
+++ b/src/main/java/com/marianhello/bgloc/LocationManager.java
@@ -24,7 +24,8 @@ public class LocationManager {
public static final String[] PERMISSIONS = {
Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.ACCESS_FINE_LOCATION
+ Manifest.permission.ACCESS_FINE_LOCATION,
+ Manifest.permission.ACCESS_BACKGROUND_LOCATION
};
private LocationManager(Context context) {
diff --git a/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java b/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java
index 97a636b8..4ee7c4cc 100644
--- a/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java
+++ b/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java
@@ -15,6 +15,7 @@
import android.content.IntentFilter;
import android.location.Location;
import android.media.AudioManager;
+import android.os.Build;
import android.provider.Settings;
import android.widget.Toast;
@@ -155,7 +156,7 @@ protected void showDebugToast (String text) {
}
public Boolean hasMockLocationsEnabled() {
- return Settings.Secure.getString(mContext.getContentResolver(), android.provider.Settings.Secure.ALLOW_MOCK_LOCATION).equals("1");
+ return Build.VERSION.SDK_INT < Build.VERSION_CODES.M && Settings.Secure.getString(mContext.getContentResolver(), android.provider.Settings.Secure.ALLOW_MOCK_LOCATION).equals("1");
}
/**