{ "output": "Found 4 matches for pattern \"AttachmentPicked\" in path \"app/src/main/java/com/servicebook/ui/records/AddEditRecordViewModel.kt\":\n---\nFile: AddEditRecordViewModel.kt\nL86- \nL87- data class IsDiyChanged(val value: Boolean) : AddEditRecordEvent()\nL88- \nL89- data class NotesChanged(val value: String) : AddEditRecordEvent()\nL90- \nL91: data class AttachmentPicked(val uri: Uri, val filename: String) : AddEditRecordEvent()\nL92- \nL93- data class RequestDeleteAttachment(val filename: String) : AddEditRecordEvent()\nL94- \nL95- data class TogglePredefinedItem(val id: String) : AddEditRecordEvent()\nL96- \nL272- performerError = null,\nL273- )\nL274- }\nL275- is AddEditRecordEvent.NotesChanged ->\nL276- _state.update { it.copy(notes = event.value.take(MAX_NOTES_LENGTH)) }\nL277: is AddEditRecordEvent.AttachmentPicked ->\nL278: guardWrites { handleAttachmentPicked(event.uri, event.filename) }\nL279- is AddEditRecordEvent.RequestDeleteAttachment ->\nL280- _state.update { it.copy(pendingDeleteAttachmentFilename = event.filename) }\nL281- is AddEditRecordEvent.TogglePredefinedItem -> {\nL282- val def = PREDEFINED_WORK_ITEMS.first { it.id == event.id }\nL283- _state.update { s ->\nL350- }\nL351- AddEditRecordEvent.Save -> save()\nL352- }\nL353- }\nL354- \nL355: private fun handleAttachmentPicked(\nL356- uri: Uri,\nL357- filename: String,\nL358- ) {\nL359- val sanitized = VaultPathHelper.sanitizeFilename(filename)\nL360- viewModelScope.launch {\n---" }