Skip to content

Commit

Permalink
Merge branch 'master' into ak/http-logger
Browse files Browse the repository at this point in the history
  • Loading branch information
aditya-07 committed Oct 3, 2022
2 parents bacb64c + a939137 commit a8a2f42
Show file tree
Hide file tree
Showing 15 changed files with 521 additions and 541 deletions.
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {
}

dependencies {
implementation("com.diffplug.spotless:spotless-plugin-gradle:5.12.5")
implementation("com.diffplug.spotless:spotless-plugin-gradle:6.6.0")

implementation("com.android.tools.build:gradle:7.1.1")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,9 @@ class QuestionnaireItemPhoneNumberViewHolderFactoryInstrumentedTest {
)

assertThat(
viewHolder
.itemView
viewHolder.itemView
.findViewById<TextInputEditText>(R.id.text_input_edit_text)
.text
.toString()
.text.toString()
)
.isEqualTo("+12345678910")
}
Expand Down Expand Up @@ -137,11 +135,9 @@ class QuestionnaireItemPhoneNumberViewHolderFactoryInstrumentedTest {
)

assertThat(
viewHolder
.itemView
viewHolder.itemView
.findViewById<TextInputEditText>(R.id.text_input_edit_text)
.text
.toString()
.text.toString()
)
.isEqualTo("")
}
Expand All @@ -158,8 +154,7 @@ class QuestionnaireItemPhoneNumberViewHolderFactoryInstrumentedTest {
answersChangedCallback = { _, _, _ -> },
)
viewHolder.bind(questionnaireItemViewItem)
viewHolder
.itemView
viewHolder.itemView
.findViewById<TextInputEditText>(R.id.text_input_edit_text)
.setText("+12345678910")
assertThat(questionnaireItemViewItem.answers.single().valueStringType.value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@ internal val Questionnaire.QuestionnaireItemComponent.itemControl: ItemControlTy
.firstOrNull {
it.url == EXTENSION_ITEM_CONTROL_URL || it.url == EXTENSION_ITEM_CONTROL_URL_ANDROID_FHIR
}
?.value as
CodeableConcept?
?.value as CodeableConcept?
val code =
codeableConcept?.coding
codeableConcept
?.coding
?.firstOrNull {
it.system == EXTENSION_ITEM_CONTROL_SYSTEM ||
it.system == EXTENSION_ITEM_CONTROL_SYSTEM_ANDROID_FHIR
Expand All @@ -122,8 +122,8 @@ internal const val EXTENSION_CHOICE_ORIENTATION_URL =
internal val Questionnaire.QuestionnaireItemComponent.choiceOrientation: ChoiceOrientationTypes?
get() {
val code =
(this.extension.firstOrNull { it.url == EXTENSION_CHOICE_ORIENTATION_URL }?.value as
CodeType?)
(this.extension.firstOrNull { it.url == EXTENSION_CHOICE_ORIENTATION_URL }?.value
as CodeType?)
?.valueAsString
return ChoiceOrientationTypes.values().firstOrNull { it.extensionCode == code }
}
Expand Down Expand Up @@ -260,10 +260,11 @@ internal val Questionnaire.QuestionnaireItemComponent.isInstructionsCode: Boolea
return when (type) {
Questionnaire.QuestionnaireItemType.DISPLAY -> {
val codeableConcept =
this.extension.firstOrNull { it.url == EXTENSION_DISPLAY_CATEGORY_URL }?.value as
CodeableConcept?
this.extension.firstOrNull { it.url == EXTENSION_DISPLAY_CATEGORY_URL }?.value
as CodeableConcept?
val code =
codeableConcept?.coding
codeableConcept
?.coding
?.firstOrNull { it.system == EXTENSION_DISPLAY_CATEGORY_SYSTEM }
?.code
code == INSTRUCTIONS
Expand Down Expand Up @@ -317,9 +318,9 @@ fun Questionnaire.QuestionnaireItemComponent.createQuestionnaireResponseItem():
// Return expression if QuestionnaireItemComponent has ENABLE WHEN EXPRESSION URL
val Questionnaire.QuestionnaireItemComponent.enableWhenExpression: Expression?
get() {
return this.extension.firstOrNull { it.url == EXTENSION_ENABLE_WHEN_EXPRESSION_URL }?.let {
it.value as Expression
}
return this.extension
.firstOrNull { it.url == EXTENSION_ENABLE_WHEN_EXPRESSION_URL }
?.let { it.value as Expression }
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat
}
val uri: Uri = state[QuestionnaireFragment.EXTRA_QUESTIONNAIRE_RESPONSE_JSON_URI]!!
questionnaireResponse =
parser.parseResource(application.contentResolver.openInputStream(uri)) as
QuestionnaireResponse
parser.parseResource(application.contentResolver.openInputStream(uri))
as QuestionnaireResponse
checkQuestionnaireResponse(questionnaire, questionnaireResponse)
}
state.contains(QuestionnaireFragment.EXTRA_QUESTIONNAIRE_RESPONSE_JSON_STRING) -> {
Expand Down Expand Up @@ -171,19 +171,19 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat
}
}

questionnaireItemParentMap =
buildMap {
for (item in questionnaire.item) {
buildParentList(item, this)
}
questionnaireItemParentMap = buildMap {
for (item in questionnaire.item) {
buildParentList(item, this)
}
}
}

/** The map from each item in the [QuestionnaireResponse] to its parent. */
private val questionnaireResponseItemParentMap =
mutableMapOf<
QuestionnaireResponse.QuestionnaireResponseItemComponent,
QuestionnaireResponse.QuestionnaireResponseItemComponent>()
QuestionnaireResponse.QuestionnaireResponseItemComponent
>()

init {
/** Adds each child-parent pair in the [QuestionnaireResponse] to the parent map. */
Expand Down Expand Up @@ -261,17 +261,18 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat
(
Questionnaire.QuestionnaireItemComponent,
QuestionnaireResponse.QuestionnaireResponseItemComponent,
List<QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent>) -> Unit =
{ questionnaireItem, questionnaireResponseItem, answers ->
// TODO(jingtang10): update the questionnaire response item pre-order list and the parent map
questionnaireResponseItem.answer = answers.toList()
if (questionnaireItem.hasNestedItemsWithinAnswers) {
questionnaireResponseItem.addNestedItemsToAnswer(questionnaireItem)
}
List<QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent>
) -> Unit =
{ questionnaireItem, questionnaireResponseItem, answers ->
// TODO(jingtang10): update the questionnaire response item pre-order list and the parent map
questionnaireResponseItem.answer = answers.toList()
if (questionnaireItem.hasNestedItemsWithinAnswers) {
questionnaireResponseItem.addNestedItemsToAnswer(questionnaireItem)
}

modifiedQuestionnaireResponseItemSet.add(questionnaireResponseItem)
modificationCount.update { it + 1 }
}
modifiedQuestionnaireResponseItemSet.add(questionnaireResponseItem)
modificationCount.update { it + 1 }
}

private val answerValueSetMap =
mutableMapOf<String, List<Questionnaire.QuestionnaireItemAnswerOptionComponent>>()
Expand All @@ -288,7 +289,8 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat

internal fun goToPreviousPage() {
when (entryMode) {
EntryMode.PRIOR_EDIT, EntryMode.RANDOM -> {
EntryMode.PRIOR_EDIT,
EntryMode.RANDOM -> {
val previousPageIndex =
pages!!.indexOfLast { it.index < currentPageIndexFlow.value!! && it.enabled }
check(previousPageIndex != -1) {
Expand All @@ -304,7 +306,8 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat

internal fun goToNextPage() {
when (entryMode) {
EntryMode.PRIOR_EDIT, EntryMode.SEQUENTIAL -> {
EntryMode.PRIOR_EDIT,
EntryMode.SEQUENTIAL -> {
if (!isPaginationButtonPressed) {
// Force update validation results for all questions on the current page. This is needed
// when the user has not answered any questions so no validation has been done.
Expand Down Expand Up @@ -387,11 +390,13 @@ internal class QuestionnaireViewModel(application: Application, state: SavedStat
}
?.let { resource ->
val valueSet = resource as ValueSet
valueSet.expansion.contains.filterNot { it.abstract || it.inactive }.map { component ->
Questionnaire.QuestionnaireItemAnswerOptionComponent(
Coding(component.system, component.code, component.display)
)
}
valueSet.expansion.contains
.filterNot { it.abstract || it.inactive }
.map { component ->
Questionnaire.QuestionnaireItemAnswerOptionComponent(
Coding(component.system, component.code, component.display)
)
}
}
} else {
// Ask the client to provide the answers from an external expanded Valueset.
Expand Down
Loading

0 comments on commit a8a2f42

Please sign in to comment.