Skip to content

Commit 923b8ca

Browse files
committed
* Fix form issues w/ new observations
* Do not add default forms to an observation more than once. * Filter archived forms when adding to new observation.
1 parent cf43fb1 commit 923b8ca

File tree

5 files changed

+16
-7
lines changed

5 files changed

+16
-7
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ Adheres to [Semantic Versioning](http://semver.org/).
99

1010
##### Bug Fixes
1111

12+
## [7.1.7](https://github.com/ngageoint/mage-android/releases/tag/7.1.7)
13+
14+
##### Features
15+
16+
##### Bug Fixes
17+
* Do not add default forms to an observation more than once.
18+
* Filter archived forms when adding to new observation.
19+
1220
## [7.1.6](https://github.com/ngageoint/mage-android/releases/tag/7.1.6)
1321

1422
##### Features

mage/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
}
1212

1313
group 'mil.nga.giat.mage'
14-
version '7.1.6'
14+
version '7.1.7'
1515
ext {
1616
sourceRefspec = Grgit.open(currentDir: project.rootDir).head().id
1717

@@ -69,7 +69,7 @@ android {
6969
applicationId "mil.nga.giat.mage"
7070
versionName project.version
7171
versionCode VERSION_CODE as int
72-
minSdkVersion 24
72+
minSdkVersion 25
7373
targetSdkVersion 30
7474
multiDexEnabled true
7575
resValue "string", "serverURLDefaultValue", serverURL

mage/src/main/java/mil/nga/giat/mage/form/FormViewModel.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,14 @@ open class FormViewModel @Inject constructor(
7777
event.forms.mapNotNull { form ->
7878
fromJson(form.json)
7979
}
80+
.filterNot { it.archived }
8081
.forEachIndexed { index, form ->
8182
formDefinitions.add(form)
8283

8384
val defaultForm = FormPreferences(context, event.id, form.id).getDefaults()
84-
repeat((form.min ?: 0) + if (form.default) 1 else 0) {
85+
val formMin = form.min ?: 0
86+
val formCount = formMin + if (form.default && formMin == 0) 1 else 0
87+
repeat(formCount) {
8588
val formState = FormState.fromForm(eventId = event.remoteId, form = form, defaultForm = defaultForm)
8689
formState.expanded.value = index == 0
8790
forms.add(formState)

mage/src/main/java/mil/nga/giat/mage/observation/edit/FormPickerBottomSheetFragment.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,12 @@ class FormPickerBottomSheetFragment: BottomSheetDialogFragment() {
6060

6161
val forms = jsonForms
6262
.asSequence()
63-
.map { form ->
63+
.mapNotNull { form ->
6464
JsonParser.parseString(form.json).asJsonObjectOrNull()?.let { json ->
6565
Form.fromJson(json)
6666
}
6767
}
68-
.filterNotNull()
69-
.filter { !it.archived }
68+
.filterNot { it.archived }
7069
.map { form ->
7170
val formMax = form.max
7271
val totalOfForm = viewModel.observationState.value?.forms?.value?.filter { it.definition.id == form.id }?.size ?: 0

mage/src/main/java/mil/nga/giat/mage/sdk/preferences/ServerApi.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ private void parseAuthenticationStrategies(JSONObject json) {
112112
* @param json json value
113113
*/
114114
private void populateValues(String sharedPreferenceName, JSONObject json) {
115-
@SuppressWarnings("unchecked")
116115
Iterator<String> iter = json.keys();
117116
while (iter.hasNext()) {
118117
String key = iter.next();

0 commit comments

Comments
 (0)