diff --git a/build.gradle b/build.gradle index eeb68e8..d112e9d 100644 --- a/build.gradle +++ b/build.gradle @@ -48,6 +48,10 @@ buildscript { } } +plugins { + id "org.jetbrains.dokka" version "1.4.20" +} + allprojects { repositories { google() diff --git a/library/build.gradle b/library/build.gradle index a6d9ea2..c1c1180 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -24,6 +24,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' +apply plugin: 'org.jetbrains.dokka' android { @@ -47,6 +48,9 @@ android { lintOptions { abortOnError false } + kotlinOptions { + freeCompilerArgs += '-Xexplicit-api=strict' + } } dependencies { diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/AskAgainCallback.kt b/library/src/main/java/com/raphaelbussa/permissionutils/AskAgainCallback.kt index 390bbc4..42f220f 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/AskAgainCallback.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/AskAgainCallback.kt @@ -26,16 +26,16 @@ package com.raphaelbussa.permissionutils /** * Created by com.raphaelbussa on 22/06/16. */ -fun interface AskAgainCallback { +public fun interface AskAgainCallback { /** * @param response user response */ - fun showRequestPermission(response: UserResponse) + public fun showRequestPermission(response: UserResponse) - fun interface UserResponse { + public fun interface UserResponse { /** * @param askAgain the response from the user if allow to ask again a permission */ - fun result(askAgain: Boolean) + public fun result(askAgain: Boolean) } } \ No newline at end of file diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/FullCallback.kt b/library/src/main/java/com/raphaelbussa/permissionutils/FullCallback.kt index 9d843b7..d620193 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/FullCallback.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/FullCallback.kt @@ -28,14 +28,14 @@ import java.util.* /** * Created by com.raphaelbussa on 22/06/16. */ -fun interface FullCallback { +public fun interface FullCallback { /** * @param permissionsGranted list of permission granted * @param permissionsDenied list of permission denied * @param permissionsDeniedForever list of permission denied forever * @param permissionsAsked list of permission asked */ - fun result( + public fun result( permissionsGranted: List, permissionsDenied: List, permissionsDeniedForever: List, diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionConstant.kt b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionConstant.kt index 0312ee7..ddcdd0b 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionConstant.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionConstant.kt @@ -26,6 +26,6 @@ package com.raphaelbussa.permissionutils /** * Created by com.raphaelbussa on 22/06/16. */ -object PermissionConstant { +internal object PermissionConstant { const val KEY_PERMISSION = 100 } \ No newline at end of file diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionManager.kt b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionManager.kt index 2a277dc..9fce0bf 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionManager.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionManager.kt @@ -33,7 +33,7 @@ import java.util.* /** * Created by com.raphaelbussa on 22/06/16. */ -class PermissionManager { +public class PermissionManager { private var fullCallback: FullCallback? = null private var simpleCallback: SimpleCallback? = null @@ -54,7 +54,7 @@ class PermissionManager { * @param permissions an array of permission that you need to ask * @return current instance */ - fun permissions(permissions: List): PermissionManager { + public fun permissions(permissions: List): PermissionManager { this.permissions.clear() this.permissions.addAll(permissions) return this @@ -64,7 +64,7 @@ class PermissionManager { * @param permission permission you need to ask * @return current instance */ - fun permission(permission: String): PermissionManager { + public fun permission(permission: String): PermissionManager { permissions.clear() permissions.add(permission) return this @@ -74,7 +74,7 @@ class PermissionManager { * @param permissions permission you need to ask * @return current instance */ - fun permission(vararg permissions: String): PermissionManager { + public fun permission(vararg permissions: String): PermissionManager { this.permissions.clear() this.permissions.addAll(permissions.toList()) return this @@ -84,7 +84,7 @@ class PermissionManager { * @param askAgain ask again when permission not granted * @return current instance */ - fun askAgain(askAgain: Boolean): PermissionManager { + public fun askAgain(askAgain: Boolean): PermissionManager { this.askAgain = askAgain return this } @@ -93,7 +93,7 @@ class PermissionManager { * @param fullCallback set fullCallback for the request * @return current instance */ - fun callback(fullCallback: FullCallback): PermissionManager { + public fun callback(fullCallback: FullCallback): PermissionManager { this.simpleCallback = null this.smartCallback = null this.fullCallback = fullCallback @@ -104,7 +104,7 @@ class PermissionManager { * @param simpleCallback set simpleCallback for the request * @return current instance */ - fun callback(simpleCallback: SimpleCallback): PermissionManager { + public fun callback(simpleCallback: SimpleCallback): PermissionManager { this.fullCallback = null this.smartCallback = null this.simpleCallback = simpleCallback @@ -115,7 +115,7 @@ class PermissionManager { * @param smartCallback set smartCallback for the request * @return current instance */ - fun callback(smartCallback: SmartCallback): PermissionManager { + public fun callback(smartCallback: SmartCallback): PermissionManager { fullCallback = null simpleCallback = null this.smartCallback = smartCallback @@ -126,7 +126,7 @@ class PermissionManager { * @param askAgainCallback set askAgainCallback for the request * @return current instance */ - fun askAgainCallback(askAgainCallback: AskAgainCallback): PermissionManager { + public fun askAgainCallback(askAgainCallback: AskAgainCallback): PermissionManager { this.askAgainCallback = askAgainCallback return this } @@ -135,7 +135,7 @@ class PermissionManager { * @param key set a custom request code * @return current instance */ - fun key(key: Int): PermissionManager { + public fun key(key: Int): PermissionManager { this.key = key return this } @@ -144,7 +144,7 @@ class PermissionManager { * @param activity target activity * just start all permission manager */ - fun ask(activity: Activity) { + public fun ask(activity: Activity) { ask(activity, null) } @@ -152,7 +152,7 @@ class PermissionManager { * @param fragmentX target v4 fragment * just start all permission manager */ - fun ask(fragment: Fragment) { + public fun ask(fragment: Fragment) { ask(null, fragment) } @@ -225,7 +225,7 @@ class PermissionManager { instance = null } - companion object { + public companion object { private var instance: PermissionManager? = null /** @@ -233,7 +233,7 @@ class PermissionManager { */ @Suppress("FunctionName") @JvmStatic - fun Builder(): PermissionManager { + public fun Builder(): PermissionManager { return PermissionManager().also { instance = it } } @@ -243,7 +243,7 @@ class PermissionManager { * @param permissions permissions * @param grantResults grantResults */ - fun handleResult( + public fun handleResult( activity: Activity, requestCode: Int, permissions: Array, @@ -258,7 +258,7 @@ class PermissionManager { * @param permissions permissions * @param grantResults grantResults */ - fun handleResult( + public fun handleResult( fragment: Fragment, requestCode: Int, permissions: Array, diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionUtils.kt b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionUtils.kt index 2669113..f47fa1d 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/PermissionUtils.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/PermissionUtils.kt @@ -34,14 +34,14 @@ import androidx.core.content.ContextCompat /** * Created by com.raphaelbussa on 22/06/16. */ -object PermissionUtils { +public object PermissionUtils { /** * @param context current context * @param permission permission to check * @return if permission is granted return true */ @JvmStatic - fun isGranted(context: Context, permission: String): Boolean { + public fun isGranted(context: Context, permission: String): Boolean { return Build.VERSION.SDK_INT < Build.VERSION_CODES.M || ContextCompat.checkSelfPermission( context, permission @@ -54,7 +54,7 @@ object PermissionUtils { * @return if one of permission is not granted return false */ @JvmStatic - fun isGranted(context: Context, vararg permission: String): Boolean { + public fun isGranted(context: Context, vararg permission: String): Boolean { for (permissionEnum in permission) { if (!isGranted(context, permissionEnum)) { return false @@ -68,7 +68,7 @@ object PermissionUtils { * @return an intent to start for open settings app */ @JvmStatic - fun openApplicationSettings(packageName: String): Intent { + public fun openApplicationSettings(packageName: String): Intent { val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) intent.data = Uri.parse("package:$packageName") return intent @@ -79,7 +79,7 @@ object PermissionUtils { * @param packageName package name of your app */ @JvmStatic - fun openApplicationSettings(context: Context, packageName: String) { + public fun openApplicationSettings(context: Context, packageName: String) { context.startActivity(openApplicationSettings(packageName)) } } \ No newline at end of file diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/SimpleCallback.kt b/library/src/main/java/com/raphaelbussa/permissionutils/SimpleCallback.kt index 2945657..0af04e8 100755 --- a/library/src/main/java/com/raphaelbussa/permissionutils/SimpleCallback.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/SimpleCallback.kt @@ -26,9 +26,9 @@ package com.raphaelbussa.permissionutils /** * Created by com.raphaelbussa on 22/06/16. */ -fun interface SimpleCallback { +public fun interface SimpleCallback { /** * @param allPermissionsGranted true if all permissions are granted */ - fun result(allPermissionsGranted: Boolean) + public fun result(allPermissionsGranted: Boolean) } \ No newline at end of file diff --git a/library/src/main/java/com/raphaelbussa/permissionutils/SmartCallback.kt b/library/src/main/java/com/raphaelbussa/permissionutils/SmartCallback.kt index 52a61b5..a85fb87 100644 --- a/library/src/main/java/com/raphaelbussa/permissionutils/SmartCallback.kt +++ b/library/src/main/java/com/raphaelbussa/permissionutils/SmartCallback.kt @@ -26,10 +26,10 @@ package com.raphaelbussa.permissionutils /** * Created by com.raphaelbussa on 16/11/16. */ -fun interface SmartCallback { +public fun interface SmartCallback { /** * @param allPermissionsGranted true if all permissions are granted * @param somePermissionsDeniedForever true if one of asked permissions are denied forever */ - fun result(allPermissionsGranted: Boolean, somePermissionsDeniedForever: Boolean) + public fun result(allPermissionsGranted: Boolean, somePermissionsDeniedForever: Boolean) } \ No newline at end of file