Skip to content

Instantly share code, notes, and snippets.

View seanashmore's full-sized avatar

Sean Ashmore seanashmore

  • Northern Ireland
View GitHub Profile
@seanashmore
seanashmore / checkPermissions.kt
Created November 7, 2020 13:36
Android - Basic check for camera permission
fun hasCameraPermission() = ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
@seanashmore
seanashmore / createImageFile.kt
Created November 7, 2020 13:40
Android - Launching request for single permission with callback
fun createImageFile(): File {
val timeStamp = SimpleDateFormat.getDateTimeInstance().format(Date())
val storageDir = getPicturesDirectory()
return File.createTempFile(
"JPEG_${timeStamp}_",
".jpg",
storageDir
).apply {
currentImagePath = absolutePath
@seanashmore
seanashmore / singlePermissionRequest.kt
Last active November 7, 2020 14:23
Activity Result API - Single Permission Request
private val requestSinglePermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
if (isGranted) {
showToast("Permission Granted.")
//Do something
} else {
showToast("Permission Denied.")
//crying mainly I'd imagine
}
}
@seanashmore
seanashmore / multiplePermissionsRequest.kt
Last active November 7, 2020 14:23
Activity Result API - Multiple Permissions
private val requestMultiplePermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { resultsMap ->
resultsMap.forEach {
Log.i(TAG, "Permission: ${it.key}, granted: ${it.value}")
}
}
@seanashmore
seanashmore / createImageFile.kt
Created November 7, 2020 14:02
Create image file Android
fun createImageFile(): File {
val timeStamp = SimpleDateFormat.getDateTimeInstance().format(Date())
val storageDir = getPicturesDirectory()
return File.createTempFile(
"JPEG_${timeStamp}_",
".jpg",
storageDir
).apply {
currentImagePath = absolutePath
@seanashmore
seanashmore / createCameraImageLauncher.kt
Created November 7, 2020 14:03
Activity Result API - launch camera
private val getCameraImage = registerForActivityResult(ActivityResultContracts.TakePicture()) { success ->
if (success) {
Log.i(TAG, "Got image at: $uri")
//Do something with the image uri, go nuts!
}
}
@seanashmore
seanashmore / launchMultiplePermissions.kt
Created November 7, 2020 14:37
Activity Result API - Launching multiple permissions
requestMultiplePermissionLauncher.launch(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA))
@seanashmore
seanashmore / androidXActivityDependencies.gradle
Last active November 11, 2020 16:47
AndroidX Activity Dependencies
dependencies {
def activity_version = "1.2.0-beta01"
// Java language implementation
implementation "androidx.activity:activity:$activity_version"
// Kotlin
implementation "androidx.activity:activity-ktx:$activity_version"
}
@seanashmore
seanashmore / androidXFragmentDependencies.gradle
Last active November 11, 2020 16:47
AndroidX Fragment Dependencies
dependencies {
def fragment_version = "1.3.0-beta01"
// Java language implementation
implementation "androidx.fragment:fragment:$fragment_version"
// Kotlin
implementation "androidx.fragment:fragment-ktx:$fragment_version"
}
@seanashmore
seanashmore / androidJetpackNavSimpleDependencies.gradle
Created November 12, 2020 23:37
Android Jetpack Navigation basic dependencies
def nav_version = "2.3.1"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"