Permissions Dialog is DialogFragment (non-fullscreen popup window) with buttons for request permissions and show granted status for them.
To start dialog from your activity or fragment use the code below:
private var permsFragment: PermissionsDialogFragment? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
permsFragment = PermissionsDialogFragment.newInstants(dismissIfAllGranted =
false)
permsFragment?.setPermissionsGrantedListener(object :
PermissionsDialogFragment.PermissionsGrantedListener {
override fun onGrantedStatus(allPermsGranted: Boolean) {
if (allPermsGranted) enableSDK() // enabled SDK if not enabled
}
})
}
private fun showPermissionsDialog() {
permsFragment?.let {
if (!permsFragment!!.isVisible) permsFragment?.show(supportFragmentManager, PermissionsDialogFragment.PERMISSION_FRAGMENT_TAG)
}
}
Where dismissIfAllGranted flag you set to true and dialog will be dismissed (closed) automatically when all permissions are granted. If flag is false dialog will not be disappeared when all permissions granted, user can do it by himself.