After buying from CodeCanyon I configure the app, everything was working fine but can’t upload multiple images.
Update this line of code will solve the issue:

if (checkPermission(PERMISSIONS_REQUEST_CAMERA, true) &&
checkPermission(PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE, true)) {
if (PreferenceUtils.getInstance().getBooleanValue(Constants.KEY_FILE_UPLOAD_ENABLE, true)) {
if (mFilePath != null) {
mFilePath!!.onReceiveValue(null)
}
mFilePath = filePathCallback
var takePictureIntent: Intent? = null
if (PreferenceUtils.getInstance().getBooleanValue(Constants.KEY_PHOTO_UPLOAD_ENABLE, true)) {
takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
if (takePictureIntent.resolveActivity(this@HomeActivity.packageManager) != null) {
var photoFile: File? = null
try {
photoFile = createImageFile()
takePictureIntent.putExtra("PhotoPath", mFileCamMessage)
} catch (ex: IOException) {
Log.e(TAG, "Image file creation failed", ex)
}
if (photoFile != null) {
mFileCamMessage = "file:" + photoFile.absolutePath
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile))
} else {
takePictureIntent = null
}
}
}
val contentSelectionIntent = Intent(Intent.ACTION_GET_CONTENT)
if (PreferenceUtils.getInstance().getBooleanValue(Constants.KEY_MULTIPLE_FILE_UPLOAD_ENABLE, false)) {
contentSelectionIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
contentSelectionIntent.type = "*/*"
}
if (PreferenceUtils.getInstance().getBooleanValue(Constants.KEY_CAMERA_PHOTO_UPLOAD_ENABLE, false)) {
contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
contentSelectionIntent.type = "image/*"
}
val intentArray: Array<Intent?>
if (takePictureIntent != null) {
intentArray = arrayOf(takePictureIntent)
} else {
intentArray = arrayOfNulls(0)
}
val chooserIntent = Intent(Intent.ACTION_CHOOSER)
chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent)
chooserIntent.putExtra(Intent.EXTRA_TITLE, getString(R.string.label_file_chooser))
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray)
startActivityForResult(chooserIntent, FILE_CHOOSER)
return true
} else {
return false
}
}

override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
if (requestCode == REQUEST_CODE_IMMEDIATE_UPDATE) {
when (resultCode) {
Activity.RESULT_OK -> {
UtilMethods.showLongToast(mContext, "Application update successfully!")
}
Activity.RESULT_CANCELED -> {
UtilMethods.showLongToast(mContext, "Application update is mandatory!")
}
ActivityResult.RESULT_IN_APP_UPDATE_FAILED -> {
UtilMethods.showLongToast(mContext, "Application update is mandatory!")
}
}
}
if (Build.VERSION.SDK_INT >= 21) {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window.statusBarColor = resources.getColor(R.color.colorPrimary)
var results: Array<Uri>? = null
if (resultCode == Activity.RESULT_OK) {
if (requestCode == FILE_CHOOSER) {
if (mFilePath == null) {
return
}
if (intent == null || intent.data == null) {
if (mFileCamMessage != null) {
results = arrayOf(Uri.parse(mFileCamMessage))
}
} else {
val dataString = intent.dataString
if (intent.clipData != null) {
val numSelectedFiles: Int = intent.clipData?.itemCount?: 0
results = Array(numSelectedFiles) { Uri.EMPTY}
for (i in 0 until numSelectedFiles) {
results[i] = intent.clipData!!.getItemAt(i).uri
}
}else if (dataString != null) {
results = arrayOf(Uri.parse(dataString))
}else{
UtilMethods.printLog(TAG, "Image upload data is empty!")
}
}
}
}
mFilePath!!.onReceiveValue(results)
mFilePath = null
} else {
if (requestCode == FILE_CHOOSER) {
if (null == mFileMessage) return
val result = if (intent == null || resultCode != Activity.RESULT_OK) null else intent.data
mFileMessage?.onReceiveValue(result)
mFileMessage = null
}
}
}
You should release these updates on Codecanyon.
The new version under testing will update soon.