Created
August 14, 2019 06:46
-
-
Save shikto1/ea9d04844d42e2b7fd36259af75a1753 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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