Skip to content

Commit

Permalink
[expo-permissions] Fix lateinit
Browse files Browse the repository at this point in the history
  • Loading branch information
lukmccall committed Apr 27, 2020
1 parent 43b9040 commit 1433808
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package versioned.host.exp.exponent.modules.universal

import android.content.Context
import android.content.pm.PackageManager
import androidx.core.content.ContextCompat
import expo.modules.permissions.PermissionsService
import host.exp.exponent.di.NativeModuleDepsProvider
Expand All @@ -12,8 +13,9 @@ import javax.inject.Inject

class ScopedPermissionsService(context: Context, val experienceId: ExperienceId) : PermissionsService(context) {

// This variable cannot be lateinit, cause the Location module gets permissions before this module initialized.
@Inject
lateinit var mExpoKernelServiceRegistry: ExpoKernelServiceRegistry
var mExpoKernelServiceRegistry: ExpoKernelServiceRegistry? = null

override fun onCreate(moduleRegistry: ModuleRegistry) {
super.onCreate(moduleRegistry)
Expand All @@ -28,7 +30,7 @@ class ScopedPermissionsService(context: Context, val experienceId: ExperienceId)
// We override this to scoped permissions in the headless mode.
override fun getManifestPermissionFromContext(permission: String): Int {
val globalPermissions = ContextCompat.checkSelfPermission(context, permission)
return mExpoKernelServiceRegistry.permissionsKernelService.getFinalPermissions(globalPermissions, context.packageManager, permission, experienceId)
return mExpoKernelServiceRegistry?.permissionsKernelService?.getFinalPermissions(globalPermissions, context.packageManager, permission, experienceId) ?: PackageManager.PERMISSION_DENIED
}

}

0 comments on commit 1433808

Please sign in to comment.