Sample logic flow for Android location permissions

Sample of kotlin code checking if user has already granted permission to access the user's current location data.

// 1️⃣ Check first if users have given permission.

private fun isPermissionGranted() : Boolean {
   return ContextCompat.checkSelfPermission(
       Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED

// 2️⃣ If users have given permission, enable the location data layer.
//    If not, prompt user to grant permission. 

private fun enableMyLocation() {
    if (isPermissionGranted()) {
        map.isMyLocationEnabled = true
    else {

// 3️⃣ Callback for the result from requesting permissions.
//    This method is invoked for every call on 
//    requestPermissions(, String[], int).

override fun onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<String>,
    grantResults: IntArray) {
    // Check if location permissions are granted  
    // and if so enable the location data layer.
    if (requestCode == REQUEST_LOCATION_PERMISSION) {
        if (grantResults.contains(PackageManager.PERMISSION_GRANTED)) {

  To trigger the check, call the enableMyLocation() function inside the onMapReady block.