diff --git a/quickpermissions-kotlin/src/main/java/com/livinglifetechway/quickpermissions_kotlin/PermissionsManager.kt b/quickpermissions-kotlin/src/main/java/com/livinglifetechway/quickpermissions_kotlin/PermissionsManager.kt index c841b26..d737f72 100644 --- a/quickpermissions-kotlin/src/main/java/com/livinglifetechway/quickpermissions_kotlin/PermissionsManager.kt +++ b/quickpermissions-kotlin/src/main/java/com/livinglifetechway/quickpermissions_kotlin/PermissionsManager.kt @@ -15,11 +15,11 @@ private const val TAG = "runWithPermissions" * Injects code to ask for permissions before executing any code that requires permissions * defined in the annotation */ -fun Context?.runWithPermissions( +fun Context?.runWithPermissions( vararg permissions: String, options: QuickPermissionsOptions = QuickPermissionsOptions(), - callback: () -> Unit -): Any? { + callback: () -> T +): T { return runWithPermissionsHandler(this, permissions, callback, options) } @@ -27,15 +27,15 @@ fun Context?.runWithPermissions( * Injects code to ask for permissions before executing any code that requires permissions * defined in the annotation */ -fun Fragment?.runWithPermissions( +fun Fragment?.runWithPermissions( vararg permissions: String, options: QuickPermissionsOptions = QuickPermissionsOptions(), - callback: () -> Unit -): Any? { + callback: () -> T +): T { return runWithPermissionsHandler(this, permissions, callback, options) } -private fun runWithPermissionsHandler(target: Any?, permissions: Array, callback: () -> Unit, options: QuickPermissionsOptions): Nothing? { +private fun runWithPermissionsHandler(target: Any?, permissions: Array, callback: () -> T, options: QuickPermissionsOptions): T { Log.d(TAG, "runWithPermissions: start") // get the permissions defined in annotation @@ -54,7 +54,7 @@ private fun runWithPermissionsHandler(target: Any?, permissions: Array