Skip to content

Instantly share code, notes, and snippets.

@shikto1
Created August 14, 2019 06:46
Show Gist options
  • Save shikto1/ea9d04844d42e2b7fd36259af75a1753 to your computer and use it in GitHub Desktop.
Save shikto1/ea9d04844d42e2b7fd36259af75a1753 to your computer and use it in GitHub Desktop.
private fun manageCamera() {
permissionUtils.checkPermission(
getContext(),
Manifest.permission.CAMERA,
object : PermissionUtils.OnPermissionAskListener {
override fun onNeedPermission() {
ActivityCompat.requestPermissions(
this@AddComplaintsActivity,
CAMERA_PERMISSION,
CODE_CAMERA_PERMISSION
)
}
override fun onPermissionPreviouslyDenied() {
mAlertService.showAlertForConfirmation(this@AddComplaintsActivity,
getString(R.string.permission_required),
getString(R.string.permission_camera_denied_one),
getString(R.string.cancel),
getString(R.string.buttoin_continue),
object : AlertService.AlertListener {
override fun negativeBtnDidTapped() {
// Nothing to do....
}
override fun positiveBtnDidTapped() {
ActivityCompat.requestPermissions(
this@AddComplaintsActivity,
CAMERA_PERMISSION,
CODE_CAMERA_PERMISSION
)
}
})
}
override fun onPermissionPreviouslyDeniedWithNeverAskAgain() {
mAlertService.showAlertForConfirmation(this@AddComplaintsActivity,
getString(R.string.permission_required),
getString(R.string.permission_camera_denied_two),
getString(R.string.cancel),
getString(R.string.settings),
object : AlertService.AlertListener {
override fun negativeBtnDidTapped() {
}
override fun positiveBtnDidTapped() {
AppUtils.shared.goToSettings(getContext())
}
})
}
override fun onPermissionGranted() {
AppUtils.shared.openCamera(getContext(), CODE_PICK_PHOTO)
}
})
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
when (requestCode) {
CODE_CAMERA_PERMISSION -> {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED)
AppUtils.shared.openCamera(getContext(), CODE_PICK_PHOTO)
else {
mAlertService.showAlertForConfirmation(this@AddComplaintsActivity,
getString(R.string.permission_required),
getString(R.string.permission_camera_denied_one),
getString(R.string.cancel),
getString(R.string.buttoin_continue),
object : AlertService.AlertListener {
override fun negativeBtnDidTapped() {
// Nothing to do....
}
override fun positiveBtnDidTapped() {
manageCamera()
}
})
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK) {
when (requestCode) {
CODE_PICK_PHOTO -> {
if (data != null) {
assert(data.extras != null)
val photo = data.extras!!.get("data") as Bitmap // Get bitmap then save to images and get path.
imgComplaint.setImageBitmap(photo)
val bytes = ByteArrayOutputStream()
photo.compress(Bitmap.CompressFormat.JPEG, 70, bytes)
// val path = MediaStore.Images.Media.insertImage(contentResolver, photo, Date().time.toString(), null)
// attachmentUri = Uri.parse(path)
// startCropImageActivity(attachmentUri)
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment