From d234a008fcda06e116c0cd8a19226bf5cbd32085 Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 10:26:47 +0300 Subject: [PATCH 1/8] Add tests for permissions helper. Signed-off-by: Lentumunai-Mark --- library/build.gradle | 5 ++ .../kujaku/helpers/PermissionsHelperTest.java | 46 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java diff --git a/library/build.gradle b/library/build.gradle index c4201c23..b13ed6a0 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -136,6 +136,11 @@ dependencies { configuration -> implementation 'androidx.multidex:multidex:2.0.1' + androidTestImplementation 'org.powermock:powermock-module-junit4:2.0.9' + androidTestImplementation 'org.powermock:powermock-api-mockito2:2.0.9' + androidTestImplementation 'org.mockito:mockito-core:5.12.0' + androidTestImplementation 'org.robolectric:robolectric:4.13' + customDependencies(this, configuration) appPermissionsDependencies(configuration) infoWindowDependencies(this, configuration) diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java new file mode 100644 index 00000000..86dac07e --- /dev/null +++ b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java @@ -0,0 +1,46 @@ +package io.ona.kujaku.helpers; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; + +import com.karumi.dexter.MultiplePermissionsReport; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.robolectric.Robolectric; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; + +import io.ona.kujaku.utils.KujakuMultiplePermissionListener; + +@RunWith(RobolectricTestRunner.class) +@Config(sdk = 28) +public class PermissionsHelperTest { + + private Context mockContext; + + @Before + public void setUp() { + MockitoAnnotations.openMocks(this); + // Use a real context + mockContext = Robolectric.setupActivity(Activity.class).getApplicationContext(); + } + + @Test + public void testOnPermissionsChecked_WhenAnyPermissionPermanentlyDenied() { + MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); + Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(true); + Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); + KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); + listener.onPermissionsChecked(report); + + // Check that the dialog was created with the expected properties + Mockito.verify(report).isAnyPermissionPermanentlyDenied(); + } +} From 23c96102f81077889ab2bd73cd5b0b7d8b5414bf Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 10:53:02 +0300 Subject: [PATCH 2/8] Revert to original implementation. Signed-off-by: Lentumunai-Mark --- .../ona/kujaku/helpers/PermissionsHelper.java | 28 +++++++++++-------- .../kujaku/helpers/PermissionsHelperTest.java | 15 ++++------ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java b/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java index 021e0091..f5b0f6f4 100644 --- a/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java +++ b/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java @@ -19,23 +19,29 @@ public class PermissionsHelper { public static void checkPermissions(String TAG, Context context) { if (context instanceof Activity) { - List permissions = new ArrayList<>(); - permissions.add(Manifest.permission.ACCESS_FINE_LOCATION); - - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S) { - permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); - } final Activity activity = (Activity) context; MultiplePermissionsListener dialogMultiplePermissionListener = new KujakuMultiplePermissionListener(activity); - Dexter.withActivity(activity) - .withPermissions(permissions) - .withListener(dialogMultiplePermissionListener) - .check(); + // Check permissions based on the Android version + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + // For Android versions below 13 + Dexter.withActivity(activity) + .withPermissions( + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) + .withListener(dialogMultiplePermissionListener) + .check(); + } else { + Dexter.withActivity(activity) + .withPermissions(Manifest.permission.ACCESS_FINE_LOCATION) + .withListener(dialogMultiplePermissionListener) + .check(); + } } else { - Timber.tag(TAG).wtf("KujakuMapView was not started in an activity!! This is very bad or it is being used in tests. We are going to ignore the permissions check! Good luck"); + Log.wtf(TAG, "KujakuMapView was not started in an activity!! This is very bad or it is being used in tests. We are going to ignore the permissions check! Good luck"); } } } diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java index 86dac07e..23b0f749 100644 --- a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java +++ b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java @@ -1,12 +1,7 @@ package io.ona.kujaku.helpers; import android.app.Activity; -import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; - -import com.karumi.dexter.MultiplePermissionsReport; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -15,15 +10,17 @@ import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; -import org.robolectric.annotation.Config; - +import com.karumi.dexter.MultiplePermissionsReport; import io.ona.kujaku.utils.KujakuMultiplePermissionListener; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 28) public class PermissionsHelperTest { - private Context mockContext; + @Mock + Context mockContext; + + @Mock + Activity mockActivity; @Before public void setUp() { From d6a8ab717243652560b3158ae6d783a2609104c8 Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 11:00:54 +0300 Subject: [PATCH 3/8] mockk when permissions denied. Signed-off-by: Lentumunai-Mark --- .../kujaku/helpers/PermissionsHelperTest.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java index 23b0f749..591f112a 100644 --- a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java +++ b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java @@ -1,5 +1,7 @@ package io.ona.kujaku.helpers; +import static org.junit.Assert.assertFalse; + import android.app.Activity; import android.content.Context; import org.junit.Before; @@ -19,9 +21,6 @@ public class PermissionsHelperTest { @Mock Context mockContext; - @Mock - Activity mockActivity; - @Before public void setUp() { MockitoAnnotations.openMocks(this); @@ -40,4 +39,18 @@ public void testOnPermissionsChecked_WhenAnyPermissionPermanentlyDenied() { // Check that the dialog was created with the expected properties Mockito.verify(report).isAnyPermissionPermanentlyDenied(); } + + @Test + public void testOnPermissionsChecked_WhenAnyPermissionNotPermanentlyDenied() { + MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); + Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(false); + Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); + KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); + listener.onPermissionsChecked(report); + + boolean result = report.isAnyPermissionPermanentlyDenied(); + + // Use the result in your assertions or further logic + assertFalse(result); + } } From 916eec30d5993ca8d5b0d2360e62cd65be8777a4 Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 11:16:53 +0300 Subject: [PATCH 4/8] Fix function naming. Signed-off-by: Lentumunai-Mark --- .../java/io/ona/kujaku/helpers/PermissionsHelperTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java index 591f112a..b7f2483d 100644 --- a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java +++ b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java @@ -29,7 +29,7 @@ public void setUp() { } @Test - public void testOnPermissionsChecked_WhenAnyPermissionPermanentlyDenied() { + public void testOnPermissionsCheckedWhenAnyPermissionPermanentlyDenied() { MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(true); Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); @@ -41,7 +41,7 @@ public void testOnPermissionsChecked_WhenAnyPermissionPermanentlyDenied() { } @Test - public void testOnPermissionsChecked_WhenAnyPermissionNotPermanentlyDenied() { + public void testOnPermissionsCheckedWhenAnyPermissionNotPermanentlyDenied() { MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(false); Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); From 0ad0a69b1c74a70b0aa53bb27d99816a45e5893b Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 11:25:38 +0300 Subject: [PATCH 5/8] Remove file. Signed-off-by: Lentumunai-Mark --- .../kujaku/helpers/PermissionsHelperTest.java | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java deleted file mode 100644 index b7f2483d..00000000 --- a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.ona.kujaku.helpers; - -import static org.junit.Assert.assertFalse; - -import android.app.Activity; -import android.content.Context; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.robolectric.Robolectric; -import org.robolectric.RobolectricTestRunner; -import com.karumi.dexter.MultiplePermissionsReport; -import io.ona.kujaku.utils.KujakuMultiplePermissionListener; - -@RunWith(RobolectricTestRunner.class) -public class PermissionsHelperTest { - - @Mock - Context mockContext; - - @Before - public void setUp() { - MockitoAnnotations.openMocks(this); - // Use a real context - mockContext = Robolectric.setupActivity(Activity.class).getApplicationContext(); - } - - @Test - public void testOnPermissionsCheckedWhenAnyPermissionPermanentlyDenied() { - MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); - Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(true); - Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); - KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); - listener.onPermissionsChecked(report); - - // Check that the dialog was created with the expected properties - Mockito.verify(report).isAnyPermissionPermanentlyDenied(); - } - - @Test - public void testOnPermissionsCheckedWhenAnyPermissionNotPermanentlyDenied() { - MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); - Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(false); - Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); - KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); - listener.onPermissionsChecked(report); - - boolean result = report.isAnyPermissionPermanentlyDenied(); - - // Use the result in your assertions or further logic - assertFalse(result); - } -} From c8d44fba3fe5f0dee8bf97f55722df00985cad86 Mon Sep 17 00:00:00 2001 From: Lentumunai-Mark Date: Mon, 14 Oct 2024 11:35:30 +0300 Subject: [PATCH 6/8] undo delete test file. Signed-off-by: Lentumunai-Mark --- .../ona/kujaku/helpers/PermissionsHelper.java | 28 ++++------ .../kujaku/helpers/PermissionsHelperTest.java | 56 +++++++++++++++++++ 2 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java diff --git a/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java b/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java index f5b0f6f4..021e0091 100644 --- a/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java +++ b/library/src/main/java/io/ona/kujaku/helpers/PermissionsHelper.java @@ -19,29 +19,23 @@ public class PermissionsHelper { public static void checkPermissions(String TAG, Context context) { if (context instanceof Activity) { + List permissions = new ArrayList<>(); + permissions.add(Manifest.permission.ACCESS_FINE_LOCATION); + + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S) { + permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); + } final Activity activity = (Activity) context; MultiplePermissionsListener dialogMultiplePermissionListener = new KujakuMultiplePermissionListener(activity); - // Check permissions based on the Android version - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - // For Android versions below 13 - Dexter.withActivity(activity) - .withPermissions( - Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.WRITE_EXTERNAL_STORAGE - ) - .withListener(dialogMultiplePermissionListener) - .check(); - } else { - Dexter.withActivity(activity) - .withPermissions(Manifest.permission.ACCESS_FINE_LOCATION) - .withListener(dialogMultiplePermissionListener) - .check(); - } + Dexter.withActivity(activity) + .withPermissions(permissions) + .withListener(dialogMultiplePermissionListener) + .check(); } else { - Log.wtf(TAG, "KujakuMapView was not started in an activity!! This is very bad or it is being used in tests. We are going to ignore the permissions check! Good luck"); + Timber.tag(TAG).wtf("KujakuMapView was not started in an activity!! This is very bad or it is being used in tests. We are going to ignore the permissions check! Good luck"); } } } diff --git a/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java new file mode 100644 index 00000000..b7f2483d --- /dev/null +++ b/library/src/test/java/io/ona/kujaku/helpers/PermissionsHelperTest.java @@ -0,0 +1,56 @@ +package io.ona.kujaku.helpers; + +import static org.junit.Assert.assertFalse; + +import android.app.Activity; +import android.content.Context; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.robolectric.Robolectric; +import org.robolectric.RobolectricTestRunner; +import com.karumi.dexter.MultiplePermissionsReport; +import io.ona.kujaku.utils.KujakuMultiplePermissionListener; + +@RunWith(RobolectricTestRunner.class) +public class PermissionsHelperTest { + + @Mock + Context mockContext; + + @Before + public void setUp() { + MockitoAnnotations.openMocks(this); + // Use a real context + mockContext = Robolectric.setupActivity(Activity.class).getApplicationContext(); + } + + @Test + public void testOnPermissionsCheckedWhenAnyPermissionPermanentlyDenied() { + MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); + Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(true); + Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); + KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); + listener.onPermissionsChecked(report); + + // Check that the dialog was created with the expected properties + Mockito.verify(report).isAnyPermissionPermanentlyDenied(); + } + + @Test + public void testOnPermissionsCheckedWhenAnyPermissionNotPermanentlyDenied() { + MultiplePermissionsReport report = Mockito.mock(MultiplePermissionsReport.class); + Mockito.when(report.isAnyPermissionPermanentlyDenied()).thenReturn(false); + Mockito.when(report.areAllPermissionsGranted()).thenReturn(false); + KujakuMultiplePermissionListener listener = new KujakuMultiplePermissionListener(mockContext); + listener.onPermissionsChecked(report); + + boolean result = report.isAnyPermissionPermanentlyDenied(); + + // Use the result in your assertions or further logic + assertFalse(result); + } +} From 8a174806f0862af63c033ada4a257d8d3137b565 Mon Sep 17 00:00:00 2001 From: Martin Ndegwa Date: Mon, 14 Oct 2024 12:38:08 +0300 Subject: [PATCH 7/8] =?UTF-8?q?Refactor=20mapbox.repo.token=20config=20to?= =?UTF-8?q?=20match=20gradle=20config=20mapbox.sdk.token=20=F0=9F=94=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 2 +- .github/workflows/library.yml | 2 +- .github/workflows/utils.yml | 2 +- build.gradle | 2 +- configs.gradle | 2 +- sample/README.md | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1adc77b1..17698385 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: sudo udevadm trigger --name-match=kvm - name: Create local.properties file - run: touch local.properties && echo "mapbox.repo.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties + run: touch local.properties && echo "mapbox.sdk.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties - name: Print Java version run: java -version diff --git a/.github/workflows/library.yml b/.github/workflows/library.yml index d6057597..2ce1e20c 100644 --- a/.github/workflows/library.yml +++ b/.github/workflows/library.yml @@ -34,7 +34,7 @@ jobs: java-version: 17 - name: Create local.properties file - run: touch local.properties && echo "mapbox.repo.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties + run: touch local.properties && echo "mapbox.sdk.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties - name: Print Java version run: java -version diff --git a/.github/workflows/utils.yml b/.github/workflows/utils.yml index 9fcd44c8..03ce438b 100644 --- a/.github/workflows/utils.yml +++ b/.github/workflows/utils.yml @@ -34,7 +34,7 @@ jobs: java-version: 17 - name: Create local.properties file - run: touch local.properties && echo "mapbox.repo.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties + run: touch local.properties && echo "mapbox.sdk.token=${{ secrets.MAPBOX_SDK_REPO_TOKEN }}" >> local.properties - name: Print Java version run: java -version diff --git a/build.gradle b/build.gradle index f4790a1e..20327bb5 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ allprojects { // This should always be `mapbox` (not your username). username = "mapbox" // Use the secret token you stored in gradle.properties as the password - password = localProperties['mapbox.repo.token'] ?: "" + password = localProperties['mapbox.sdk.token'] ?: "" } } maven{url "https://oss.sonatype.org/content/repositories/snapshots"} diff --git a/configs.gradle b/configs.gradle index 61c0adbf..ab9f684c 100644 --- a/configs.gradle +++ b/configs.gradle @@ -53,7 +53,7 @@ ext.getVersionName = getVersionName // LOAD PROPERTIES FILE Properties properties = new Properties() -String[] propertyKeys = ["cgr.username", "cgr.password", "cgr.url", "mapbox.sdk.token", "mapbox.repo.token"] +String[] propertyKeys = ["cgr.username", "cgr.password", "cgr.url", "mapbox.sdk.token"] if (project.rootProject.file("local.properties").exists()) { diff --git a/sample/README.md b/sample/README.md index e36ccf6f..e6544920 100644 --- a/sample/README.md +++ b/sample/README.md @@ -4,7 +4,7 @@ Use this sample application to view Kujaku's features. Add the following lines i `../local.properties` file before compiling this module: ``` -mapbox.repo.token="[YOUR MAPBOX REPO ACCESS TOKEN]" +mapbox.sdk.token="[YOUR MAPBOX REPO ACCESS TOKEN]" mapbox.sdk.token=[YOUR MAPBOX SDK TOKEN] cgr.username="[YOUR_CGR_USERNAME_WITHOUT_BRACKETS]" cgr.password="[YOUR_CGR_PASSWORD_WITHOUT_BRACKETS]" @@ -12,4 +12,4 @@ cgr.url="[CGR_URL_WITHOUT_BRACKETS]" ``` If you don't have a Mapbox account, [sign up](https://www.mapbox.com/signup/), and then navigate to your [Account](https://www.mapbox.com/account/) page. Copy your default public token to your clipboard then use it as `[YOUR MAPBOX SDK TOKEN]` above. Generate another token, a secret access token, that gives you access to `Downloads:Read` scope. This allows you to access the Mapbox repository with the dependencies -**NB: The `mapbox.sdk.token` has double quotation marks around the value while the `mapbox.repo.token` does not have double quotation marks around the value.** +**NB: The `mapbox.sdk.token` has double quotation marks around the value while the `mapbox.sdk.token` does not have double quotation marks around the value.** From d80eaf348de2e932efd367ff5dfad262097bc3aa Mon Sep 17 00:00:00 2001 From: Martin Ndegwa Date: Mon, 14 Oct 2024 13:12:59 +0300 Subject: [PATCH 8/8] Escape mapbox.sdk.token in the Gradle config files --- library/build.gradle | 4 ++-- sample/build.gradle | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/library/build.gradle b/library/build.gradle index cd6e0d94..1780dd6f 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -55,7 +55,7 @@ android { properties.load(project.rootProject.file("local.properties").newDataInputStream()) if (properties != null && properties.containsKey("mapbox.sdk.token")) { - buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", localProperties["mapbox.sdk.token"] + buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"" + localProperties["mapbox.sdk.token"] + "\"" } else { println("One of the required config variables is not set in your local.properties"); buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"sample_key\"" @@ -75,7 +75,7 @@ android { properties.load(project.rootProject.file("local.properties").newDataInputStream()) if (properties != null && properties.containsKey("mapbox.sdk.token")) { - buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", localProperties["mapbox.sdk.token"] + buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"" + localProperties["mapbox.sdk.token"] + "\"" } else { println("One of the required config variables is not set in your local.properties"); buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"sample_key\"" diff --git a/sample/build.gradle b/sample/build.gradle index 4922f264..605c46ae 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -37,7 +37,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", localProperties["mapbox.sdk.token"] + buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"" + localProperties["mapbox.sdk.token"] + "\"" buildConfigField "String", "CGR_USERNAME", localProperties["cgr.username"] buildConfigField "String", "CGR_PASSWORD", localProperties["cgr.password"] buildConfigField "String", "CGR_URL", localProperties["cgr.url"] @@ -47,7 +47,7 @@ android { debug { // See bug https://github.com/vanniktech/gradle-android-junit-jacoco-plugin/issues/183 testCoverageEnabled true - buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", localProperties["mapbox.sdk.token"] + buildConfigField "String", "MAPBOX_SDK_ACCESS_TOKEN", "\"" + localProperties["mapbox.sdk.token"] + "\"" buildConfigField "String", "CGR_USERNAME", localProperties["cgr.username"] buildConfigField "String", "CGR_PASSWORD", localProperties["cgr.password"] buildConfigField "String", "CGR_URL", localProperties["cgr.url"]