To be placed in a main parent Activity, or as part of some custom BaseActivity class for handling permission request and responses without losing the "flow".
Example usage:
btn_load_timeline?.setOnClickListener {
permissionCheck(Manifest.permission.READ_EXTERNAL_STORAGE, PermissionRequestCode.TIMELINE_FEATURE_EXTERNAL_STORAGE) { permissionResponse ->
when (permissionResponse) {
PermissionResponse.PERMISSION_GRANTED -> {
Log.d(TAG, "Permission granted, load timeline here")
// Do stuff with granted permission