Napraw aparat po obrocie telefonu

This commit is contained in:
admin
2026-08-10 11:06:13 +02:00
parent b8b135ee63
commit 08fcb25a2a
3 changed files with 15 additions and 12 deletions
@@ -1,5 +1,6 @@
package pl.firmatpp.kierowca.data package pl.firmatpp.kierowca.data
import java.io.Serializable
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.toRequestBody
@@ -9,7 +10,7 @@ data class PhotoUploadMetadata(
val latitude: Double? = null, val latitude: Double? = null,
val longitude: Double? = null, val longitude: Double? = null,
val locationAccuracyMeters: Double? = null, val locationAccuracyMeters: Double? = null,
) ) : Serializable
fun PhotoUploadMetadata.toMultipartTextParts(): Map<String, RequestBody> = buildMap { fun PhotoUploadMetadata.toMultipartTextParts(): Map<String, RequestBody> = buildMap {
takenAt?.let { put("takenAt", it.toPlainTextBody()) } takenAt?.let { put("takenAt", it.toPlainTextBody()) }
@@ -115,6 +115,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.snapshotFlow import androidx.compose.runtime.snapshotFlow
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
@@ -4462,16 +4463,16 @@ private fun RouteStageScreen(
) { ) {
val context = LocalContext.current val context = LocalContext.current
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()
var cameraUri by remember { mutableStateOf<Uri?>(null) } var cameraUri by rememberSaveable(stage) { mutableStateOf<Uri?>(null) }
var pendingCameraMode by remember { mutableStateOf<RouteStageCameraMode?>(null) } var pendingCameraMode by rememberSaveable(stage) { mutableStateOf<RouteStageCameraMode?>(null) }
var showMultiplePhotoCamera by remember(stage) { mutableStateOf(false) } var showMultiplePhotoCamera by rememberSaveable(stage) { mutableStateOf(false) }
var multiplePhotoLocationMetadata by remember(stage) { mutableStateOf(PhotoUploadMetadata()) } var multiplePhotoLocationMetadata by rememberSaveable(stage) { mutableStateOf(PhotoUploadMetadata()) }
var showPreciseLocationPermissionDialog by remember { mutableStateOf(false) } var showPreciseLocationPermissionDialog by rememberSaveable(stage) { mutableStateOf(false) }
var voiceDictationActive by remember(stage) { mutableStateOf(false) } var voiceDictationActive by remember(stage) { mutableStateOf(false) }
var cameraAttachmentTarget by remember(stage) { mutableStateOf<RouteWorkflowAttachmentTarget?>(null) } var cameraAttachmentTarget by rememberSaveable(stage) { mutableStateOf<RouteWorkflowAttachmentTarget?>(null) }
var pickerAttachmentTarget by remember(stage) { mutableStateOf<RouteWorkflowAttachmentTarget?>(null) } var pickerAttachmentTarget by rememberSaveable(stage) { mutableStateOf<RouteWorkflowAttachmentTarget?>(null) }
var singlePhotoLocationMetadata by remember(stage) { mutableStateOf(PhotoUploadMetadata()) } var singlePhotoLocationMetadata by rememberSaveable(stage) { mutableStateOf(PhotoUploadMetadata()) }
var singlePhotoMetadataGeneration by remember(stage) { mutableStateOf(0L) } var singlePhotoMetadataGeneration by rememberSaveable(stage) { mutableStateOf(0L) }
val route = state.displaySelectedRoute val route = state.displaySelectedRoute
val stagePhotos = route?.photos?.let { routePhotosForStage(it, stage) }.orEmpty() val stagePhotos = route?.photos?.let { routePhotosForStage(it, stage) }.orEmpty()
val stageUploads = state.photoUploads.filter { normalizedRoutePhotoStage(it.stage) == stage } val stageUploads = state.photoUploads.filter { normalizedRoutePhotoStage(it.stage) == stage }
@@ -4858,7 +4859,7 @@ private fun RouteStageScreen(
private data class RouteWorkflowAttachmentTarget( private data class RouteWorkflowAttachmentTarget(
val stepId: String, val stepId: String,
val documentId: String, val documentId: String,
) ) : java.io.Serializable
@Composable @Composable
private fun RouteWorkflowStepsCard( private fun RouteWorkflowStepsCard(
@@ -43,6 +43,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@@ -74,7 +75,7 @@ internal fun MultiplePhotoCameraScreen(
imageCaptureMode = ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY imageCaptureMode = ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY
} }
} }
var capturedCount by remember { mutableIntStateOf(0) } var capturedCount by rememberSaveable(stage) { mutableIntStateOf(0) }
var pendingUploads by remember { mutableIntStateOf(0) } var pendingUploads by remember { mutableIntStateOf(0) }
var isCapturing by remember { mutableStateOf(false) } var isCapturing by remember { mutableStateOf(false) }
var cameraUnavailable by remember { mutableStateOf(false) } var cameraUnavailable by remember { mutableStateOf(false) }