diff --git a/android/app/src/main/java/com/yarisobd/app/DashcamViewModel.kt b/android/app/src/main/java/com/yarisobd/app/DashcamViewModel.kt index dc142a3..399a8b7 100644 --- a/android/app/src/main/java/com/yarisobd/app/DashcamViewModel.kt +++ b/android/app/src/main/java/com/yarisobd/app/DashcamViewModel.kt @@ -144,7 +144,14 @@ class DashcamViewModel(application: Application) : AndroidViewModel(application) fun deleteVideo(video: VideoFile) { viewModelScope.launch { try { - api.deleteVideo(mapOf("path" to video.path)) + val result = api.deleteVideo(mapOf("path" to video.path)) + val status = result["status"]?.let { it.toString().trim('"') } ?: "unknown" + if (status == "ok") { + _downloadEvents.emit("✓ Deleted: ${video.path}") + } else { + val msg = result["message"]?.let { it.toString().trim('"') } ?: status + _downloadEvents.emit("✗ Delete: $msg") + } loadVideos() } catch (e: Exception) { _error.value = "Delete failed: ${e.message}" diff --git a/android/app/src/main/java/com/yarisobd/app/data/remote/PiApi.kt b/android/app/src/main/java/com/yarisobd/app/data/remote/PiApi.kt index 74e4e51..3b043a9 100644 --- a/android/app/src/main/java/com/yarisobd/app/data/remote/PiApi.kt +++ b/android/app/src/main/java/com/yarisobd/app/data/remote/PiApi.kt @@ -2,6 +2,7 @@ package com.yarisobd.app.data.remote import com.yarisobd.app.data.remote.dto.GpsStatus import com.yarisobd.app.data.remote.dto.VideoListResponse +import kotlinx.serialization.json.JsonObject import okhttp3.ResponseBody import retrofit2.http.Body import retrofit2.http.GET @@ -33,5 +34,5 @@ interface PiApi { /** Delete local copy only */ @HTTP(method = "DELETE", path = "/api/local-video", hasBody = true) - suspend fun deleteVideo(@Body body: Map): Map + suspend fun deleteVideo(@Body body: Map): JsonObject }