[external/jetpack-camera-app]Merge upstream-main branch
Merge up to aa880197
Also adds camera-video dep and uncommented related codes.
Added tracing dep.
Removed camera-extension dep as it is unused.
Test: Compilation successful
Change-Id: Ib1b4a361c0204067a0c62227068a832ce021a56f
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..efeb54e
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,17 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+subdirs = [
+ "app",
+ "core/common",
+ "camera-viewfinder-compose",
+ "data/settings",
+ "domain/camera",
+ "feature",
+
+ ]
+
+
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..11465c3
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,20 @@
+name: "jetpack-camera-app"
+description:
+ "Jetpack Camera App is (will be) a fully functional camera app, focused on "
+ "features used by app developers, and built entirely with CameraX, Kotlin "
+ "and Jetpack Compose. It follows Android design and development best "
+ "practices and it's intended to be a useful reference for developers."
+
+third_party {
+ url {
+ type: HOMEPAGE
+ value: "https://github.com/google/jetpack-camera-app"
+ }
+ url {
+ type: GIT
+ value: "https://github.com/google/jetpack-camera-app"
+ }
+ version: "3ae0900e248937bd7439b3d3c22360f2a7265153"
+ last_upgrade_date { year: 2023 month: 11 day: 17 }
+ license_type: NOTICE
+}
diff --git a/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_APACHE2
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..6a44f69
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,7 @@
+# Default owners are top 3 active developers of the past 1 or 2 years
+# or people with more than 10 commits last year.
+# Please update this list if you find better owner candidates.
+trevormcguire@google.com
+yasith@google.com
+davidjia@google.com
+kcrevecoeur@google.com
diff --git a/app/Android.bp b/app/Android.bp
new file mode 100644
index 0000000..778e3cd
--- /dev/null
+++ b/app/Android.bp
@@ -0,0 +1,35 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_app {
+ name: "jetpack-camera-app",
+ static_libs:[
+ "androidx.compose.material3_material3",
+ "androidx.compose.ui_ui-tooling-preview",
+ "androidx.compose.ui_ui-tooling",
+ "androidx.lifecycle_lifecycle-viewmodel-compose",
+ "androidx.activity_activity-compose",
+ "androidx.core_core-ktx",
+ "androidx.lifecycle_lifecycle-runtime-ktx",
+ "androidx.navigation_navigation-compose",
+ "hilt_android",
+ "androidx.compose.runtime_runtime",
+ "jetpack-camera-app_data_settings",
+ "jetpack-camera-app_feature_preview",
+ "jetpack-camera-app_feature_settings",
+ ],
+ srcs: [
+ "src/main/**/*.kt",
+ ],
+
+ resource_dirs: [
+ "src/main/res",
+ ],
+ manifest: "src/main/AndroidManifest.xml",
+ sdk_version: "34",
+ min_sdk_version: "21",
+}
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 682206b..42c1a61 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,7 +15,8 @@
~ limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools">
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.google.jetpackcamera">
<uses-feature
android:name="android.hardware.camera"
@@ -54,4 +55,5 @@
</intent-filter>
</activity>
</application>
-</manifest>
\ No newline at end of file
+
+</manifest>
diff --git a/app/src/main/java/com/google/jetpackcamera/JetpackCameraApplication.kt b/app/src/main/java/com/google/jetpackcamera/JetpackCameraApplication.kt
index aca5cdd..fc87bfc 100644
--- a/app/src/main/java/com/google/jetpackcamera/JetpackCameraApplication.kt
+++ b/app/src/main/java/com/google/jetpackcamera/JetpackCameraApplication.kt
@@ -21,5 +21,5 @@
/**
* [Application] class for JetpackCameraApp.
*/
-@HiltAndroidApp
-class JetpackCameraApplication : Application()
+@HiltAndroidApp(Application::class)
+class JetpackCameraApplication : Hilt_JetpackCameraApplication()
diff --git a/app/src/main/java/com/google/jetpackcamera/MainActivity.kt b/app/src/main/java/com/google/jetpackcamera/MainActivity.kt
index f0e2723..42220d1 100644
--- a/app/src/main/java/com/google/jetpackcamera/MainActivity.kt
+++ b/app/src/main/java/com/google/jetpackcamera/MainActivity.kt
@@ -60,8 +60,8 @@
/**
* Activity for the JetpackCameraApp.
*/
-@AndroidEntryPoint
-class MainActivity : ComponentActivity() {
+@AndroidEntryPoint(ComponentActivity::class)
+class MainActivity : Hilt_MainActivity() {
private val viewModel: MainActivityViewModel by viewModels()
@VisibleForTesting
diff --git a/app/src/main/java/com/google/jetpackcamera/ui/JcaApp.kt b/app/src/main/java/com/google/jetpackcamera/ui/JcaApp.kt
index aed7433..8193c03 100644
--- a/app/src/main/java/com/google/jetpackcamera/ui/JcaApp.kt
+++ b/app/src/main/java/com/google/jetpackcamera/ui/JcaApp.kt
@@ -23,9 +23,9 @@
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
-import com.google.accompanist.permissions.ExperimentalPermissionsApi
-import com.google.accompanist.permissions.isGranted
-import com.google.accompanist.permissions.rememberPermissionState
+//import com.google.accompanist.permissions.ExperimentalPermissionsApi
+//import com.google.accompanist.permissions.isGranted
+//import com.google.accompanist.permissions.rememberPermissionState
import com.google.jetpackcamera.feature.preview.PreviewMode
import com.google.jetpackcamera.feature.preview.PreviewScreen
import com.google.jetpackcamera.feature.preview.PreviewViewModel
@@ -33,27 +33,27 @@
import com.google.jetpackcamera.ui.Routes.PREVIEW_ROUTE
import com.google.jetpackcamera.ui.Routes.SETTINGS_ROUTE
-@OptIn(ExperimentalPermissionsApi::class)
+//@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun JcaApp(
onPreviewViewModel: (PreviewViewModel) -> Unit,
/*TODO(b/306236646): remove after still capture*/
previewMode: PreviewMode
) {
- val permissionState =
- rememberPermissionState(permission = Manifest.permission.CAMERA)
+// val permissionState = Manifest.permission.CAMERA
+// rememberPermissionState(permission = Manifest.permission.CAMERA)
- if (permissionState.status.isGranted) {
+// if (permissionState.status.isGranted) {
JetpackCameraNavHost(
onPreviewViewModel = onPreviewViewModel,
previewMode = previewMode
)
- } else {
- CameraPermission(
- modifier = Modifier.fillMaxSize(),
- cameraPermissionState = permissionState
- )
- }
+// } else {
+// CameraPermission(
+// modifier = Modifier.fillMaxSize(),
+// cameraPermissionState = permissionState
+// )
+// }
}
@Composable
@@ -77,3 +77,4 @@
}
}
}
+
diff --git a/app/src/main/java/com/google/jetpackcamera/ui/PermissionsUi.kt b/app/src/main/java/com/google/jetpackcamera/ui/PermissionsUi.kt
index 5100dff..adb56e1 100644
--- a/app/src/main/java/com/google/jetpackcamera/ui/PermissionsUi.kt
+++ b/app/src/main/java/com/google/jetpackcamera/ui/PermissionsUi.kt
@@ -43,16 +43,16 @@
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
-import com.google.accompanist.permissions.ExperimentalPermissionsApi
-import com.google.accompanist.permissions.PermissionState
+//import com.google.accompanist.permissions.ExperimentalPermissionsApi
+//import com.google.accompanist.permissions.PermissionState
import com.google.jetpackcamera.R
-@OptIn(ExperimentalPermissionsApi::class)
+//@OptIn(ExperimentalPermissionsApi::class)
@Composable
-fun CameraPermission(modifier: Modifier = Modifier, cameraPermissionState: PermissionState) {
+fun CameraPermission(modifier: Modifier = Modifier) {
PermissionTemplate(
modifier = modifier,
- permissionState = cameraPermissionState,
+// permissionState = cameraPermissionState,
painter = painterResource(id = R.drawable.photo_camera),
iconAccessibilityText = stringResource(id = R.string.camera_permission_accessibility_text),
title = stringResource(id = R.string.camera_permission_screen_title),
@@ -61,11 +61,11 @@
)
}
-@OptIn(ExperimentalPermissionsApi::class)
+//@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun PermissionTemplate(
modifier: Modifier = Modifier,
- permissionState: PermissionState,
+// permissionState: PermissionState,
onSkipPermission: (() -> Unit)? = null,
painter: Painter,
iconAccessibilityText: String,
@@ -100,7 +100,7 @@
.fillMaxWidth()
.align(Alignment.CenterHorizontally)
.height(IntrinsicSize.Min),
- permissionState = permissionState,
+// permissionState = permissionState,
requestButtonText = requestButtonText,
onSkipPermission = onSkipPermission
)
@@ -123,11 +123,11 @@
}
}
-@OptIn(ExperimentalPermissionsApi::class)
+//@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun PermissionButtonSection(
modifier: Modifier = Modifier,
- permissionState: PermissionState,
+// permissionState: PermissionState,
requestButtonText: String,
onSkipPermission: (() -> Unit)?
) {
@@ -138,7 +138,7 @@
.align(Alignment.Center)
) {
PermissionButton(
- permissionState = permissionState,
+// permissionState = permissionState,
requestButtonText = requestButtonText
)
Spacer(modifier = Modifier.height(20.dp))
@@ -156,11 +156,11 @@
}
}
-@OptIn(ExperimentalPermissionsApi::class)
+//@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun PermissionButton(
modifier: Modifier = Modifier,
- permissionState: PermissionState,
+// permissionState: PermissionState,
requestButtonText: String
) {
Button(
@@ -169,7 +169,9 @@
containerColor = MaterialTheme.colorScheme.primaryContainer,
contentColor = MaterialTheme.colorScheme.onPrimaryContainer
),
- onClick = { permissionState.launchPermissionRequest() }
+ onClick = {
+// permissionState.launchPermissionRequest()
+ }
) {
Text(
modifier = Modifier.padding(10.dp),
@@ -233,3 +235,4 @@
textAlign = TextAlign.Center
)
}
+
diff --git a/camera-viewfinder-compose/Android.bp b/camera-viewfinder-compose/Android.bp
new file mode 100644
index 0000000..2b55a3f
--- /dev/null
+++ b/camera-viewfinder-compose/Android.bp
@@ -0,0 +1,23 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_camera-viewfinder-compose",
+ srcs: ["src/main/**/*.kt"],
+ static_libs: [
+ "androidx.compose.material3_material3",
+ "androidx.compose.runtime_runtime",
+ "androidx.compose.ui_ui-tooling-preview",
+ "androidx.compose.ui_ui-tooling",
+ "androidx.camera_camera-core",
+ "androidx.camera_camera-viewfinder",
+ "androidx.core_core",
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest:"src/main/AndroidManifest.xml"
+}
+
diff --git a/camera-viewfinder-compose/src/main/AndroidManifest.xml b/camera-viewfinder-compose/src/main/AndroidManifest.xml
index 5c675bb..426a891 100644
--- a/camera-viewfinder-compose/src/main/AndroidManifest.xml
+++ b/camera-viewfinder-compose/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.viewfinder">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/camera-viewfinder-compose/src/main/java/com/google/jetpackcamera/viewfinder/CameraPreview.kt b/camera-viewfinder-compose/src/main/java/com/google/jetpackcamera/viewfinder/CameraPreview.kt
index 0bdc770..97009b8 100644
--- a/camera-viewfinder-compose/src/main/java/com/google/jetpackcamera/viewfinder/CameraPreview.kt
+++ b/camera-viewfinder-compose/src/main/java/com/google/jetpackcamera/viewfinder/CameraPreview.kt
@@ -21,7 +21,6 @@
import android.view.View
import androidx.camera.core.Preview.SurfaceProvider
import androidx.camera.core.SurfaceRequest
-import androidx.camera.view.PreviewView.ImplementationMode
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
@@ -39,6 +38,20 @@
private const val TAG = "Preview"
+enum class ImplementationMode {
+ /**
+ * Use a [SurfaceView] for the preview when possible. If the device
+ * doesn't support [SurfaceView], [PreviewView] will fall back to use a
+ * [TextureView] instead.
+ */
+ PERFORMANCE,
+
+ /**
+ * Use a [TextureView] for the preview.
+ */
+ COMPATIBLE
+}
+
@Composable
fun CameraPreview(
modifier: Modifier,
diff --git a/core/common/Android.bp b/core/common/Android.bp
new file mode 100644
index 0000000..552b888
--- /dev/null
+++ b/core/common/Android.bp
@@ -0,0 +1,19 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_core_common",
+ srcs: ["src/main/**/*.kt"],
+ static_libs: [
+ "androidx.core_core-ktx",
+ "hilt_android",
+ "androidx.appcompat_appcompat",
+ "com.google.android.material_material",
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest:"src/main/AndroidManifest.xml"
+}
diff --git a/core/common/src/main/AndroidManifest.xml b/core/common/src/main/AndroidManifest.xml
index 5c675bb..1609b38 100644
--- a/core/common/src/main/AndroidManifest.xml
+++ b/core/common/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.core.common">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/data/settings/Android.bp b/data/settings/Android.bp
new file mode 100644
index 0000000..2abb0b4
--- /dev/null
+++ b/data/settings/Android.bp
@@ -0,0 +1,43 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+java_library {
+ name: "jetpack-camera-app-protos-java-gen",
+ installable: false,
+ proto: {
+ type: "lite",
+ canonical_path_from_root: false,
+ local_include_dirs: ["src/main/proto"],
+ },
+ srcs: [
+ "src/main/proto/**/*.proto",
+ ],
+ min_sdk_version: "21",
+ sdk_version: "34",
+
+ static_libs: [
+ "libprotobuf-java-lite",
+ ]
+}
+
+
+android_library {
+ name: "jetpack-camera-app_data_settings",
+ srcs: [
+ "src/main/**/*.kt",
+ ],
+ static_libs: [
+ "hilt_android",
+ "kotlinx-coroutines-core",
+ "androidx.datastore_datastore",
+ "jetpack-camera-app-protos-java-gen",
+ "libprotobuf-java-lite",
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest:"src/main/AndroidManifest.xml",
+}
+
diff --git a/data/settings/src/main/AndroidManifest.xml b/data/settings/src/main/AndroidManifest.xml
index 5c675bb..da78212 100644
--- a/data/settings/src/main/AndroidManifest.xml
+++ b/data/settings/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.data.settings">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/domain/camera/Android.bp b/domain/camera/Android.bp
new file mode 100644
index 0000000..e34d990
--- /dev/null
+++ b/domain/camera/Android.bp
@@ -0,0 +1,24 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_domain_camera",
+ srcs: ["src/main/**/*.kt"],
+ static_libs: [
+ "androidx.concurrent_concurrent-futures-ktx",
+ "hilt_android",
+ "androidx.camera_camera-core",
+ "androidx.camera_camera-viewfinder",
+ "androidx.camera_camera-video",
+ "androidx.camera_camera-camera2",
+ "androidx.camera_camera-lifecycle",
+ "jetpack-camera-app_data_settings",
+ "jetpack-camera-app_core_common",
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest: "src/main/AndroidManifest.xml",
+}
diff --git a/domain/camera/src/main/AndroidManifest.xml b/domain/camera/src/main/AndroidManifest.xml
index 1e7c244..2aa7dee 100644
--- a/domain/camera/src/main/AndroidManifest.xml
+++ b/domain/camera/src/main/AndroidManifest.xml
@@ -14,6 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.google.jetpackcamera.domain.camera">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CameraXCameraUseCase.kt b/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CameraXCameraUseCase.kt
index aa0f372..a640991 100644
--- a/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CameraXCameraUseCase.kt
+++ b/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CameraXCameraUseCase.kt
@@ -255,6 +255,7 @@
ContentValues().apply {
put(MediaStore.Video.Media.DISPLAY_NAME, name)
}
+
val mediaStoreOutput =
MediaStoreOutputOptions.Builder(
application.contentResolver,
@@ -514,3 +515,4 @@
else -> throw IllegalArgumentException("Invalid lens facing type: $lensFacing")
}
}
+
diff --git a/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CoroutineCameraProvider.kt b/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CoroutineCameraProvider.kt
index a056ec0..e55ae35 100644
--- a/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CoroutineCameraProvider.kt
+++ b/domain/camera/src/main/java/com/google/jetpackcamera/domain/camera/CoroutineCameraProvider.kt
@@ -71,5 +71,5 @@
}
}
- override fun getLifecycle() = lifecycleRegistry
+ override public val lifecycle: Lifecycle = lifecycleRegistry
}
diff --git a/feature/preview/Android.bp b/feature/preview/Android.bp
new file mode 100644
index 0000000..19485f4
--- /dev/null
+++ b/feature/preview/Android.bp
@@ -0,0 +1,35 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_feature_preview",
+ srcs: ["src/main/**/*.kt"],
+ resource_dirs: [
+ "src/main/res",
+ ],
+ static_libs: [
+ "androidx.compose.runtime_runtime",
+ "androidx.compose.material3_material3",
+ "androidx.compose.ui_ui-tooling-preview",
+ "androidx.tracing_tracing-ktx",
+ "hilt_android",
+ "androidx.hilt_hilt-navigation-compose",
+ "androidx.compose.ui_ui-tooling",
+ "kotlinx_coroutines_guava",
+ "androidx.datastore_datastore",
+ "libprotobuf-java-lite",
+ "androidx.camera_camera-core",
+ "androidx.camera_camera-viewfinder",
+ "jetpack-camera-app_data_settings",
+ "jetpack-camera-app_domain_camera",
+ "jetpack-camera-app_camera-viewfinder-compose",
+ "jetpack-camera-app_feature_quicksettings",
+
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest: "src/main/AndroidManifest.xml",
+}
diff --git a/feature/preview/src/main/AndroidManifest.xml b/feature/preview/src/main/AndroidManifest.xml
index 5c675bb..1fb3b89 100644
--- a/feature/preview/src/main/AndroidManifest.xml
+++ b/feature/preview/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.feature.preview">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/feature/quicksettings/Android.bp b/feature/quicksettings/Android.bp
new file mode 100644
index 0000000..8b0e3b6
--- /dev/null
+++ b/feature/quicksettings/Android.bp
@@ -0,0 +1,28 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_feature_quicksettings",
+ srcs: ["src/main/**/*.kt"],
+ static_libs: [
+ "androidx.compose.material3_material3",
+ "androidx.compose.runtime_runtime",
+ "androidx.compose.ui_ui-tooling-preview",
+ "androidx.compose.ui_ui-tooling",
+ "androidx.camera_camera-core",
+ "androidx.camera_camera-viewfinder",
+ "kotlinx_coroutines_guava",
+ "jetpack-camera-app_data_settings",
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest:"src/main/AndroidManifest.xml",
+ resource_dirs: [
+ "src/main/res",
+ ],
+}
+
+
diff --git a/feature/quicksettings/src/main/AndroidManifest.xml b/feature/quicksettings/src/main/AndroidManifest.xml
index 5c675bb..331bca7 100644
--- a/feature/quicksettings/src/main/AndroidManifest.xml
+++ b/feature/quicksettings/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.quicksettings">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/feature/settings/Android.bp b/feature/settings/Android.bp
new file mode 100644
index 0000000..2e21fb8
--- /dev/null
+++ b/feature/settings/Android.bp
@@ -0,0 +1,31 @@
+package {
+ default_applicable_licenses: [
+ "Android-Apache-2.0",
+ ],
+}
+
+android_library {
+ name: "jetpack-camera-app_feature_settings",
+ srcs: ["src/main/**/*.kt"],
+ resource_dirs: [
+ "src/main/res",
+ ],
+ static_libs: [
+ "androidx.compose.material3_material3",
+ "androidx.compose.material_material-icons-core",
+ "androidx.compose.runtime_runtime",
+ "androidx.compose.ui_ui-tooling-preview",
+ "hilt_android",
+ "androidx.compose.ui_ui-tooling",
+ "kotlinx_coroutines_guava",
+ "androidx.datastore_datastore",
+ "libprotobuf-java-lite",
+ "jetpack-camera-app_data_settings",
+ "androidx.hilt_hilt-navigation-compose",
+
+ ],
+ sdk_version: "34",
+ min_sdk_version: "21",
+ manifest:"src/main/AndroidManifest.xml"
+}
+
diff --git a/feature/settings/src/main/AndroidManifest.xml b/feature/settings/src/main/AndroidManifest.xml
index 5c675bb..cfecf54 100644
--- a/feature/settings/src/main/AndroidManifest.xml
+++ b/feature/settings/src/main/AndroidManifest.xml
@@ -14,6 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<manifest>
+<manifest package="com.google.jetpackcamera.settings">
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
index e970216..01ea1a4 100644
--- a/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
+++ b/feature/settings/src/main/java/com/google/jetpackcamera/settings/ui/SettingsComponents.kt
@@ -26,7 +26,7 @@
import androidx.compose.foundation.selection.selectableGroup
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
@@ -71,7 +71,7 @@
},
navigationIcon = {
IconButton(onClick = { navBack() }) {
- Icon(Icons.Filled.ArrowBack, stringResource(id = R.string.nav_back_accessibility))
+ Icon(Icons.AutoMirrored.Filled.ArrowBack, stringResource(id = R.string.nav_back_accessibility))
}
}
)