mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-09 16:08:41 +01:00
- instead of using the OnImageSavedCallback, we now use the OnImageCaptureCallback and we play the sound in the onCapturedSuccess method to prevent the user from hearing the capture sound before the actual capture takes place - add ImageSaver and ImageUtil based on CameraX implementation - add sealed interfaces ImageCaptureOutput and VideoCaptureOutput to prevent confusion on the supported output format for images and video - ImageSaver supports saving images with all MediaOutput.ImageCaptureOutput that can be saved to disk; MediaStoreOutput, OutputStreamMediaOutput and FileMediaOutput (unused at the moment), it throws an UnsupportedOperation when trying to save a BitmapOutput. - with ImageSaver, we now have control of whether the Exif attributes are written to disk and so we can get rid of ExifRemover - delete the extension method ImageProxy.toJpegByteArray as we have a similar method in ImageUtils class
80 lines
2.4 KiB
Groovy
80 lines
2.4 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
|
|
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|
def keystoreProperties = new Properties()
|
|
if (keystorePropertiesFile.exists()) {
|
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 33
|
|
|
|
defaultConfig {
|
|
applicationId "com.simplemobiletools.camera"
|
|
minSdkVersion 29
|
|
targetSdkVersion 33
|
|
versionCode 77
|
|
versionName "5.3.1"
|
|
setProperty("archivesBaseName", "camera")
|
|
vectorDrawables.useSupportLibrary = true
|
|
}
|
|
|
|
signingConfigs {
|
|
if (keystorePropertiesFile.exists()) {
|
|
release {
|
|
keyAlias keystoreProperties['keyAlias']
|
|
keyPassword keystoreProperties['keyPassword']
|
|
storeFile file(keystoreProperties['storeFile'])
|
|
storePassword keystoreProperties['storePassword']
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
if (keystorePropertiesFile.exists()) {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
}
|
|
|
|
flavorDimensions "variants"
|
|
productFlavors {
|
|
core {}
|
|
fdroid {}
|
|
prepaid {}
|
|
}
|
|
|
|
sourceSets {
|
|
main.java.srcDirs += 'src/main/kotlin'
|
|
}
|
|
|
|
lintOptions {
|
|
checkReleaseBuilds false
|
|
abortOnError false
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.github.SimpleMobileTools:Simple-Commons:2e9ca234a7'
|
|
implementation 'androidx.documentfile:documentfile:1.0.1'
|
|
implementation "androidx.exifinterface:exifinterface:1.3.4"
|
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
|
|
implementation 'androidx.window:window:1.1.0-alpha03'
|
|
|
|
def camerax_version = '1.2.0-beta02'
|
|
implementation "androidx.camera:camera-core:$camerax_version"
|
|
implementation "androidx.camera:camera-camera2:$camerax_version"
|
|
implementation "androidx.camera:camera-video:$camerax_version"
|
|
implementation "androidx.camera:camera-extensions:$camerax_version"
|
|
implementation "androidx.camera:camera-lifecycle:$camerax_version"
|
|
implementation "androidx.camera:camera-view:$camerax_version"
|
|
}
|