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 bả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()
     }
