Skip to content

Commit

Permalink
Updated the toggle visibility of specify food sources and barcode at …
Browse files Browse the repository at this point in the history
…food sample testing. resolved a null pointer exception error with provide label at sixty day form
  • Loading branch information
Flava177 committed Jan 24, 2025
1 parent 5b1d8d7 commit 61bde81
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
// public static final int DATABASE_VERSION = 307;
//public static final int DATABASE_VERSION = 343;
// public static final int DATABASE_VERSION = 410;
public static final int DATABASE_VERSION = 429;
public static final int DATABASE_VERSION = 431;

private static DatabaseHelper instance = null;
private final Context context;
Expand Down Expand Up @@ -4513,6 +4513,10 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
+ " UNIQUE (snapshot ASC, uuid ASC)"
+ ");"
);

case 430:
currentVersion = 430;
getDao(Sample.class).executeRaw("ALTER TABLE sixtyday ADD barcode varchar(255)");
// ATTENTION: break should only be done after last version
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ public class SixtyDay extends PseudonymizableAdo {
private Date dateOfCompletionOfForm;
@Column
private String nameOfHealthFacility;
@Column
private String barcode;

public String getPersonExamineCase() {
return personExamineCase;
Expand Down Expand Up @@ -490,6 +492,14 @@ public void setNameOfHealthFacility(String nameOfHealthFacility) {
this.nameOfHealthFacility = nameOfHealthFacility;
}

public String getBarcode() {
return barcode;
}

public void setBarcode(String barcode) {
this.barcode = barcode;
}

@Transient
public Set<ParalysisSite> getParalysisWeaknessPresentSite() {
if (paralysisWeaknessPresentSite == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ public void fillInnerFromDto(SixtyDay target, SixtyDayDto source) {
target.setFoodTel(source.getFoodTel());
target.setFoodAvailableTesting(source.getFoodAvailableTesting());
target.setLabTestConducted(source.getLabTestConducted());
target.setBarcode(source.getBarcode());
}

@Override
Expand Down Expand Up @@ -134,6 +135,7 @@ public void fillInnerFromAdo(SixtyDayDto target, SixtyDay source) {
target.setFoodTel(source.getFoodTel());
target.setFoodAvailableTesting(source.getFoodAvailableTesting());
target.setLabTestConducted(source.getLabTestConducted());
target.setBarcode(source.getBarcode());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@
import static android.view.View.GONE;
import static android.view.View.VISIBLE;

import android.content.Intent;
import android.content.res.Resources;
import android.view.View;

import androidx.annotation.Nullable;

import com.google.android.gms.common.api.CommonStatusCodes;

import java.util.List;

Expand All @@ -37,6 +43,7 @@
import de.symeda.sormas.app.R;
import de.symeda.sormas.app.backend.caze.Case;
import de.symeda.sormas.app.backend.sixtyday.SixtyDay;
import de.symeda.sormas.app.barcode.BarcodeActivity;
import de.symeda.sormas.app.component.Item;
import de.symeda.sormas.app.databinding.FragmentCaseEditSixtydayLayoutBinding;
import de.symeda.sormas.app.util.DataUtils;
Expand Down Expand Up @@ -107,6 +114,7 @@ public void onLayoutBinding(final FragmentCaseEditSixtydayLayoutBinding contentB
contentBinding.sixtyDayDateOfManufacture.initializeDateField(getFragmentManager());
contentBinding.sixtyDayExpirationDate.initializeDateField(getFragmentManager());
contentBinding.sixtyDayPackagingType.initializeSpinner(packageTypeList);
contentBinding.sixtyDaySpecifySources.setVisibility(GONE);

if (caze.getDisease() != null) {
super.hideFieldsForDisease(caze.getDisease(), contentBinding.mainContent, FormType.SIXTY_DAY_FOLLOW_UP_EDIT);
Expand All @@ -130,6 +138,9 @@ protected void onAfterLayoutBinding(FragmentCaseEditSixtydayLayoutBinding conten
getContentBinding().sixtyDayPackagingTypeOther.setVisibility(VISIBLE);
}

getContentBinding().buttonScanFieldSixtyDayId.setVisibility(GONE);
getContentBinding().sixtyDayHeadingProvide.setVisibility(GONE);

getContentBinding().sixtyDayFoodAvailableTesting.addValueChangedListener( field ->{
YesNoUnknown value = (YesNoUnknown) field.getValue();
if (value == YesNoUnknown.YES) {
Expand All @@ -139,13 +150,29 @@ protected void onAfterLayoutBinding(FragmentCaseEditSixtydayLayoutBinding conten
}
});

if (getContentBinding().sixtyDaySpecifySources.getValue() != null) {
/*if (getContentBinding().sixtyDaySpecifySources.getValue() != null) {
getContentBinding().sixtyDaySpecifySources.setVisibility(VISIBLE);
}
}*/

contentBinding.buttonScanFieldSixtyDayId.setOnClickListener((View v) -> {
Intent intent = new Intent(getContext(), BarcodeActivity.class);
startActivityForResult(intent, BarcodeActivity.RC_BARCODE_CAPTURE);
});
}

@Override
public int getEditLayout() {
return R.layout.fragment_case_edit_sixtyday_layout;
}

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == BarcodeActivity.RC_BARCODE_CAPTURE) {
if (resultCode == CommonStatusCodes.SUCCESS && data != null) {
getContentBinding().sixtyDayBarcode.setValue(data.getStringExtra(BarcodeActivity.BARCODE_RESULT));
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,28 @@

</LinearLayout>

<LinearLayout
android:id="@+id/sixtyDay_scan_field_fieldSixtyDayLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<de.symeda.sormas.app.component.controls.ControlButton
android:id="@+id/button_scan_field_sixtyDay_id"
android:textColor="@color/whiteOpaque"
android:text="@string/scan_field_sample_id"
app:buttonType="@{ControlButtonType.PRIMARY}"
style="@style/ControlFirstOfTwoColumnsStyle" />

<de.symeda.sormas.app.component.controls.ControlTextEditField
android:id="@+id/sixtyDay_barcode"
app:value="@={data.barcode}"
app:dependencyParentField="@{sixtyDayFoodAvailableTesting}"
app:dependencyParentValue="@{YesNoUnknown.YES}"
style="@style/ControlSecondOfTwoColumnsStyle" />

</LinearLayout>

<LinearLayout
android:id="@+id/sixtyDay_manufactureExpirationDate_layout"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,14 @@ protected void addFields() {

setVisible(true,
SixtyDayDto.FOOD_AVAILABLE_TESTING, SixtyDayDto.LAB_TEST_CONDUCTED);

foodAvailable.addValueChangeListener(field -> {
Object rawValue = ((NullableOptionGroup)field.getProperty()).getNullableValue();
YesNoUnknown value = (YesNoUnknown) rawValue;

boolean provideTrue = value == YesNoUnknown.YES;
headingProvide.setVisible(provideTrue);
});
}

FieldHelper.setVisibleWhen(
Expand All @@ -214,14 +222,6 @@ protected void addFields() {
packagingTypeOther.setVisible(isOther);
});

foodAvailable.addValueChangeListener(field -> {
Object rawValue = ((NullableOptionGroup)field.getProperty()).getNullableValue();
YesNoUnknown value = (YesNoUnknown) rawValue;

boolean provideTrue = value == YesNoUnknown.YES;
headingProvide.setVisible(provideTrue);
});

}

private Label createLabel(String text, String h4, String location) {
Expand Down

0 comments on commit 61bde81

Please sign in to comment.