diff --git a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt index c672e79136..8ab4c5cae4 100644 --- a/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt +++ b/catalog/src/main/java/com/google/android/fhir/catalog/DemoQuestionnaireFragment.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 Google LLC + * Copyright 2023-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt index d9025fd284..249f4fe575 100644 --- a/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt +++ b/datacapture/src/main/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItem.kt @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 Google LLC + * Copyright 2023-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -195,7 +195,11 @@ data class QuestionnaireViewItem( * if question is answered else 'Not Answered' */ fun answerString(context: Context): String { - if (!questionnaireResponseItem.hasAnswer()) return context.getString(R.string.not_answered) + if (!questionnaireResponseItem.hasAnswer()) { + return context.getString(R.string.not_answered) + } else if (questionnaireItem.type == Questionnaire.QuestionnaireItemType.ATTACHMENT) { + return context.getString(R.string.answered) + } return questionnaireResponseItem.answer.joinToString { it.value.displayString(context) } } diff --git a/datacapture/src/main/res/values/strings.xml b/datacapture/src/main/res/values/strings.xml index 9944225995..2aad66d9e2 100644 --- a/datacapture/src/main/res/values/strings.xml +++ b/datacapture/src/main/res/values/strings.xml @@ -38,7 +38,8 @@ - "Not Answered" + Not Answered + Answered Help diff --git a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt index f0696055fc..7f5e37a43b 100644 --- a/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt +++ b/datacapture/src/test/java/com/google/android/fhir/datacapture/views/QuestionnaireViewItemTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 Google LLC + * Copyright 2022-2025 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1003,4 +1003,20 @@ class QuestionnaireViewItemTest { ) .isTrue() } + + @Test + fun `answerString() should return answered with answered`() { + val questionnaireViewItem = + QuestionnaireViewItem( + Questionnaire.QuestionnaireItemComponent(), + QuestionnaireResponse.QuestionnaireResponseItemComponent() + .addAnswer( + QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent() + .setValue(StringType("Attachment")), + ), + validationResult = Valid, + answersChangedCallback = { _, _, _, _ -> }, + ) + assertThat(questionnaireViewItem.answerString(context)).isEqualTo("Attachment") + } }