feat: FEATURE_CAMERA_ENABLED compile flag für KI-Kamera
- build.gradle.kts: buildConfigField FEATURE_CAMERA_ENABLED (default: true) - ItemListScreen: Camera-Icon nur wenn Flag gesetzt, onCameraClick optional - KrisenvorratNavGraph: CameraCapture-Route und Lambda nur wenn Flag gesetzt - SettingsScreen: KI-Erkennung-Section nur wenn Flag gesetzt
This commit is contained in:
parent
dd571f46fc
commit
809e6aa069
4 changed files with 46 additions and 37 deletions
|
|
@ -19,6 +19,7 @@ android {
|
|||
versionName = "1.2"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
buildConfigField("boolean", "FEATURE_CAMERA_ENABLED", "true")
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ internal fun ItemListScreen(
|
|||
onItemClick: (String) -> Unit,
|
||||
onCategoriesClick: () -> Unit,
|
||||
onLocationsClick: () -> Unit,
|
||||
onCameraClick: () -> Unit,
|
||||
onCameraClick: () -> Unit = {},
|
||||
viewModel: ItemListViewModel = hiltViewModel()
|
||||
) {
|
||||
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
|
||||
|
|
@ -61,12 +61,14 @@ internal fun ItemListScreen(
|
|||
TopAppBar(
|
||||
title = { Text("Artikel") },
|
||||
actions = {
|
||||
if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) {
|
||||
IconButton(onClick = onCameraClick) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.PhotoCamera,
|
||||
contentDescription = "Foto erfassen"
|
||||
)
|
||||
}
|
||||
}
|
||||
IconButton(onClick = { isMenuExpanded = true }) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.MoreVert,
|
||||
|
|
|
|||
|
|
@ -42,8 +42,10 @@ internal fun KrisenvorratNavGraph(
|
|||
onLocationsClick = {
|
||||
navController.navigate(Screen.LocationManagement)
|
||||
},
|
||||
onCameraClick = {
|
||||
navController.navigate(Screen.CameraCapture)
|
||||
onCameraClick = if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) {
|
||||
{ navController.navigate(Screen.CameraCapture) }
|
||||
} else {
|
||||
{}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
@ -56,6 +58,7 @@ internal fun KrisenvorratNavGraph(
|
|||
)
|
||||
}
|
||||
|
||||
if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) {
|
||||
composable<Screen.CameraCapture> {
|
||||
CameraScreen(
|
||||
onNavigateToItemForm = { prefillJson ->
|
||||
|
|
@ -64,6 +67,7 @@ internal fun KrisenvorratNavGraph(
|
|||
onNavigateBack = { navController.popBackStack() }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
composable<Screen.CategoryManagement> {
|
||||
CategoryListScreen(
|
||||
|
|
|
|||
|
|
@ -316,6 +316,7 @@ internal fun SettingsScreen(
|
|||
)
|
||||
}
|
||||
|
||||
if (de.krisenvorrat.app.BuildConfig.FEATURE_CAMERA_ENABLED) {
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
|
||||
HorizontalDivider()
|
||||
|
|
@ -348,6 +349,7 @@ internal fun SettingsScreen(
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (uiState.pendingImportUri != null) {
|
||||
AlertDialog(
|
||||
|
|
|
|||
Loading…
Reference in a new issue