Add GPS geotagging toggle to camera top bar
Users can now opt out of embedding GPS coordinates in photos. The toggle is persisted via SharedPreferences and defaults to enabled. When disabled, effectiveLocation returns null so no EXIF GPS tags are written. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c3e4dc0e79
commit
e9bef0607f
3 changed files with 39 additions and 4 deletions
|
|
@ -39,6 +39,8 @@ import androidx.compose.material.icons.filled.Close
|
|||
import androidx.compose.material.icons.filled.FlipCameraAndroid
|
||||
import androidx.compose.material.icons.filled.PhotoLibrary
|
||||
import androidx.compose.material.icons.filled.RestartAlt
|
||||
import androidx.compose.material.icons.filled.LocationOff
|
||||
import androidx.compose.material.icons.filled.LocationOn
|
||||
import androidx.compose.material.icons.filled.Tune
|
||||
import androidx.compose.material3.CircularProgressIndicator
|
||||
import androidx.compose.material3.Icon
|
||||
|
|
@ -107,6 +109,7 @@ fun CameraScreen(
|
|||
val lastSavedUri by viewModel.lastSavedUri.collectAsState()
|
||||
val lastThumbnailBitmap by viewModel.lastThumbnailBitmap.collectAsState()
|
||||
val galleryPreviewBitmap by viewModel.galleryPreviewBitmap.collectAsState()
|
||||
val geotagEnabled by viewModel.geotagEnabled.collectAsState()
|
||||
val isGalleryPreview = galleryPreviewBitmap != null
|
||||
|
||||
val zoomRatio by viewModel.cameraManager.zoomRatio.collectAsState()
|
||||
|
|
@ -254,6 +257,20 @@ fun CameraScreen(
|
|||
}
|
||||
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
// GPS geotagging toggle
|
||||
IconButton(
|
||||
onClick = {
|
||||
viewModel.toggleGeotag()
|
||||
viewModel.haptics.tick()
|
||||
}
|
||||
) {
|
||||
Icon(
|
||||
imageVector = if (geotagEnabled) Icons.Default.LocationOn else Icons.Default.LocationOff,
|
||||
contentDescription = if (geotagEnabled) "Disable GPS geotagging" else "Enable GPS geotagging",
|
||||
tint = if (geotagEnabled) Color.White else Color.White.copy(alpha = 0.5f)
|
||||
)
|
||||
}
|
||||
|
||||
if (!isGalleryPreview) {
|
||||
// Camera flip button
|
||||
IconButton(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue