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() {