Merge branch 'lineage-21.0' of https://github.com/LineageOS/android_packages_apps_Aperture into leaf-3.2
Change-Id: Ib76c1063705267b9627b2de4b204c92dc8233350
diff --git a/app/Android.bp b/app/Android.bp
index 63a537e..42c6c78 100644
--- a/app/Android.bp
+++ b/app/Android.bp
@@ -20,6 +20,8 @@
product_specific: true,
overrides: ["Camera2"],
+ use_embedded_native_libs: true,
+
required: [
"ApertureFrameworksBaseOverlay",
"ApertureLensLauncher",
@@ -40,6 +42,7 @@
"Aperture_androidx.camera_camera-lifecycle",
"Aperture_androidx.camera_camera-video",
"Aperture_androidx.camera_camera-view",
+ "Aperture_androidx.camera_camera-viewfinder",
"Aperture_androidx.camera_camera-extensions",
"Aperture_androidx.media3_media3-exoplayer",
"Aperture_androidx.media3_media3-ui",
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index cb5ac39..4654e64 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -18,7 +18,7 @@
buildscript {
repositories {
- maven("https://raw.githubusercontent.com/lineage-next/gradle-generatebp/v1.7/.m2")
+ maven("https://raw.githubusercontent.com/lineage-next/gradle-generatebp/v1.9/.m2")
}
dependencies {
@@ -84,7 +84,7 @@
implementation("com.google.android.material:material:1.9.0")
// CameraX core library using the camera2 implementation
- val cameraxVersion = "1.4.0-alpha04"
+ val cameraxVersion = "1.4.0-beta01"
// The following line is optional, as the core library is included indirectly by camera-camera2
implementation("androidx.camera:camera-core:${cameraxVersion}")
implementation("androidx.camera:camera-camera2:${cameraxVersion}")
@@ -94,6 +94,8 @@
implementation("androidx.camera:camera-video:${cameraxVersion}")
// If you want to additionally use the CameraX View class
implementation("androidx.camera:camera-view:${cameraxVersion}")
+ // If you want to additionally use the CameraX Viewfinder class
+ implementation("androidx.camera:camera-viewfinder:1.4.0-alpha06")
// If you want to additionally use the CameraX Extensions library
implementation("androidx.camera:camera-extensions:${cameraxVersion}")
diff --git a/app/libs/Android.bp b/app/libs/Android.bp
index 29ddf1b..538b852 100644
--- a/app/libs/Android.bp
+++ b/app/libs/Android.bp
@@ -7,7 +7,7 @@
android_library_import {
name: "Aperture_androidx.camera_camera-camera2-nodeps",
- aars: ["androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -32,7 +32,7 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-camera2-nodeps",
"Aperture_androidx.camera_camera-core",
@@ -47,7 +47,7 @@
android_library_import {
name: "Aperture_androidx.camera_camera-core-nodeps",
- aars: ["androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -59,13 +59,16 @@
"androidx.annotation_annotation",
"androidx.annotation_annotation-experimental",
"androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
"androidx.core_core",
"androidx.exifinterface_exifinterface",
"androidx.lifecycle_lifecycle-livedata",
"auto_value_annotations",
"guava",
"kotlin-stdlib",
+ "kotlinx-coroutines-android",
],
+ extract_jni: true,
}
android_library {
@@ -76,26 +79,28 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-core-nodeps",
"Aperture_androidx.lifecycle_lifecycle-common",
"androidx.annotation_annotation",
"androidx.annotation_annotation-experimental",
"androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
"androidx.core_core",
"androidx.exifinterface_exifinterface",
"androidx.lifecycle_lifecycle-livedata",
"auto_value_annotations",
"guava",
"kotlin-stdlib",
+ "kotlinx-coroutines-android",
],
java_version: "1.7",
}
android_library_import {
name: "Aperture_androidx.camera_camera-extensions-nodeps",
- aars: ["androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -119,7 +124,7 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-extensions-nodeps",
"Aperture_androidx.camera_camera-core",
@@ -133,7 +138,7 @@
android_library_import {
name: "Aperture_androidx.camera_camera-lifecycle-nodeps",
- aars: ["androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -144,9 +149,11 @@
"Aperture_androidx.camera_camera-core",
"Aperture_androidx.lifecycle_lifecycle-common",
"androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
"androidx.core_core",
"auto_value_annotations",
"guava",
+ "kotlinx-coroutines-android",
],
}
@@ -158,22 +165,24 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-lifecycle-nodeps",
"Aperture_androidx.camera_camera-core",
"Aperture_androidx.lifecycle_lifecycle-common",
"androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
"androidx.core_core",
"auto_value_annotations",
"guava",
+ "kotlinx-coroutines-android",
],
java_version: "1.7",
}
android_library_import {
name: "Aperture_androidx.camera_camera-video-nodeps",
- aars: ["androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -197,7 +206,7 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-video-nodeps",
"Aperture_androidx.camera_camera-core",
@@ -211,7 +220,7 @@
android_library_import {
name: "Aperture_androidx.camera_camera-view-nodeps",
- aars: ["androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar"],
+ aars: ["androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar"],
sdk_version: "34",
min_sdk_version: "14",
apex_available: [
@@ -241,7 +250,7 @@
"//apex_available:platform",
"//apex_available:anyapex",
],
- manifest: "androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml",
+ manifest: "androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml",
static_libs: [
"Aperture_androidx.camera_camera-view-nodeps",
"Aperture_androidx.camera_camera-core",
@@ -259,6 +268,108 @@
java_version: "1.7",
}
+android_library_import {
+ name: "Aperture_androidx.camera_camera-viewfinder-nodeps",
+ aars: ["androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar"],
+ sdk_version: "34",
+ min_sdk_version: "14",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ static_libs: [
+ "Aperture_androidx.camera_camera-viewfinder-core",
+ "androidx.annotation_annotation",
+ "androidx.annotation_annotation-experimental",
+ "androidx.appcompat_appcompat",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
+ "androidx.core_core",
+ "androidx.test.espresso.idling-resource",
+ "auto_value_annotations",
+ "guava",
+ "kotlinx-coroutines-android",
+ "kotlinx-coroutines-core",
+ ],
+}
+
+android_library {
+ name: "Aperture_androidx.camera_camera-viewfinder",
+ sdk_version: "34",
+ min_sdk_version: "14",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ manifest: "androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml",
+ static_libs: [
+ "Aperture_androidx.camera_camera-viewfinder-nodeps",
+ "Aperture_androidx.camera_camera-viewfinder-core",
+ "androidx.annotation_annotation",
+ "androidx.annotation_annotation-experimental",
+ "androidx.appcompat_appcompat",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
+ "androidx.core_core",
+ "androidx.test.espresso.idling-resource",
+ "auto_value_annotations",
+ "guava",
+ "kotlinx-coroutines-android",
+ "kotlinx-coroutines-core",
+ ],
+ java_version: "1.7",
+}
+
+android_library_import {
+ name: "Aperture_androidx.camera_camera-viewfinder-core-nodeps",
+ aars: ["androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar"],
+ sdk_version: "34",
+ min_sdk_version: "14",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ static_libs: [
+ "androidx.annotation_annotation",
+ "androidx.annotation_annotation-experimental",
+ "androidx.appcompat_appcompat",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
+ "androidx.core_core",
+ "androidx.test.espresso.idling-resource",
+ "auto_value_annotations",
+ "guava",
+ "kotlinx-coroutines-android",
+ "kotlinx-coroutines-core",
+ ],
+}
+
+android_library {
+ name: "Aperture_androidx.camera_camera-viewfinder-core",
+ sdk_version: "34",
+ min_sdk_version: "14",
+ apex_available: [
+ "//apex_available:platform",
+ "//apex_available:anyapex",
+ ],
+ manifest: "androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml",
+ static_libs: [
+ "Aperture_androidx.camera_camera-viewfinder-core-nodeps",
+ "androidx.annotation_annotation",
+ "androidx.annotation_annotation-experimental",
+ "androidx.appcompat_appcompat",
+ "androidx.concurrent_concurrent-futures",
+ "androidx.concurrent_concurrent-futures-ktx",
+ "androidx.core_core",
+ "androidx.test.espresso.idling-resource",
+ "auto_value_annotations",
+ "guava",
+ "kotlinx-coroutines-android",
+ "kotlinx-coroutines-core",
+ ],
+ java_version: "1.7",
+}
+
java_import {
name: "Aperture_androidx.lifecycle_lifecycle-common-nodeps",
jars: ["androidx/lifecycle/lifecycle-common/2.6.2/lifecycle-common-2.6.2.jar"],
diff --git a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar
deleted file mode 100644
index 012924a..0000000
--- a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml
similarity index 96%
rename from app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml
index ac4e478..13fc0c5 100644
--- a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml
@@ -18,7 +18,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="androidx.camera.camera2" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
<application>
<service
diff --git a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-camera2/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar
new file mode 100644
index 0000000..152e65c
--- /dev/null
+++ b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-camera2/1.4.0-alpha04/camera-camera2-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-camera2/1.4.0-beta01/camera-camera2-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar
deleted file mode 100644
index eecf60b..0000000
--- a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml
similarity index 96%
rename from app/libs/androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml
index 1a10035..ab739d0 100644
--- a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml
@@ -18,7 +18,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="androidx.camera.core" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
<application>
diff --git a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-core/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-core/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar
new file mode 100644
index 0000000..23afec3
--- /dev/null
+++ b/app/libs/androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-core/1.4.0-alpha04/camera-core-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-core/1.4.0-beta01/camera-core-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar
deleted file mode 100644
index c560935..0000000
--- a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml
similarity index 95%
rename from app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml
index 945450c..5b60f00 100644
--- a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml
@@ -17,7 +17,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="androidx.camera.extensions" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
<queries>
<intent>
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-extensions/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar
new file mode 100644
index 0000000..3055756
--- /dev/null
+++ b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/camera-extensions-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-extensions/1.4.0-beta01/camera-extensions-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar
deleted file mode 100644
index 633851e..0000000
--- a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml
similarity index 78%
rename from app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml
index a311364..a57761e 100644
--- a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml
@@ -2,6 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="androidx.camera.lifecycle" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
</manifest>
\ No newline at end of file
diff --git a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar
new file mode 100644
index 0000000..a6f20e6
--- /dev/null
+++ b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-lifecycle/1.4.0-alpha04/camera-lifecycle-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-lifecycle/1.4.0-beta01/camera-lifecycle-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar
deleted file mode 100644
index 2c6d190..0000000
--- a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml
similarity index 78%
rename from app/libs/androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml
index 20f51b3..fdaa9c9 100644
--- a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml
@@ -2,6 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="androidx.camera.video" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
</manifest>
\ No newline at end of file
diff --git a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-video/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-video/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar
new file mode 100644
index 0000000..28dbbd5
--- /dev/null
+++ b/app/libs/androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-video/1.4.0-alpha04/camera-video-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-video/1.4.0-beta01/camera-video-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar b/app/libs/androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar
deleted file mode 100644
index f03cfe9..0000000
--- a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar
+++ /dev/null
Binary files differ
diff --git a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml
similarity index 78%
rename from app/libs/androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml
rename to app/libs/androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml
index ef780fc..3c71adb 100644
--- a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml
@@ -2,6 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="androidx.camera.view" >
- <uses-sdk android:minSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="21" />
</manifest>
\ No newline at end of file
diff --git a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml.license
similarity index 100%
rename from app/libs/androidx/camera/camera-view/1.4.0-alpha04/AndroidManifest.xml.license
rename to app/libs/androidx/camera/camera-view/1.4.0-beta01/AndroidManifest.xml.license
diff --git a/app/libs/androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar b/app/libs/androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar
new file mode 100644
index 0000000..5e98d35
--- /dev/null
+++ b/app/libs/androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar.license b/app/libs/androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar.license
similarity index 100%
rename from app/libs/androidx/camera/camera-view/1.4.0-alpha04/camera-view-1.4.0-alpha04.aar.license
rename to app/libs/androidx/camera/camera-view/1.4.0-beta01/camera-view-1.4.0-beta01.aar.license
diff --git a/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml
new file mode 100644
index 0000000..15f9973
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="androidx.camera.viewfinder.core" >
+
+ <uses-sdk android:minSdkVersion="21" />
+
+</manifest>
\ No newline at end of file
diff --git a/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml.license
new file mode 100644
index 0000000..7744a52
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/AndroidManifest.xml.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2023-2024 The Android Open Source Project
+
+SPDX-License-Identifier: Apache-2.0
diff --git a/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar
new file mode 100644
index 0000000..55fc402
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar.license b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar.license
new file mode 100644
index 0000000..7744a52
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder-core/1.4.0-alpha06/camera-viewfinder-core-1.4.0-alpha06.aar.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2023-2024 The Android Open Source Project
+
+SPDX-License-Identifier: Apache-2.0
diff --git a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml
similarity index 60%
copy from app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml
copy to app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml
index 945450c..ab9e6ff 100644
--- a/app/libs/androidx/camera/camera-extensions/1.4.0-alpha04/AndroidManifest.xml
+++ b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright 2019 The Android Open Source Project
+ Copyright 2022 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,20 +15,8 @@
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="androidx.camera.extensions" >
+ package="androidx.camera.viewfinder" >
- <uses-sdk android:minSdkVersion="19" />
-
- <queries>
- <intent>
- <action android:name="androidx.camera.extensions.action.VENDOR_ACTION" />
- </intent>
- </queries>
-
- <application>
- <uses-library
- android:name="androidx.camera.extensions.impl"
- android:required="false" />
- </application>
+ <uses-sdk android:minSdkVersion="21" />
</manifest>
\ No newline at end of file
diff --git a/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml.license b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml.license
new file mode 100644
index 0000000..9673da8
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/AndroidManifest.xml.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2022-2024 The Android Open Source Project
+
+SPDX-License-Identifier: Apache-2.0
diff --git a/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar
new file mode 100644
index 0000000..3a8e283
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar
Binary files differ
diff --git a/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar.license b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar.license
new file mode 100644
index 0000000..9673da8
--- /dev/null
+++ b/app/libs/androidx/camera/camera-viewfinder/1.4.0-alpha06/camera-viewfinder-1.4.0-alpha06.aar.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2022-2024 The Android Open Source Project
+
+SPDX-License-Identifier: Apache-2.0
diff --git a/app/src/main/java/androidx/camera/viewfinder/core/ZoomGestureDetector.kt b/app/src/main/java/androidx/camera/viewfinder/core/ZoomGestureDetector.kt
deleted file mode 100644
index 0b7d4ae..0000000
--- a/app/src/main/java/androidx/camera/viewfinder/core/ZoomGestureDetector.kt
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.camera.viewfinder.core
-
-import android.annotation.SuppressLint
-import android.content.Context
-import android.view.GestureDetector
-import android.view.MotionEvent
-import android.view.View
-import android.view.ViewConfiguration
-import androidx.annotation.IntDef
-import androidx.annotation.RequiresApi
-import androidx.annotation.RestrictTo
-import androidx.annotation.UiThread
-import androidx.camera.viewfinder.core.ZoomGestureDetector.OnZoomGestureListener
-import kotlin.math.abs
-import kotlin.math.hypot
-
-/**
- * Detector that interprets [MotionEvent]s and notify users when a zooming gesture has occurred.
- *
- * To use this class to do pinch-to-zoom on the viewfinder:
- * - In the [OnZoomGestureListener.onZoomEvent], get the [scaleFactor] and set it to
- * `CameraControl.setZoomRatio` if the factor is in the range of `ZoomState.getMinZoomRatio` and
- * `ZoomState.getMaxZoomRatio`. Then create an instance of the `ZoomGestureDetector` with the
- * [OnZoomGestureListener].
- * - In the [View.onTouchEvent], call [onTouchEvent] and pass the [MotionEvent]s to the
- * `ZoomGestureDetector`.
- *
- * @constructor Creates a ZoomGestureDetector for detecting zooming gesture.
- * @param context The application context.
- * @param spanSlop The distance in pixels touches can wander before a gesture to be interpreted
- * as zooming.
- * @param minSpan The distance in pixels between touches that must be reached for a gesture to be
- * interpreted as zooming.
- * @param listener The listener to receive the callback.
- * @sample androidx.camera.viewfinder.core.samples.onTouchEventSample
- */
-@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
-class ZoomGestureDetector @SuppressLint("ExecutorRegistration") @JvmOverloads constructor(
- private val context: Context,
- private val spanSlop: Int = ViewConfiguration.get(context).scaledTouchSlop * 2,
- private val minSpan: Int = DEFAULT_MIN_SPAN,
- private val listener: OnZoomGestureListener
-) {
- /**
- * The listener for receiving notifications when gestures occur.
- *
- * An application will receive events in the following order:
- * - One [ZOOM_GESTURE_BEGIN]
- * - Zero or more [ZOOM_GESTURE_MOVE]
- * - One [ZOOM_GESTURE_END]
- */
- fun interface OnZoomGestureListener {
- /**
- * Responds to the events of a zooming gesture.
- *
- * Return `true` to indicate the event is handled by the listener.
- * - For [ZOOM_GESTURE_MOVE] events, the detector will continue to accumulate movement if
- * it's not handled. This can be useful if an application, for example, only wants to update
- * scaling factors if the change is greater than `0.01`.
- * - For [ZOOM_GESTURE_BEGIN] events, the detector will ignore the rest of the gesture if
- * it's not handled. For example, if a gesture is beginning with a focal point outside of a
- * region where it makes sense, [ZOOM_GESTURE_BEGIN] event may return `false` to ignore the
- * rest of the gesture.
- * - For [ZOOM_GESTURE_END] events, the return value is ignored and the zoom gesture will
- * end regardless of what is returned.
- *
- * Once receiving [ZOOM_GESTURE_END] event, [focusX] and [focusY] will return focal point of
- * the pointers remaining on the screen.
- *
- * @param type The type of the event. Possible values include [ZOOM_GESTURE_MOVE],
- * [ZOOM_GESTURE_BEGIN] and [ZOOM_GESTURE_END].
- * @param detector The detector reporting the event - use this to retrieve extended info
- * about event state.
- * @return Whether or not the detector should consider this event as handled.
- */
- @UiThread
- fun onZoomEvent(@ZoomGesture type: Int, detector: ZoomGestureDetector): Boolean
- }
-
- /**
- * The X coordinate of the current gesture's focal point in pixels. If a gesture is in progress,
- * the focal point is between each of the pointers forming the gesture.
- *
- * If [isInProgress] would return `false`, the result of this function is undefined.
- */
- var focusX = 0f
- private set
-
- /**
- * The Y coordinate of the current gesture's focal point in pixels. If a gesture is in progress,
- * the focal point is between each of the pointers forming the gesture.
- *
- * If [isInProgress] would return `false`, the result of this function is undefined.
- */
- var focusY = 0f
- private set
-
- /**
- * Whether the quick zoom gesture, in which the user performs a double tap followed by a swipe,
- * should perform zooming.
- *
- * If not set, this is enabled by default.
- */
- var isQuickZoomEnabled: Boolean = true
-
- /**
- * Whether the stylus zoom gesture, in which the user uses a stylus and presses the button,
- * should perform zooming.
- *
- * If not set, this is enabled by default.
- */
- var isStylusZoomEnabled = true
-
- /**
- * The average distance in pixels between each of the pointers forming the gesture in progress
- * through the focal point.
- */
- private var currentSpan = 0f
-
- /**
- * The previous average distance in pixels between each of the pointers forming the gesture in
- * progress through the focal point.
- */
- private var previousSpan = 0f
-
- /**
- * The average X distance in pixels between each of the pointers forming the gesture in progress
- * through the focal point.
- */
- private var currentSpanX = 0f
-
- /**
- * The average Y distance in pixels between each of the pointers forming the gesture in progress
- * through the focal point.
- */
- private var currentSpanY = 0f
-
- /**
- * The previous average X distance in pixels between each of the pointers forming the gesture in
- * progress through the focal point.
- */
- private var previousSpanX = 0f
-
- /**
- * The previous average Y distance in pixels between each of the pointers forming the gesture in
- * progress through the focal point.
- */
- private var previousSpanY = 0f
-
- /**
- * The event time in milliseconds of the current event being processed.
- */
- var eventTime: Long = 0
- private set
-
- /**
- * Whether a zoom gesture is in progress.
- */
- var isInProgress = false
- private set
-
- private var initialSpan = 0f
- private var prevTime: Long = 0
- private var anchoredZoomStartX = 0f
- private var anchoredZoomStartY = 0f
- private var anchoredZoomMode = ANCHORED_ZOOM_MODE_NONE
- private var gestureDetector: GestureDetector =
- GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() {
- override fun onDoubleTap(e: MotionEvent): Boolean {
- // Double tap: start watching for a swipe
- anchoredZoomStartX = e.x
- anchoredZoomStartY = e.y
- anchoredZoomMode = ANCHORED_ZOOM_MODE_DOUBLE_TAP
- return true
- }
- })
- private var eventBeforeOrAboveStartingGestureEvent = false
-
- /**
- * Accepts [MotionEvent]s and dispatches events to a [OnZoomGestureListener] when appropriate.
- *
- * Applications should pass a complete and consistent event stream to this method.
- *
- * A complete and consistent event stream involves all [MotionEvent]s from the initial
- * [MotionEvent.ACTION_DOWN] to the final [MotionEvent.ACTION_UP] or
- * [MotionEvent.ACTION_CANCEL].
- *
- * @param event The event to process.
- * @return `true` if the event was processed and the detector wants to receive the
- * rest of the [MotionEvent]s in this event stream. Return it in the [View.onTouchEvent] for a
- * normal use case.
- */
- @UiThread
- fun onTouchEvent(event: MotionEvent): Boolean {
- eventTime = event.eventTime
-
- val action = event.actionMasked
-
- // Forward the event to check for double tap gesture
- if (isQuickZoomEnabled) {
- gestureDetector.onTouchEvent(event)
- }
-
- val count = event.pointerCount
- val isStylusButtonDown = (event.buttonState and MotionEvent.BUTTON_STYLUS_PRIMARY) != 0
-
- val anchoredZoomCancelled =
- anchoredZoomMode == ANCHORED_ZOOM_MODE_STYLUS && !isStylusButtonDown
- val streamComplete = action == MotionEvent.ACTION_UP ||
- action == MotionEvent.ACTION_CANCEL ||
- anchoredZoomCancelled
-
- if (action == MotionEvent.ACTION_DOWN || streamComplete) {
- // Reset any scale in progress with the listener.
- // If it's an ACTION_DOWN we're beginning a new event stream.
- // This means the app probably didn't give us all the events.
- if (isInProgress) {
- listener.onZoomEvent(ZOOM_GESTURE_END, this)
- isInProgress = false
- initialSpan = 0f
- anchoredZoomMode = ANCHORED_ZOOM_MODE_NONE
- } else if (inAnchoredZoomMode() && streamComplete) {
- isInProgress = false
- initialSpan = 0f
- anchoredZoomMode = ANCHORED_ZOOM_MODE_NONE
- }
- if (streamComplete) {
- return true
- }
- }
-
- if (!isInProgress &&
- isStylusZoomEnabled &&
- !inAnchoredZoomMode() &&
- !streamComplete &&
- isStylusButtonDown) {
- // Start of a button zoom gesture
- anchoredZoomStartX = event.x
- anchoredZoomStartY = event.y
- anchoredZoomMode = ANCHORED_ZOOM_MODE_STYLUS
- initialSpan = 0f
- }
-
- val configChanged = action == MotionEvent.ACTION_DOWN ||
- action == MotionEvent.ACTION_POINTER_UP ||
- action == MotionEvent.ACTION_POINTER_DOWN ||
- anchoredZoomCancelled
-
- val pointerUp = action == MotionEvent.ACTION_POINTER_UP
- val skipIndex = if (pointerUp) event.actionIndex else -1
-
- // Determine focal point
- var sumX = 0f
- var sumY = 0f
- val div = if (pointerUp) count - 1 else count
- val focusX: Float
- val focusY: Float
- if (inAnchoredZoomMode()) {
- // In anchored scale mode, the focal pt is always where the double tap
- // or button down gesture started
- focusX = anchoredZoomStartX
- focusY = anchoredZoomStartY
- eventBeforeOrAboveStartingGestureEvent = if (event.y < focusY) {
- true
- } else {
- false
- }
- } else {
- for (i in 0 until count) {
- if (skipIndex == i) continue
- sumX += event.getX(i)
- sumY += event.getY(i)
- }
- focusX = sumX / div
- focusY = sumY / div
- }
-
- // Determine average deviation from focal point
- var devSumX = 0f
- var devSumY = 0f
- for (i in 0 until count) {
- if (skipIndex == i) continue
-
- // Convert the resulting diameter into a radius.
- devSumX += abs(event.getX(i) - focusX)
- devSumY += abs(event.getY(i) - focusY)
- }
- val devX = devSumX / div
- val devY = devSumY / div
-
- // Span is the average distance between touch points through the focal point;
- // i.e. the diameter of the circle with a radius of the average deviation from
- // the focal point.
- val spanX = devX * 2
- val spanY = devY * 2
- val span: Float = if (inAnchoredZoomMode()) {
- spanY
- } else {
- hypot(spanX, spanY)
- }
-
- // Dispatch begin/end events as needed.
- // If the configuration changes, notify the app to reset its current state by beginning
- // a fresh zoom event stream.
- val wasInProgress = isInProgress
- this.focusX = focusX
- this.focusY = focusY
- if (!inAnchoredZoomMode() && isInProgress && (span < minSpan || configChanged)) {
- listener.onZoomEvent(ZOOM_GESTURE_END, this)
- isInProgress = false
- initialSpan = span
- }
- if (configChanged) {
- currentSpanX = spanX
- previousSpanX = currentSpanX
- currentSpanY = spanY
- previousSpanY = currentSpanY
- currentSpan = span
- previousSpan = currentSpan
- initialSpan = previousSpan
- }
- val minSpan = if (inAnchoredZoomMode()) spanSlop else minSpan
- if (!isInProgress &&
- span >= minSpan &&
- (wasInProgress || abs(span - initialSpan) > spanSlop)) {
- currentSpanX = spanX
- previousSpanX = currentSpanX
- currentSpanY = spanY
- previousSpanY = currentSpanY
- currentSpan = span
- previousSpan = currentSpan
- prevTime = eventTime
- isInProgress = listener.onZoomEvent(ZOOM_GESTURE_BEGIN, this)
- }
-
- // Handle motion; focal point and span/scale factor are changing.
- if (action == MotionEvent.ACTION_MOVE) {
- currentSpanX = spanX
- currentSpanY = spanY
- currentSpan = span
-
- var updatePrev = true
-
- if (isInProgress) {
- updatePrev = listener.onZoomEvent(ZOOM_GESTURE_MOVE, this)
- }
-
- if (updatePrev) {
- previousSpanX = currentSpanX
- previousSpanY = currentSpanY
- previousSpan = currentSpan
- prevTime = eventTime
- }
- }
- return true
- }
-
- private fun inAnchoredZoomMode(): Boolean {
- return anchoredZoomMode != ANCHORED_ZOOM_MODE_NONE
- }
-
- val scaleFactor: Float
- /**
- * Returns the scaling factor from the previous zoom event to the current event. This value
- * is defined as ([currentSpan] / [previousSpan]).
- *
- * @return The current scaling factor.
- */
- get() {
- if (inAnchoredZoomMode()) {
- // Drag is moving up; the further away from the gesture start, the smaller the span
- // should be, the closer, the larger the span, and therefore the larger the scale
- val scaleUp = eventBeforeOrAboveStartingGestureEvent &&
- currentSpan < previousSpan ||
- !eventBeforeOrAboveStartingGestureEvent &&
- currentSpan > previousSpan
- val spanDiff = (abs(1 - currentSpan / previousSpan) * SCALE_FACTOR)
- return if (previousSpan <= spanSlop) 1.0f
- else if (scaleUp) 1.0f + spanDiff
- else 1.0f - spanDiff
- }
- return if (previousSpan > 0) currentSpan / previousSpan else 1.0f
- }
-
- val timeDelta: Long
- /**
- * Returns the time difference in milliseconds between the previous accepted zooming event
- * and the current zooming event.
- *
- * @return Time difference since the last zooming event in milliseconds.
- */
- get() = eventTime - prevTime
-
- @IntDef(ZOOM_GESTURE_MOVE, ZOOM_GESTURE_BEGIN, ZOOM_GESTURE_END)
- @Retention(AnnotationRetention.SOURCE)
- @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
- annotation class ZoomGesture
-
- companion object {
- /** The moving events of a gesture in progress. Reported by pointer motion. */
- const val ZOOM_GESTURE_MOVE = 0
- /** The beginning of a zoom gesture. Reported by new pointers going down. */
- const val ZOOM_GESTURE_BEGIN = 1
- /** The end of a zoom gesture. Reported by existing pointers going up. */
- const val ZOOM_GESTURE_END = 2
-
- // The default minimum span that the detector interprets a zooming event with. It's set to 0
- // to give the most responsiveness.
- // TODO(b/314702145): define a different span if appropriate.
- private const val DEFAULT_MIN_SPAN = 0
- private const val SCALE_FACTOR = .5f
- private const val ANCHORED_ZOOM_MODE_NONE = 0
- private const val ANCHORED_ZOOM_MODE_DOUBLE_TAP = 1
- private const val ANCHORED_ZOOM_MODE_STYLUS = 2
- }
-}
diff --git a/app/src/main/java/org/lineageos/aperture/ApertureApplication.kt b/app/src/main/java/org/lineageos/aperture/ApertureApplication.kt
index 71e6a9b..0a564eb 100644
--- a/app/src/main/java/org/lineageos/aperture/ApertureApplication.kt
+++ b/app/src/main/java/org/lineageos/aperture/ApertureApplication.kt
@@ -1,18 +1,27 @@
/*
- * SPDX-FileCopyrightText: 2023 The LineageOS Project
+ * SPDX-FileCopyrightText: 2023-2024 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
package org.lineageos.aperture
+import android.annotation.SuppressLint
import android.app.Application
+import androidx.camera.camera2.internal.CameraIdUtil
import com.google.android.material.color.DynamicColors
+import org.lineageos.aperture.ext.getStringArray
class ApertureApplication : Application() {
+ @SuppressLint("RestrictedApi")
override fun onCreate() {
super.onCreate()
// Observe dynamic colors changes
DynamicColors.applyToActivitiesIfAvailable(this)
+
+ // Set backward compatible camera ids
+ CameraIdUtil.setBackwardCompatibleCameraIds(
+ resources.getStringArray(this, R.array.config_backwardCompatibleCameraIds).asList()
+ )
}
}
diff --git a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
index 1f5203b..78ad6dc 100644
--- a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
@@ -288,15 +288,26 @@
})
}
private val zoomGestureDetector by lazy {
- ZoomGestureDetector(this) { type, detector ->
- if (type == ZoomGestureDetector.ZOOM_GESTURE_MOVE) {
- cameraController.onPinchToZoom(detector.scaleFactor)
- handler.removeMessages(MSG_ON_PINCH_TO_ZOOM)
- handler.sendMessageDelayed(handler.obtainMessage(MSG_ON_PINCH_TO_ZOOM), 500)
+ ZoomGestureDetector(this) {
+ when (it) {
+ is ZoomGestureDetector.ZoomEvent.Begin -> {
+ zoomGestureDetectorIsInProgress = true
+ }
+
+ is ZoomGestureDetector.ZoomEvent.Move -> {
+ cameraController.onPinchToZoom(it.scaleFactor)
+ handler.removeMessages(MSG_ON_PINCH_TO_ZOOM)
+ handler.sendMessageDelayed(handler.obtainMessage(MSG_ON_PINCH_TO_ZOOM), 500)
+ }
+
+ is ZoomGestureDetector.ZoomEvent.End -> {
+ zoomGestureDetectorIsInProgress = false
+ }
}
true
}
}
+ private var zoomGestureDetectorIsInProgress = false
private val handler = object : Handler(Looper.getMainLooper()) {
override fun handleMessage(msg: Message) {
@@ -542,7 +553,7 @@
// Hide the status bars
window.updateBarsVisibility(
WindowInsetsControllerCompat.BEHAVIOR_DEFAULT,
- statusBars = true,
+ statusBars = false,
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1
@@ -696,7 +707,7 @@
// Observe manual focus
viewFinder.setOnTouchListener { _, event ->
- if (zoomGestureDetector.onTouchEvent(event) && zoomGestureDetector.isInProgress) {
+ if (zoomGestureDetector.onTouchEvent(event) && zoomGestureDetectorIsInProgress) {
return@setOnTouchListener true
}
return@setOnTouchListener gestureDetector.onTouchEvent(event)
diff --git a/app/src/main/java/org/lineageos/aperture/camera/BaseCamera.kt b/app/src/main/java/org/lineageos/aperture/camera/BaseCamera.kt
new file mode 100644
index 0000000..7f52c32
--- /dev/null
+++ b/app/src/main/java/org/lineageos/aperture/camera/BaseCamera.kt
@@ -0,0 +1,60 @@
+/*
+ * SPDX-FileCopyrightText: 2024 The LineageOS Project
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.lineageos.aperture.camera
+
+import androidx.camera.camera2.interop.Camera2CameraInfo
+import androidx.camera.core.CameraInfo
+import androidx.camera.core.CameraSelector
+import org.lineageos.aperture.models.CameraFacing
+import org.lineageos.aperture.models.CameraType
+import org.lineageos.aperture.viewmodels.CameraViewModel
+import kotlin.reflect.safeCast
+
+/**
+ * A generic camera device.
+ * The only contract in place is that the camera ID must be unique also between different
+ * implementations (guaranteed by Android).
+ */
+@androidx.camera.camera2.interop.ExperimentalCamera2Interop
+@androidx.camera.core.ExperimentalLensFacing
+abstract class BaseCamera(cameraInfo: CameraInfo, model: CameraViewModel) {
+ /**
+ * The [CameraSelector] for this camera.
+ */
+ abstract val cameraSelector: CameraSelector
+
+ /**
+ * The [Camera2CameraInfo] of this camera.
+ */
+ protected val camera2CameraInfo = Camera2CameraInfo.from(cameraInfo)
+
+ /**
+ * Camera2's camera ID.
+ */
+ val cameraId = camera2CameraInfo.cameraId
+
+ /**
+ * The [CameraFacing] of this camera.
+ */
+ val cameraFacing = when (cameraInfo.lensFacing) {
+ CameraSelector.LENS_FACING_UNKNOWN -> CameraFacing.UNKNOWN
+ CameraSelector.LENS_FACING_FRONT -> CameraFacing.FRONT
+ CameraSelector.LENS_FACING_BACK -> CameraFacing.BACK
+ CameraSelector.LENS_FACING_EXTERNAL -> CameraFacing.EXTERNAL
+ else -> throw Exception("Unknown lens facing value")
+ }
+
+ /**
+ * The [CameraType] of this camera.
+ */
+ val cameraType = cameraFacing.cameraType
+
+ override fun equals(other: Any?) = this::class.safeCast(other)?.let {
+ this.cameraId == it.cameraId
+ } ?: false
+
+ override fun hashCode() = this::class.qualifiedName.hashCode() + cameraId.hashCode()
+}
diff --git a/app/src/main/java/org/lineageos/aperture/camera/Camera.kt b/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
index 2c820b0..556575b 100644
--- a/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
+++ b/app/src/main/java/org/lineageos/aperture/camera/Camera.kt
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ * SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
@@ -8,9 +8,7 @@
import android.hardware.camera2.CameraCharacteristics
import android.hardware.camera2.CameraMetadata
import android.os.Build
-import androidx.camera.camera2.interop.Camera2CameraInfo
import androidx.camera.core.CameraInfo
-import androidx.camera.core.CameraSelector
import androidx.camera.video.Recorder
import org.lineageos.aperture.ext.*
import org.lineageos.aperture.models.CameraFacing
@@ -27,7 +25,6 @@
import org.lineageos.aperture.models.VideoQualityInfo
import org.lineageos.aperture.models.VideoStabilizationMode
import org.lineageos.aperture.viewmodels.CameraViewModel
-import kotlin.reflect.safeCast
/**
* Class representing a device camera
@@ -35,26 +32,16 @@
@androidx.camera.camera2.interop.ExperimentalCamera2Interop
@androidx.camera.core.ExperimentalLensFacing
@androidx.camera.core.ExperimentalZeroShutterLag
-class Camera(cameraInfo: CameraInfo, model: CameraViewModel) {
- val cameraSelector = cameraInfo.cameraSelector
-
- private val camera2CameraInfo = Camera2CameraInfo.from(cameraInfo)
- val cameraId = camera2CameraInfo.cameraId
-
- val cameraFacing = when (cameraInfo.lensFacing) {
- CameraSelector.LENS_FACING_UNKNOWN -> CameraFacing.UNKNOWN
- CameraSelector.LENS_FACING_FRONT -> CameraFacing.FRONT
- CameraSelector.LENS_FACING_BACK -> CameraFacing.BACK
- CameraSelector.LENS_FACING_EXTERNAL -> CameraFacing.EXTERNAL
- else -> throw Exception("Unknown lens facing value")
- }
-
- val cameraType = cameraFacing.cameraType
+class Camera(cameraInfo: CameraInfo, model: CameraViewModel) : BaseCamera(cameraInfo, model) {
+ override val cameraSelector = cameraInfo.cameraSelector
val exposureCompensationRange = cameraInfo.exposureState.exposureCompensationRange
private val hasFlashUnit = cameraInfo.hasFlashUnit()
- val isLogical = camera2CameraInfo.physicalCameraIds.size > 1
+ private val physicalCameras = cameraInfo.physicalCameraInfos.map {
+ PhysicalCamera(it, model, this)
+ }
+ val isLogical = physicalCameras.size > 1
val intrinsicZoomRatio = cameraInfo.intrinsicZoomRatio
val logicalZoomRatios = model.getLogicalZoomRatios(cameraId)
@@ -254,15 +241,6 @@
}
}
- override fun equals(other: Any?): Boolean {
- val camera = this::class.safeCast(other) ?: return false
- return this.cameraId == camera.cameraId
- }
-
- override fun hashCode(): Int {
- return this::class.qualifiedName.hashCode() + cameraId.hashCode()
- }
-
fun supportsExtensionMode(extensionMode: Int): Boolean {
return supportedExtensionModes.contains(extensionMode)
}
diff --git a/app/src/main/java/org/lineageos/aperture/camera/PhysicalCamera.kt b/app/src/main/java/org/lineageos/aperture/camera/PhysicalCamera.kt
new file mode 100644
index 0000000..91e35d8
--- /dev/null
+++ b/app/src/main/java/org/lineageos/aperture/camera/PhysicalCamera.kt
@@ -0,0 +1,25 @@
+/*
+ * SPDX-FileCopyrightText: 2024 The LineageOS Project
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.lineageos.aperture.camera
+
+import androidx.camera.core.CameraInfo
+import androidx.camera.core.CameraSelector
+import org.lineageos.aperture.viewmodels.CameraViewModel
+
+/**
+ * A logical camera's backing physical camera.
+ */
+@androidx.camera.camera2.interop.ExperimentalCamera2Interop
+@androidx.camera.core.ExperimentalLensFacing
+class PhysicalCamera(
+ cameraInfo: CameraInfo,
+ model: CameraViewModel,
+ logicalCamera: Camera,
+) : BaseCamera(cameraInfo, model) {
+ override val cameraSelector = CameraSelector.Builder()
+ .setPhysicalCameraId(cameraId)
+ .build()
+}
diff --git a/app/src/main/java/org/lineageos/aperture/ext/Camera2CameraInfo.kt b/app/src/main/java/org/lineageos/aperture/ext/Camera2CameraInfo.kt
deleted file mode 100644
index a08eff7..0000000
--- a/app/src/main/java/org/lineageos/aperture/ext/Camera2CameraInfo.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2022 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package org.lineageos.aperture.ext
-
-import android.hardware.camera2.CameraCharacteristics
-import android.os.Build
-import androidx.camera.camera2.interop.Camera2CameraInfo
-
-/**
- * We're adding this here since it's private. We're supposed to use
- * CameraCharacteristics.getPhysicalCameraIds() but it's not exposed by CameraX yet.
- */
-private val LOGICAL_MULTI_CAMERA_PHYSICAL_IDS by lazy {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- CameraCharacteristics.Key(
- "android.logicalMultiCamera.physicalIds",
- ByteArray::class.java
- )
- } else {
- throw Exception("Requesting LOGICAL_MULTI_CAMERA_PHYSICAL_IDS on older Android version")
- }
-}
-
-/**
- * Return the set of physical camera ids that this logical {@link CameraDevice} is made
- * up of.
- *
- * If the camera device isn't a logical camera, return an empty set.
- */
-val Camera2CameraInfo.physicalCameraIds: Set<String>
- @androidx.camera.camera2.interop.ExperimentalCamera2Interop
- get() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
- return setOf()
- }
-
- val availableCapabilities = getCameraCharacteristic(
- CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES
- ) ?: throw AssertionError(
- "android.request.availableCapabilities must be non-null in the characteristics"
- )
- if (!availableCapabilities.contains(
- CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
- )
- ) {
- return setOf()
- }
-
- val physicalCamIds: ByteArray = getCameraCharacteristic(
- LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
- ) ?: throw AssertionError(
- "android.logicalMultiCamera.physicalIds must be non-null in the characteristics"
- )
-
- val physicalCamIdString = String(physicalCamIds, Charsets.UTF_8)
- val physicalCameraIdArray = physicalCamIdString.split(0.toChar())
-
- return physicalCameraIdArray.toSet()
- }
diff --git a/app/src/main/java/org/lineageos/aperture/qr/QrTextClassifier.kt b/app/src/main/java/org/lineageos/aperture/qr/QrTextClassifier.kt
index 8820d9f..7af959c 100644
--- a/app/src/main/java/org/lineageos/aperture/qr/QrTextClassifier.kt
+++ b/app/src/main/java/org/lineageos/aperture/qr/QrTextClassifier.kt
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2023 The LineageOS Project
+ * SPDX-FileCopyrightText: 2023-2024 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
@@ -83,6 +83,26 @@
}
}
.build()
+
+ SCHEME_UPI -> return TextClassification.Builder()
+ .setText(context.getString(R.string.qr_upi_content_description))
+ .setEntityType(TextClassifier.TYPE_OTHER, 1.0f)
+ .apply {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ addAction(
+ RemoteAction::class.build(
+ context,
+ R.drawable.ic_currency_rupee,
+ R.string.qr_upi_title,
+ R.string.qr_upi_content_description,
+ Intent(Intent.ACTION_VIEW).apply {
+ data = uri
+ }
+ )
+ )
+ }
+ }
+ .build()
}
}
@@ -96,5 +116,6 @@
companion object {
private const val SCHEME_DPP = "dpp"
private const val SCHEME_FIDO = "fido"
+ private const val SCHEME_UPI = "upi"
}
}
diff --git a/app/src/main/java/org/lineageos/aperture/ui/CameraModeSelectorLayout.kt b/app/src/main/java/org/lineageos/aperture/ui/CameraModeSelectorLayout.kt
index 243ce97..707e1bb 100644
--- a/app/src/main/java/org/lineageos/aperture/ui/CameraModeSelectorLayout.kt
+++ b/app/src/main/java/org/lineageos/aperture/ui/CameraModeSelectorLayout.kt
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ * SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
@@ -124,6 +124,7 @@
val inSingleCaptureMode = cameraViewModel?.inSingleCaptureMode?.value ?: return
val cameraState = cameraViewModel?.cameraState?.value ?: return
+ cameraModeHighlightButton.isInvisible = cameraState.isRecordingVideo || inSingleCaptureMode
cameraToButton.forEach {
it.value.isInvisible = cameraState.isRecordingVideo || inSingleCaptureMode
}
diff --git a/app/src/main/res/drawable/ic_currency_rupee.xml b/app/src/main/res/drawable/ic_currency_rupee.xml
new file mode 100644
index 0000000..98437f9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_currency_rupee.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ SPDX-FileCopyrightText: Material Design Authors / Google LLC
+ SPDX-License-Identifier: Apache-2.0
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:tint="#000000"
+ android:viewportWidth="960"
+ android:viewportHeight="960">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M549,840L280,560L280,480L420,480Q473,480 511.5,445.5Q550,411 558,360L240,360L240,280L546,280Q529,245 495.5,222.5Q462,200 420,200L240,200L240,120L720,120L720,200L590,200Q604,217 615,237Q626,257 632,280L720,280L720,360L639,360Q631,445 569,502.5Q507,560 420,560L391,560L660,840L549,840Z" />
+</vector>
diff --git a/app/src/main/res/layout/activity_camera.xml b/app/src/main/res/layout/activity_camera.xml
index e20889b..f3b4c70 100644
--- a/app/src/main/res/layout/activity_camera.xml
+++ b/app/src/main/res/layout/activity_camera.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
@@ -130,105 +130,80 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
- <androidx.constraintlayout.widget.ConstraintLayout
+ <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:paddingHorizontal="16dp"
+ android:gravity="top|center"
android:paddingVertical="8dp">
+ <!-- Cannot mess with fixed padding from here because of insets -->
+ <Space
+ android:layout_width="16dp"
+ android:layout_height="match_parent" />
+
<!-- Photo mode specific settings -->
<Button
android:id="@+id/aspectRatioButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_aspect_ratio"
- android:text="@string/aspect_ratio_4_3"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/effectButton"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/aspect_ratio_4_3" />
<Button
android:id="@+id/effectButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_blur_off"
- android:text="@string/effect_none"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/videoQualityButton"
- app:layout_constraintStart_toEndOf="@+id/aspectRatioButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/effect_none" />
<!-- Video mode specific settings -->
<Button
android:id="@+id/videoQualityButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_hd"
- android:text="@string/video_quality_fhd"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/videoFrameRateButton"
- app:layout_constraintStart_toEndOf="@+id/effectButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/video_quality_fhd" />
<Button
android:id="@+id/videoFrameRateButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_video_frame_rate"
- android:text="@string/video_framerate_auto"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/videoDynamicRangeButton"
- app:layout_constraintStart_toEndOf="@+id/videoQualityButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/video_framerate_auto" />
<Button
android:id="@+id/videoDynamicRangeButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_hdr_off"
- android:text="@string/video_dynamic_range_sdr"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/micButton"
- app:layout_constraintStart_toEndOf="@+id/videoFrameRateButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/video_dynamic_range_sdr" />
<Button
android:id="@+id/micButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_mic_off"
- android:text="@string/mic_off"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/timerButton"
- app:layout_constraintStart_toEndOf="@+id/videoDynamicRangeButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/mic_off" />
<!-- Common settings -->
<Button
android:id="@+id/timerButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_timer_off"
- android:text="@string/timer_off"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/gridButton"
- app:layout_constraintStart_toEndOf="@+id/micButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/timer_off" />
<Button
android:id="@+id/gridButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_grid_3x3_off"
- android:text="@string/grid_off"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toStartOf="@+id/settingsButton"
- app:layout_constraintStart_toEndOf="@+id/timerButton"
- app:layout_constraintTop_toTopOf="parent" />
+ android:text="@string/grid_off" />
<Button
android:id="@+id/settingsButton"
style="@style/Theme.Aperture.Camera.SecondaryTopBarButton"
android:drawableTop="@drawable/ic_settings"
- android:text="@string/settings"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toEndOf="@+id/gridButton"
- app:layout_constraintTop_toTopOf="parent" />
- </androidx.constraintlayout.widget.ConstraintLayout>
+ android:text="@string/settings" />
+
+ <!-- Cannot mess with fixed padding from here because of insets -->
+ <Space
+ android:layout_width="16dp"
+ android:layout_height="match_parent" />
+
+ </LinearLayout>
</HorizontalScrollView>
diff --git a/app/src/main/res/layout/capture_preview_layout.xml b/app/src/main/res/layout/capture_preview_layout.xml
index 3ab6553..169b0fd 100644
--- a/app/src/main/res/layout/capture_preview_layout.xml
+++ b/app/src/main/res/layout/capture_preview_layout.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<org.lineageos.aperture.ui.CapturePreviewLayout xmlns:android="http://schemas.android.com/apk/res/android"
@@ -28,7 +28,8 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/cancelButton"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent"
+ app:tint="@android:color/white" />
<ImageButton
android:id="@+id/cancelButton"
@@ -41,7 +42,9 @@
app:layout_constraintEnd_toStartOf="@+id/confirmButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent"
+ app:tint="@android:color/white"/>
+
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
diff --git a/app/src/main/res/values-ast-rES/strings.xml b/app/src/main/res/values-ast-rES/strings.xml
index 26fdd7d..96f8da6 100644
--- a/app/src/main/res/values-ast-rES/strings.xml
+++ b/app/src/main/res/values-ast-rES/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 129cb36..e54641c 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -35,7 +35,7 @@
<string name="app_permissions_toast">İstifadəçi tərəfindən verilməyən icazələr.</string>
<string name="camcorder_unsupported_toast">Heç bir kamera videoyazını dəstəkləmir.</string>
<string name="qr_copy_description">Lövhəyə kopyala</string>
- <string name="qr_icon_description">Nişan</string>
+ <string name="qr_icon_description">İkon</string>
<string name="qr_share_description">Paylaş</string>
<string name="qr_no_app_available_for_action">Bu əməliyyatı ələ alacaq tətbiq yoxdur</string>
<string name="qr_address_title">Kontakt əlavə et</string>
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Telefon nömrəsinə zəng et</string>
<string name="qr_tel_content_description">Telefon nömrəsinə zəng et</string>
<string name="qr_text">Mətn</string>
+ <string name="qr_upi_title">Ödəniş ediləcək tətbiqi seçin</string>
+ <string name="qr_upi_content_description">Dəstəklənirsə bu UPI keçidini uyğun tətbiqlə aç</string>
<string name="qr_uri_title">URL-ni aç</string>
<string name="qr_uri_content_description">Dəstəklənirsə bu URL-ni uyğun tətbiqlə aç</string>
<string name="qr_vin_title">VIN axtar</string>
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index 68836e4..59bb568 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 7d36ea5..4e92665 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Truca al número de telèfon</string>
<string name="qr_tel_content_description">Truca al número de telèfon</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Trieu una aplicació per pagar</string>
+ <string name="qr_upi_content_description">Obre aquest enllaç UPI amb l\'aplicació adequada si s\'admet</string>
<string name="qr_uri_title">Obre l\'enllaç</string>
<string name="qr_uri_content_description">Obre aquesta URL amb l\'aplicació adequada si s\'admet</string>
<string name="qr_vin_title">Cerca el VIN</string>
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index a013c5c..bf5714e 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml
index eb33e9b..2abbb3b 100644
--- a/app/src/main/res/values-cy/strings.xml
+++ b/app/src/main/res/values-cy/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -41,6 +41,7 @@
<string name="qr_tel_title">Galw rhif ffôn</string>
<string name="qr_tel_content_description">Galw\u2019r rhif ffôn</string>
<string name="qr_text">Testun</string>
+ <string name="qr_upi_title">Dewis ap i dalu</string>
<string name="qr_wifi_title">Cysylltu â\'r rhwydwaith Wi-Fi hwn</string>
<string name="title_activity_settings">Gosodiadau</string>
<string name="general_header">Cyffredinol</string>
@@ -59,6 +60,7 @@
<string name="photo_capture_mode_title">Modd cipio</string>
<string name="photo_capture_mode_maximize_quality">Ansawdd gorau</string>
<string name="photo_capture_mode_minimize_latency">Cuddni lleiaf</string>
+ <string name="video_stabilization_title">Galluogi sefydlogi fideo</string>
<string name="processing_title">Prosesu</string>
<string name="edge_mode_default">Rhagosodedig</string>
<string name="edge_mode_off">I ffwrdd</string>
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 487f833..39f9326 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index a584b3a..178eb78 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -37,9 +37,33 @@
<string name="qr_copy_description">In die Zwischenablage kopieren</string>
<string name="qr_icon_description">Symbol</string>
<string name="qr_share_description">Teilen</string>
+ <string name="qr_no_app_available_for_action">Keine App für diese Aktion verfügbar</string>
+ <string name="qr_address_title">Kontakt hinzufügen</string>
+ <string name="qr_address_content_description">Kontakt hinzufügen</string>
+ <string name="qr_calendar_title">Termin zum Kalender hinzufügen</string>
+ <string name="qr_calendar_content_description">Diesen Termin in den Kalender eintragen</string>
<string name="qr_dpp_description">Dieses Gerät konfigurieren</string>
+ <string name="qr_email_title">Neue E-Mail senden</string>
+ <string name="qr_email_content_description">Neue E-Mail an die angegebenen E-Mail-Adressen erstellen</string>
+ <string name="qr_fido_title">Passkey verwenden</string>
+ <string name="qr_fido_content_description">Diesen FIDO-QR-Code verwenden</string>
+ <string name="qr_geo_title">Standort öffnen</string>
+ <string name="qr_geo_content_description">Diesen Standort öffnen</string>
+ <string name="qr_isbn_title">Diese ISBN suchen</string>
+ <string name="qr_isbn_content_description">Nach dieser ISBN auf isbnsearch.org suchen</string>
+ <string name="qr_product_title">Produkt suchen</string>
+ <string name="qr_product_content_description">Nach dem Barcode dieser Produkt-ID suchen</string>
+ <string name="qr_sms_title">Neue SMS senden</string>
+ <string name="qr_sms_content_description">Neue SMS an die angegebenen Empfänger senden</string>
+ <string name="qr_tel_title">Telefonnummer anrufen</string>
+ <string name="qr_tel_content_description">Diese Telefonnummer anrufen</string>
<string name="qr_text">Text</string>
+ <string name="qr_uri_title">URL öffnen</string>
+ <string name="qr_uri_content_description">Diese URL mit der entsprechenden App öffnen, wenn dies unterstützt wird</string>
+ <string name="qr_vin_title">VIN suchen</string>
+ <string name="qr_vin_content_description">Diese Fahrzeug-Identifikationsnummer (VIN) suchen</string>
<string name="qr_wifi_title">Mit diesem WLAN-Netzwerk verbinden</string>
+ <string name="qr_wifi_content_description">Dieses WLAN-Netzwerk zu der Liste der bekannten Netzwerke hinzufügen und das Gerät damit verbinden</string>
<string name="title_activity_settings">Einstellungen</string>
<string name="general_header">Allgemein</string>
<string name="photos_header">Fotos</string>
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 588ca4c..8b1cdc0 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-en-rAU/strings.xml b/app/src/main/res/values-en-rAU/strings.xml
index 64ed4b3..7e8ae50 100644
--- a/app/src/main/res/values-en-rAU/strings.xml
+++ b/app/src/main/res/values-en-rAU/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Call phone number</string>
<string name="qr_tel_content_description">Call the phone number</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Choose app to pay</string>
+ <string name="qr_upi_content_description">Open this UPI link with the appropriate app if supported</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open this URL with the appropriate app if supported</string>
<string name="qr_vin_title">Lookup VIN</string>
diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml
index de3b0fb..333f513 100644
--- a/app/src/main/res/values-en-rCA/strings.xml
+++ b/app/src/main/res/values-en-rCA/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Call phone number</string>
<string name="qr_tel_content_description">Call the phone number</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Choose app to pay</string>
+ <string name="qr_upi_content_description">Open this UPI link with the appropriate app if supported</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open this URL with the appropriate app if supported</string>
<string name="qr_vin_title">Lookup VIN</string>
diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml
index 64ed4b3..7e8ae50 100644
--- a/app/src/main/res/values-en-rGB/strings.xml
+++ b/app/src/main/res/values-en-rGB/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Call phone number</string>
<string name="qr_tel_content_description">Call the phone number</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Choose app to pay</string>
+ <string name="qr_upi_content_description">Open this UPI link with the appropriate app if supported</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open this URL with the appropriate app if supported</string>
<string name="qr_vin_title">Lookup VIN</string>
diff --git a/app/src/main/res/values-en-rIN/strings.xml b/app/src/main/res/values-en-rIN/strings.xml
index 64ed4b3..7e8ae50 100644
--- a/app/src/main/res/values-en-rIN/strings.xml
+++ b/app/src/main/res/values-en-rIN/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Call phone number</string>
<string name="qr_tel_content_description">Call the phone number</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Choose app to pay</string>
+ <string name="qr_upi_content_description">Open this UPI link with the appropriate app if supported</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open this URL with the appropriate app if supported</string>
<string name="qr_vin_title">Lookup VIN</string>
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index c480ec2..9240621 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 3c6ca4b..0722b8f 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 6003f7b..0e0d470 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-fur-rIT/strings.xml b/app/src/main/res/values-fur-rIT/strings.xml
index 07c3c14..3cc3217 100644
--- a/app/src/main/res/values-fur-rIT/strings.xml
+++ b/app/src/main/res/values-fur-rIT/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 8ec1914..22eabba 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -11,6 +11,7 @@
<string name="flash_button_description">Vakumód</string>
<string name="flip_camera_button_description">Kamerakép tükrözése</string>
<string name="gallery_button_description">Galéria</string>
+ <string name="google_lens_button_description">A Google Lens megnyitása</string>
<string name="image_view_description">Képelőnézet</string>
<string name="pro_button_description">Pro-beállítások</string>
<string name="shutter_button_description">Exponálógomb</string>
@@ -36,11 +37,40 @@
<string name="qr_copy_description">Másolás a vágólapra</string>
<string name="qr_icon_description">Ikon</string>
<string name="qr_share_description">Megosztás</string>
+ <string name="qr_no_app_available_for_action">Nincs alkalmazás, ami végre tudná hajtani ezt a műveletet</string>
+ <string name="qr_address_title">Egy névjegy hozzáadása</string>
+ <string name="qr_address_content_description">Adja hozzá a névjegyet</string>
+ <string name="qr_calendar_title">Egy esemény hozzáadása a naptárhoz</string>
+ <string name="qr_calendar_content_description">Ennek az eseménynek a hozzáadása a naptárhoz</string>
+ <string name="qr_dpp_description">Konfigurálja ezt a készüléket</string>
+ <string name="qr_email_title">Egy új e-mail küldése</string>
+ <string name="qr_email_content_description">Létrehoz egy új e-mailt a megadott címekre</string>
+ <string name="qr_fido_title">Jelszóhasználat</string>
+ <string name="qr_fido_content_description">Kezelje ezt a QR-kódot</string>
+ <string name="qr_geo_title">Ennek a helynek a megnyitása</string>
+ <string name="qr_geo_content_description">Megnyitja ezt a helyet</string>
+ <string name="qr_isbn_title">Egy ISBN megkeresése</string>
+ <string name="qr_isbn_content_description">Keresse meg ezt az ISBN-t az isbnsearch.org webhelyen</string>
+ <string name="qr_product_title">Egy termék keresése</string>
+ <string name="qr_product_content_description">Keresse meg ezt a termékazonosító vonalkódot</string>
+ <string name="qr_sms_title">Egy új SMS küldése</string>
+ <string name="qr_sms_content_description">Új SMS küldése a megadott címzetteknek</string>
+ <string name="qr_tel_title">Egy telefonszám felhívása</string>
+ <string name="qr_tel_content_description">Hívja fel a megadott telefonszámot</string>
<string name="qr_text">Szöveg</string>
+ <string name="qr_upi_title">Válasszon alkalmazást a fizetéshez</string>
+ <string name="qr_upi_content_description">Nyissa meg ezt az UPI linket a megfelelő alkalmazással, ha támogatott</string>
+ <string name="qr_uri_title">Egy URL megnyitása</string>
+ <string name="qr_uri_content_description">Nyissa meg ezt az URL-t a megfelelő alkalmazással, ha támogatott</string>
+ <string name="qr_vin_title">Egy rendszám megkeresése</string>
+ <string name="qr_vin_content_description">Keresse meg ezt a járműazonosító számot (VIN)</string>
+ <string name="qr_wifi_title">Kapcsolódás ehhez a Wi-Fi hálózathoz</string>
+ <string name="qr_wifi_content_description">Adja hozzá ezt a Wi-Fi hálózatot az ismert hálózatok listájához, és csatlakoztassa hozzá a készüléket</string>
<string name="title_activity_settings">Beállítások</string>
<string name="general_header">Általános</string>
<string name="photos_header">Fotók</string>
<string name="video_header">Videó</string>
+ <string name="advanced_header">Haladó</string>
<string name="bright_screen_title">Fényes képernyő</string>
<string name="bright_screen_summary" formatted="false">Fényerő rögzítése 100%-on</string>
<string name="save_location_title">Helyinformációk elmentése</string>
@@ -50,10 +80,87 @@
<string name="shutter_sound_summary">Hang lejátszása képkészítéskor</string>
<string name="leveler_title">Szintező</string>
<string name="leveler_summary">A készülék tájolását mutató jelző</string>
+ <string name="volume_buttons_action_title">Hengerőgomb-műveletek</string>
<string name="photo_capture_mode_title">Képkészítési mód</string>
<string name="photo_capture_mode_maximize_quality">Minőség maximalizálása</string>
<string name="photo_capture_mode_minimize_latency">Késleltetés minimalizálása</string>
+ <string name="enable_zsl_title">Zero-Shutter Lag, ha elérhető</string>
+ <string name="enable_zsl_summary">Ha a kamera támogatja a ZSL-t, akkor használhatja. Ebben a módban a fotóeffektek nem működnek. Vegye figyelembe hogy a ZSL még kisérleti stádiumban van.</string>
+ <string name="photo_ffc_mirror_title">Az előlapi kamera tükrözése</string>
+ <string name="photo_ffc_mirror_summary">Úgy menti a képeket, ahogy az előnézetben megjelennek</string>
+ <string name="video_stabilization_title">A Videó-képstabilizáció engedélyezése</string>
+ <string name="video_stabilization_summary">Amennyiben elérhető az Ön készülékén ez a funkció, stabilizálja a felvételeket a kéz remegései ellen</string>
+ <string name="video_mirror_mode_title">Videótükrözés be</string>
+ <string name="processing_title">Folyamatban</string>
+ <string name="processing_info">Fotómódban, amikor ZSL-módot használ, csak az alapértelmezett és kikapcsolt értékeket veszi figyelembe a rendszer. Videómód esetén már a gyors értékeket is figyelembe veszi a rendszer.</string>
+ <string name="edge_mode_title">Élesítés</string>
+ <string name="edge_mode_summary">Az éljavítás tökéletesebbé teszi a képek élességét és részleteit.</string>
+ <string name="edge_mode_default">Alapértelmezett</string>
+ <string name="edge_mode_off">Ki</string>
+ <string name="edge_mode_fast">Gyors</string>
+ <string name="edge_mode_high_quality">Kiváló minőség</string>
+ <string name="noise_reduction_mode_title">Zajtalanítás</string>
+ <string name="noise_reduction_mode_summary">A zajcsökkentési algoritmus próbálja javítani a képminőséget azáltal, hogy eltávolítja a felvétel során belekerült túlzott zajt, különösen sötét körülmények között.</string>
+ <string name="noise_reduction_mode_default">Alapértelmezett</string>
+ <string name="noise_reduction_mode_off">Ki</string>
+ <string name="noise_reduction_mode_fast">Gyors</string>
+ <string name="noise_reduction_mode_high_quality">Kiváló minőség</string>
+ <string name="noise_reduction_mode_minimal">Minimális</string>
+ <string name="shading_mode_title">Képszélek torzítása</string>
+ <string name="shading_mode_summary">A képadatokhoz illesztett lencseárnyékolás-korrekció minősége.</string>
+ <string name="shading_mode_default">Alapértelmezett</string>
+ <string name="shading_mode_off">Ki</string>
+ <string name="shading_mode_fast">Gyors</string>
+ <string name="shading_mode_high_quality">Kiváló minőség</string>
+ <string name="color_correction_aberration_mode_title">Színaberráció-korrekció</string>
+ <string name="color_correction_aberration_mode_summary">A kromatikus (szín) aberrációt az okozza, hogy a különböző hullámhosszú fények nem tudnak ugyanarra a pontra fókuszálni, miután kiléptek az objektívből.</string>
+ <string name="color_correction_aberration_mode_default">Alapértelmezett</string>
+ <string name="color_correction_aberration_mode_off">Ki</string>
+ <string name="color_correction_aberration_mode_fast">Gyors</string>
+ <string name="color_correction_aberration_mode_high_quality">Kiváló minőség</string>
+ <string name="distortion_correction_mode_title">Torzítási korrekció</string>
+ <string name="distortion_correction_mode_summary">A lencsetorzítás korrekciós blokk üzemmódja.</string>
+ <string name="distortion_correction_mode_default">Alapértelmezett</string>
+ <string name="distortion_correction_mode_off">Ki</string>
+ <string name="distortion_correction_mode_fast">Gyors</string>
+ <string name="distortion_correction_mode_high_quality">Kiváló minőség</string>
+ <string name="hot_pixel_mode_title">Túlvezéreltfény-korrekció</string>
+ <string name="hot_pixel_mode_summary">Ez a funkció interpolálja vagy más módon eltávolítja azokat a képpontokat, ahol nem pontos a bejövő fény mérése (azaz olyan képpontokat, amelyek valamely értéknél beragadtak vagy túlérzékenyek).</string>
+ <string name="hot_pixel_mode_default">Alapértelmezett</string>
+ <string name="hot_pixel_mode_off">Ki</string>
+ <string name="hot_pixel_mode_fast">Gyors</string>
+ <string name="hot_pixel_mode_high_quality">Kiváló minőség</string>
<string name="shortcut_selfie">Szelfi készítése</string>
<string name="shortcut_video">Videó készítése</string>
<string name="shortcut_qr">Vonalkód beolvasása</string>
+ <string name="location_permission_dialog_title">Fénykép- és videóhelyadat hozzáfűzése</string>
+ <string name="location_permission_dialog_description">Tegye visszakereshetővé emlékeit úgy, hogy minden felvételnél teret ad a helyinformációk metaadatainak.</string>
+ <string name="location_permission_dialog_later">Később</string>
+ <string name="location_permission_dialog_turn_on">Bekapcsolás</string>
+ <string name="error_max_cameras_in_use">Elérte az egyszerre megnyitható kamerák maximális számát. Próbáljon meg bezárni más alkalmazásokat, amik használják a kamerát.</string>
+ <string name="error_camera_in_use">Ez a kamera már használatban van, próbáljon meg bezárni más alkalmazásokat, amik használják a kamerát.</string>
+ <string name="error_stream_config">Hiba történt a sztreamelés előkészítése közben. Kérjük, jelentse ezt a fejlesztőknek.</string>
+ <string name="error_other_recoverable_error">Hiba a munkamenet beállítása közben. Az alkalmazás megpróbálja helyreállítani.</string>
+ <string name="error_camera_disabled">A kamera le van tiltva. Ennek oka lehet a készülék házirendje.</string>
+ <string name="error_camera_fatal_error">Végzetes hiba történt. Próbálja újraindítani a készülékét.</string>
+ <string name="error_do_not_disturb_mode_enabled">A Ne zavarjanak (DND) mód engedélyezve van. Kapcsolja ki, majd nyissa meg újra az alkalmazást.</string>
+ <string name="error_unknown_recoverable">Ismeretlen, de helyreállítható hiba keletkezett. Kérjük, jelentse ezt a fejlesztőknek.</string>
+ <string name="error_unknown_critical">Ismeretlen kritikus hiba keletkezett. Kérjük, jelentse ezt a fejlesztőknek.</string>
+ <string name="error_no_cameras_available">Nem indítható az alkalmazás, mert az Ön készülékén nem érzékelhető kamera.</string>
+ <string name="gesture_action_shutter">Exponálógomb</string>
+ <string name="gesture_action_zoom">Zoomolás</string>
+ <string name="gesture_action_volume">Hangerő</string>
+ <string name="gesture_action_nothing">Semmi</string>
+ <string name="thermal_status_moderate">Mérsékelt hőszabályozás, ügyeljen arra, hogy a készüléket ne érje közvetlen napfény.</string>
+ <string name="thermal_status_severe">Erős hőszabályozás, ajánlott hagyni egy kicsit lehűlni a készüléket.</string>
+ <string name="thermal_status_critical">Kritikus hőszabályozás, az alkalmazás hamarosan bezáródik.</string>
+ <string name="thermal_status_emergency">Vészhelyzeti hőszabályozás, az alkalmazás azonnal bezáródik.</string>
+ <string name="thermal_status_shutdown">Vészleállítási hőszabályozás, készüléke azonnal kikapcsol.</string>
+ <string name="force_torch_help">Fénykép módban hosszan lenyomva tarthatja a vakugombot, hogy zseblámpa módba váltson.</string>
+ <string name="camera_mode_photo">Fénykép</string>
+ <string name="camera_mode_video">Videó</string>
+ <string name="camera_mode_qr">Kódolvasó</string>
+ <string name="video_mirror_mode_off">Ki</string>
+ <string name="video_mirror_mode_on">Be</string>
+ <string name="video_mirror_mode_on_ffc_only">Csak a fő arckamerán</string>
</resources>
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 7d073cf..95af32e 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index c2ec1fd..9a6db77 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 29e3acf..7b97758 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 533f580..7233e3f 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">電話番号に発信</string>
<string name="qr_tel_content_description">電話番号に発信します</string>
<string name="qr_text">テキスト</string>
+ <string name="qr_upi_title">決済アプリを選択</string>
+ <string name="qr_upi_content_description">対応している場合は、この UPI リンクを適切なアプリで開きます</string>
<string name="qr_uri_title">URL を開く</string>
<string name="qr_uri_content_description">対応しているアプリでこの URL を開きます</string>
<string name="qr_vin_title">VIN 検索</string>
@@ -69,7 +71,9 @@
<string name="photos_header">写真</string>
<string name="video_header">ビデオ</string>
<string name="advanced_header">詳細設定</string>
+ <string name="bright_screen_title">画面を明るくする</string>
<string name="bright_screen_summary" formatted="false">明るさを100%に固定</string>
+ <string name="shutter_sound_summary">撮影j時に音を鳴らします</string>
<string name="volume_buttons_action_title">音量ボタンの動作</string>
<string name="enable_zsl_title">利用可能な場合は ZSL を有効にする</string>
<string name="enable_zsl_summary">カメラが対応している場合、ゼロシャッターラグモードを使用します。このモードでは写真のエフェクトは無効になります。このモードは実験的であることに注意してください。</string>
diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml
index 9c342e3..ae834e4 100644
--- a/app/src/main/res/values-ka/strings.xml
+++ b/app/src/main/res/values-ka/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index d6e4d87..4276dc1 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -101,6 +101,7 @@
<string name="noise_reduction_mode_fast">빠르게</string>
<string name="noise_reduction_mode_high_quality">고품질</string>
<string name="noise_reduction_mode_minimal">최소</string>
+ <string name="shading_mode_title">비네트 보정</string>
<string name="shading_mode_default">기본값</string>
<string name="shading_mode_off">끔</string>
<string name="shading_mode_fast">빠름</string>
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index b519a92..ff850a9 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Bel telefoonnummer</string>
<string name="qr_tel_content_description">Bel het telefoonnummer</string>
<string name="qr_text">Tekst</string>
+ <string name="qr_upi_title">Kies app om te betalen</string>
+ <string name="qr_upi_content_description">Open deze UPI link naar de juiste app indien ondersteund</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open deze URL met de juiste app indien ondersteund</string>
<string name="qr_vin_title">Zoek VIN</string>
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 0900d7d..99eb4a1 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Zadzwoń pod numer telefonu</string>
<string name="qr_tel_content_description">Zadzwoń pod ten numer telefonu</string>
<string name="qr_text">Tekst</string>
+ <string name="qr_upi_title">Wybierz aplikację do wykonania płatności</string>
+ <string name="qr_upi_content_description">Otwórz ten adres UPI za pomocą odpowiedniej aplikacji, jeśli jest obsługiwany</string>
<string name="qr_uri_title">Otwórz adres URL</string>
<string name="qr_uri_content_description">Otwórz ten adres URL za pomocą odpowiedniej aplikacji, jeśli jest obsługiwany</string>
<string name="qr_vin_title">Wyszukaj VIN</string>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 2ee2bd3..bbc612f 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -8,6 +8,7 @@
<string name="video_camera_label">Filmadora</string>
<string name="cancel_button_description">Cancelar</string>
<string name="confirm_button_description">Confirmar</string>
+ <string name="flash_button_description">Modo flash</string>
<string name="flip_camera_button_description">Virar câmera</string>
<string name="gallery_button_description">Galeria</string>
<string name="google_lens_button_description">Abrir Google Lens</string>
@@ -18,6 +19,7 @@
<string name="timer_off">Temporizador desativado</string>
<string name="timer_3">Temporizador 3s</string>
<string name="timer_10">Temporizador 10s</string>
+ <string name="video_framerate_auto">QPS automático</string>
<string name="video_framerate_value"><xliff:g example="60" id="fps">%d</xliff:g> QPS</string>
<string name="effect_none">NENHUM</string>
<string name="effect_night">NOITE</string>
@@ -27,31 +29,138 @@
<string name="grid_on_3">GRADE 3x3</string>
<string name="grid_on_4">GRADE 4x4</string>
<string name="grid_on_goldenratio">GRADE φ</string>
+ <string name="mic_off">MICROFONE DESLIGADO</string>
+ <string name="mic_on">MICROFONE LIGADO</string>
<string name="settings">CONFIGURAÇÕES</string>
<string name="app_permissions_toast">Permissões não concedidas pelo usuário.</string>
+ <string name="camcorder_unsupported_toast">Nenhuma câmera suporta gravação de vídeo.</string>
<string name="qr_copy_description">Copiar para a área de transferência</string>
<string name="qr_icon_description">Ícone</string>
<string name="qr_share_description">Compartilhar</string>
+ <string name="qr_no_app_available_for_action">Nenhum app disponível para lidar com esta ação</string>
+ <string name="qr_address_title">Adicionar contato</string>
+ <string name="qr_address_content_description">Adicionar contato</string>
+ <string name="qr_calendar_title">Adicionar evento ao calendário</string>
+ <string name="qr_calendar_content_description">Adicionar este evento ao calendário</string>
<string name="qr_dpp_description">Configurar este dispositivo</string>
+ <string name="qr_email_title">Enviar um novo email</string>
+ <string name="qr_email_content_description">Escrever um novo e-mail para os endereços de e-mail especificados</string>
+ <string name="qr_fido_title">Usar chave de acesso</string>
+ <string name="qr_fido_content_description">Lidar com este QR Code FIDO</string>
+ <string name="qr_geo_title">Abrir esta localização</string>
+ <string name="qr_geo_content_description">Abrir esta localização</string>
+ <string name="qr_isbn_title">Pesquisar este ISBN</string>
+ <string name="qr_isbn_content_description">Pesquisar este ISBN no isbnsearch.org</string>
+ <string name="qr_product_title">Procurar produto</string>
+ <string name="qr_product_content_description">Pesquisar o código de barras desse produto</string>
+ <string name="qr_sms_title">Enviar um novo SMS</string>
+ <string name="qr_sms_content_description">Enviar um novo SMS para os destinatários especificados</string>
+ <string name="qr_tel_title">Ligar para número de telefone</string>
+ <string name="qr_tel_content_description">Ligar para o número de telefone</string>
<string name="qr_text">Texto</string>
+ <string name="qr_upi_title">Escolha o aplicativo de pagamento</string>
+ <string name="qr_upi_content_description">Abrir este link UPI com o aplicativo apropriado, se suportado</string>
+ <string name="qr_uri_title">Abrir URL</string>
+ <string name="qr_uri_content_description">Abrir esta URL com o aplicativo apropriado, se suportado</string>
+ <string name="qr_vin_title">Procurar VIN</string>
+ <string name="qr_vin_content_description">Procurar este número de identificação de veículo (VIN)</string>
<string name="qr_wifi_title">Conectar-se a esta rede Wi-Fi</string>
+ <string name="qr_wifi_content_description">Adicionar esta rede Wi-Fi à lista de redes conhecidas e conectar o dispositivo a ela</string>
<string name="title_activity_settings">Configurações</string>
<string name="general_header">Geral</string>
<string name="photos_header">Fotos</string>
<string name="video_header">Vídeo</string>
+ <string name="advanced_header">Avançado</string>
+ <string name="bright_screen_title">Tela brilhante</string>
+ <string name="bright_screen_summary" formatted="false">Bloqueia o brilho em 100%</string>
+ <string name="save_location_title">Guardar dados de localização</string>
+ <string name="save_location_summary">Incluir localização por GPS nos metadados</string>
+ <string name="save_location_toast">Permissões de localização não concedidas pelo usuário.</string>
<string name="shutter_sound_title">Som do obturador</string>
<string name="shutter_sound_summary">Tocar um som ao capturar</string>
<string name="leveler_title">Nivelador</string>
<string name="leveler_summary">Indicador que mostra a orientação do dispositivo</string>
+ <string name="volume_buttons_action_title">Ação dos botões de volume</string>
<string name="photo_capture_mode_title">Modo de captura</string>
+ <string name="photo_capture_mode_maximize_quality">Maximizar qualidade</string>
<string name="photo_capture_mode_minimize_latency">Minimizar latência</string>
<string name="enable_zsl_title">Ativar ZSL quando disponível</string>
+ <string name="enable_zsl_summary">Usar o modo Zero-Shutter Lag quando a câmera suportar. Neste modo os efeitos das fotos são desativados. Note que este modo é experimental.</string>
<string name="photo_ffc_mirror_title">Espelhar câmera frontal</string>
+ <string name="photo_ffc_mirror_summary">Salvar as fotos da câmera frontal como elas aparecem na pré-visualização</string>
<string name="video_stabilization_title">Ativar estabilização de vídeo</string>
+ <string name="video_stabilization_summary">Quando disponível, habilitar a estabilização de vídeo para reduzir vibrações da câmera durante a gravação</string>
+ <string name="video_mirror_mode_title">Ativar espelhamento de vídeo</string>
+ <string name="processing_title">Processando</string>
+ <string name="processing_info">No modo foto, quando o modo ZSL é utilizado, apenas os valores padrão e desligado serão considerados. Para o modo vídeo, apenas os valores padrão, desligado e rápido serão considerados.</string>
+ <string name="edge_mode_title">Nitidez</string>
+ <string name="edge_mode_summary">O aprimoramento de bordas melhora a nitidez e os detalhes da imagem capturada.</string>
+ <string name="edge_mode_default">Padrão</string>
+ <string name="edge_mode_off">Desligado</string>
+ <string name="edge_mode_fast">Rápido</string>
+ <string name="edge_mode_high_quality">Alta qualidade</string>
+ <string name="noise_reduction_mode_title">Redução de ruído</string>
+ <string name="noise_reduction_mode_summary">O algoritmo de redução de ruído tenta melhorar a qualidade da imagem removendo o ruído excessivo adicionado pelo processo de captura, especialmente em ambientes escuros.</string>
+ <string name="noise_reduction_mode_default">Padrão</string>
+ <string name="noise_reduction_mode_off">Desligado</string>
+ <string name="noise_reduction_mode_fast">Rápido</string>
+ <string name="noise_reduction_mode_high_quality">Alta qualidade</string>
+ <string name="noise_reduction_mode_minimal">Mínimo</string>
+ <string name="shading_mode_title">Correção de vinheta</string>
+ <string name="shading_mode_summary">Qualidade da correção de sombreamento da lente aplicada aos dados da imagem.</string>
+ <string name="shading_mode_default">Padrão</string>
+ <string name="shading_mode_off">Desligado</string>
+ <string name="shading_mode_fast">Rápido</string>
+ <string name="shading_mode_high_quality">Alta qualidade</string>
+ <string name="color_correction_aberration_mode_title">Correção de aberração de cor</string>
+ <string name="color_correction_aberration_mode_summary">A aberração cromática (cor) é causada pelo fato de que diferentes comprimentos de onda de luz não conseguem focar no mesmo ponto após sair da lente.</string>
+ <string name="color_correction_aberration_mode_default">Padrão</string>
+ <string name="color_correction_aberration_mode_off">Desligado</string>
+ <string name="color_correction_aberration_mode_fast">Rápido</string>
+ <string name="color_correction_aberration_mode_high_quality">Alta qualidade</string>
+ <string name="distortion_correction_mode_title">Correção de distorção</string>
+ <string name="distortion_correction_mode_summary">Modo de operação do bloco de correção de distorção da lente.</string>
+ <string name="distortion_correction_mode_default">Padrão</string>
+ <string name="distortion_correction_mode_off">Desligado</string>
+ <string name="distortion_correction_mode_fast">Rápido</string>
+ <string name="distortion_correction_mode_high_quality">Alta qualidade</string>
+ <string name="hot_pixel_mode_title">Correção de pixels quentes</string>
+ <string name="hot_pixel_mode_summary">A correção de pixels quentes interpola ou remove pixels que não medem com precisão a luz recebida (ou seja, pixels que estão presos em um valor arbitrário ou são supersensíveis).</string>
+ <string name="hot_pixel_mode_default">Padrão</string>
+ <string name="hot_pixel_mode_off">Desligado</string>
+ <string name="hot_pixel_mode_fast">Rápido</string>
+ <string name="hot_pixel_mode_high_quality">Alta qualidade</string>
<string name="shortcut_selfie">Tirar uma selfie</string>
<string name="shortcut_video">Gravar um vídeo</string>
<string name="shortcut_qr">Escanear código de barras</string>
<string name="location_permission_dialog_title">Adicionar a localização em fotos e vídeos</string>
<string name="location_permission_dialog_description">Mapeie suas memórias ao incluir metadados de localização em cada captura.</string>
<string name="location_permission_dialog_later">Mais tarde</string>
+ <string name="location_permission_dialog_turn_on">Ativar</string>
+ <string name="error_max_cameras_in_use">O número máximo de câmeras abertas foi atingido, tente fechar outros aplicativos usando as câmeras do dispositivo.</string>
+ <string name="error_camera_in_use">Esta câmera já está em uso, tente fechar o aplicativo que está utilizando a mesma.</string>
+ <string name="error_stream_config">Ocorreu um erro ao preparar a transmissão. Por favor, informe isso aos desenvolvedores.</string>
+ <string name="error_other_recoverable_error">Erro ao configurar a sessão. O aplicativo tentará se recuperar.</string>
+ <string name="error_camera_disabled">A câmera está desativada. Isso pode ser causado pela política do dispositivo.</string>
+ <string name="error_camera_fatal_error">Ocorreu um erro fatal. Tente reiniciar o seu dispositivo.</string>
+ <string name="error_do_not_disturb_mode_enabled">O modo Não Perturbe está ativado. Desative-o e abra o aplicativo novamente.</string>
+ <string name="error_unknown_recoverable">Um erro desconhecido recuperável foi encontrado. Informe isso aos desenvolvedores.</string>
+ <string name="error_unknown_critical">Um erro crítico desconhecido foi encontrado. Informe isso aos desenvolvedores.</string>
+ <string name="error_no_cameras_available">Nenhuma câmera foi encontrada no dispositivo, não é possível iniciar o aplicativo.</string>
+ <string name="gesture_action_shutter">Obturador</string>
+ <string name="gesture_action_zoom">Zoom</string>
+ <string name="gesture_action_volume">Volume</string>
+ <string name="gesture_action_nothing">Nada</string>
+ <string name="thermal_status_moderate">Limitação térmica moderada, certifique-se de que o dispositivo não está sob a luz solar direta.</string>
+ <string name="thermal_status_severe">Limitação térmica severa, é recomendado deixar o aparelho esfriar um pouco.</string>
+ <string name="thermal_status_critical">Limitação térmica crítica, o aplicativo poderá ser fechado em breve.</string>
+ <string name="thermal_status_emergency">Limitação térmica de emergência, o aplicativo será fechado agora.</string>
+ <string name="thermal_status_shutdown">Desligamento por limitação térmica, o dispositivo será desligado.</string>
+ <string name="force_torch_help">No modo foto, você pode manter pressionado o botão do flash para alternar para o modo lanterna.</string>
+ <string name="camera_mode_photo">Foto</string>
+ <string name="camera_mode_video">Vídeo</string>
+ <string name="camera_mode_qr">Escanear</string>
+ <string name="video_mirror_mode_off">Desativado</string>
+ <string name="video_mirror_mode_on">Ativado</string>
+ <string name="video_mirror_mode_on_ffc_only">Somente câmera frontal</string>
</resources>
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index e0b48c6..1906c79 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 1a09720..5eba985 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Sună la numărul de telefon</string>
<string name="qr_tel_content_description">Apelaţi numărul de telefon</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Alegeți aplicația pentru plată</string>
+ <string name="qr_upi_content_description">Deschide acest link UPI cu aplicația corespunzătoare dacă este suportată</string>
<string name="qr_uri_title">Deschide URL</string>
<string name="qr_uri_content_description">Deschide această adresă URL cu aplicația corespunzătoare dacă este acceptată</string>
<string name="qr_vin_title">Caută VIN</string>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 871f068..b30aef5 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Позвонить по номеру</string>
<string name="qr_tel_content_description">Позвонить по номеру</string>
<string name="qr_text">Текст</string>
+ <string name="qr_upi_title">Выберите приложение для оплаты</string>
+ <string name="qr_upi_content_description">Открыть этот URL в соответствующем приложении, если поддерживается</string>
<string name="qr_uri_title">Открыть URL</string>
<string name="qr_uri_content_description">Открыть этот URL-адрес в соответствующем приложении, если поддерживается</string>
<string name="qr_vin_title">Поиск VIN</string>
diff --git a/app/src/main/res/values-sc-rIT/strings.xml b/app/src/main/res/values-sc-rIT/strings.xml
index d549e14..d051697 100644
--- a/app/src/main/res/values-sc-rIT/strings.xml
+++ b/app/src/main/res/values-sc-rIT/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index 4d9bbcf..7922020 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Kliči telefonsko številko</string>
<string name="qr_tel_content_description">Kličite telefonsko številko</string>
<string name="qr_text">Besedilo</string>
+ <string name="qr_upi_title">Izberite aplikacijo za plačilo</string>
+ <string name="qr_upi_content_description">Odpri to UPI povezavo s primerno aplikacijo, če je podprto</string>
<string name="qr_uri_title">Odpri URL</string>
<string name="qr_uri_content_description">Odprite ta URL s primerno aplikacijo, če je podprto</string>
<string name="qr_vin_title">Išči VIN</string>
diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml
index 56875f9..9053a5d 100644
--- a/app/src/main/res/values-sq/strings.xml
+++ b/app/src/main/res/values-sq/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 3ca2f14..6df62bb 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 9392e74..f95fd32 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 0be71ca..0a97a24 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">Gọi số điện thoại</string>
<string name="qr_tel_content_description">Gọi số điện thoại</string>
<string name="qr_text">Văn bản</string>
+ <string name="qr_upi_title">Chọn ứng dụng để thanh toán</string>
+ <string name="qr_upi_content_description">Mở liên kết UPI này bằng ứng dụng thích hợp nếu được hỗ trợ</string>
<string name="qr_uri_title">Mở URL</string>
<string name="qr_uri_content_description">Mở URL này bằng ứng dụng thích hợp nếu được hỗ trợ</string>
<string name="qr_vin_title">Tra cứu số VIN</string>
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index c63b895..ecbcda2 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -58,6 +58,8 @@
<string name="qr_tel_title">拨打电话号码</string>
<string name="qr_tel_content_description">拨打电话号码</string>
<string name="qr_text">文本</string>
+ <string name="qr_upi_title">选择用于支付的应用</string>
+ <string name="qr_upi_content_description">在可用的情况下,使用支持的应用打开UPI链接</string>
<string name="qr_uri_title">打开网址</string>
<string name="qr_uri_content_description">如果支持的话,用适当的应用程序打开此网址</string>
<string name="qr_vin_title">查找 VIN</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index db4a379..b5f635d 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -44,13 +44,26 @@
<string name="qr_calendar_content_description">將此活動新增至日曆</string>
<string name="qr_dpp_description">設定此裝置</string>
<string name="qr_email_title">傳送新電子郵件</string>
+ <string name="qr_email_content_description">撰寫一封新郵件給指定的電子郵件地址</string>
+ <string name="qr_fido_title">使用通行金鑰</string>
+ <string name="qr_fido_content_description">處理此 FIDO QR code</string>
+ <string name="qr_geo_title">開啟此位置</string>
+ <string name="qr_geo_content_description">開啟此位置</string>
+ <string name="qr_isbn_title">搜尋此 ISBN</string>
+ <string name="qr_isbn_content_description">在 isbnsearch.org 上搜尋此 ISBN</string>
+ <string name="qr_product_title">搜尋產品</string>
+ <string name="qr_product_content_description">搜尋此產品 ID 條碼</string>
<string name="qr_sms_title">傳送新簡訊</string>
<string name="qr_sms_content_description">傳送新簡訊至指定收件者</string>
<string name="qr_tel_title">撥打電話號碼</string>
<string name="qr_tel_content_description">撥打電話號碼</string>
<string name="qr_text">文字</string>
+ <string name="qr_upi_title">選擇應用程式進行付款</string>
+ <string name="qr_upi_content_description">使用適當的應用程式(若支援)開啟此 UPI 連結</string>
<string name="qr_uri_title">開啟 URL</string>
<string name="qr_uri_content_description">使用適當的應用程式(若支援)開啟此 URL</string>
+ <string name="qr_vin_title">搜尋 VIN</string>
+ <string name="qr_vin_content_description">搜尋此車輛識別號碼 (VIN)</string>
<string name="qr_wifi_title">連線至此 Wi-Fi 網路</string>
<string name="qr_wifi_content_description">新增此 Wi-Fi 網路至已知網路清單並將裝置連線至該網路</string>
<string name="title_activity_settings">設定</string>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1df5385..48d2653 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
@@ -85,6 +85,8 @@
<string name="qr_tel_title">Call phone number</string>
<string name="qr_tel_content_description">Call the phone number</string>
<string name="qr_text">Text</string>
+ <string name="qr_upi_title">Choose app to pay</string>
+ <string name="qr_upi_content_description">Open this UPI link with the appropriate app if supported</string>
<string name="qr_uri_title">Open URL</string>
<string name="qr_uri_content_description">Open this URL with the appropriate app if supported</string>
<string name="qr_vin_title">Lookup VIN</string>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index d84a99d..24ace57 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:tools="http://schemas.android.com/tools">
@@ -35,11 +35,10 @@
<!-- Secondary top bar icons theme -->
<style name="Theme.Aperture.Camera.SecondaryTopBarButton" parent="Theme.Aperture.Camera.SecondaryBarButton">
- <item name="android:layout_width">0dp</item>
+ <item name="android:layout_width">96dp</item>
<item name="android:layout_height">wrap_content</item>
- <item name="layout_constraintDimensionRatio">1:1</item>
- <item name="layout_constraintHorizontal_bias">0.5</item>
- <item name="layout_constraintVertical_bias">0.0</item>
+ <item name="android:hyphenationFrequency">normal</item>
+ <item name="android:maxLines">3</item>
<item name="android:paddingHorizontal">0dp</item>
<item name="android:textStyle">bold</item>
<item name="android:typeface">monospace</item>
@@ -47,8 +46,9 @@
<!-- Secondary bottom bar icons theme -->
<style name="Theme.Aperture.Camera.SecondaryBottomBarButton" parent="Theme.Aperture.Camera.SecondaryBarButton">
- <item name="android:layout_width">40dp</item>
- <item name="android:layout_height">40dp</item>
+ <item name="android:layout_width">48dp</item>
+ <item name="android:layout_height">48dp</item>
+ <item name="android:padding">4dp</item>
</style>
<!-- Info chip -->
diff --git a/build.gradle.kts b/build.gradle.kts
index 721a781..6db3c5e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -5,8 +5,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id("com.android.application") version "8.2.1" apply false
- id("com.android.library") version "8.2.1" apply false
+ id("com.android.application") version "8.4.0" apply false
+ id("com.android.library") version "8.4.0" apply false
id("org.jetbrains.kotlin.android") version "1.7.10" apply false
}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index d64cd49..e644113 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 1af9e09..b82aa23 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew.bat b/gradlew.bat
index 6689b85..7101f8e 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -43,11 +43,11 @@
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
@@ -57,11 +57,11 @@
if exist "%JAVA_EXE%" goto execute
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
diff --git a/settings.gradle.kts b/settings.gradle.kts
index b23a790..de0c7c0 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
+ * SPDX-FileCopyrightText: 2022-2024 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
@@ -13,7 +13,7 @@
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
- maven("https://raw.githubusercontent.com/lineage-next/camerax-aperture/c8fdd97d7a0a080cb520acd7855717b9f60cec1f/.m2")
+ maven("https://raw.githubusercontent.com/lineage-next/camerax-aperture/bdc457ba0021c05507c4bec14806c120e132a37f/.m2")
google()
mavenCentral()
}