From 365613be700e4edc181c2af70f08dcd5f1021d72 Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 11 Feb 2021 00:51:01 -0500 Subject: [PATCH 01/17] feature/Basic inspection form UI --- .idea/.name | 1 + .idea/vcs.xml | 6 + app/src/main/AndroidManifest.xml | 1 + .../InspectionForm.java | 128 ++++++++++++++++++ .../home/HomeFragment.java | 10 ++ app/src/main/res/values/strings.xml | 2 + 6 files changed, 148 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/vcs.xml create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..c6e7f40 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +StormWaterUtilityAndroid \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5d437cc..1f7f4e7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,6 +20,7 @@ + diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java new file mode 100644 index 0000000..d39429e --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -0,0 +1,128 @@ +package com.sf.stormwaterutilityandroid; + +import android.os.Bundle; +import android.widget.Button; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import me.riddhimanadib.formmaster.FormBuilder; +import me.riddhimanadib.formmaster.model.BaseFormElement; +import me.riddhimanadib.formmaster.model.FormElementPickerDate; +import me.riddhimanadib.formmaster.model.FormElementPickerMulti; +import me.riddhimanadib.formmaster.model.FormElementPickerSingle; +import me.riddhimanadib.formmaster.model.FormElementSwitch; +import me.riddhimanadib.formmaster.model.FormElementTextEmail; +import me.riddhimanadib.formmaster.model.FormElementTextMultiLine; +import me.riddhimanadib.formmaster.model.FormElementTextPhone; +import me.riddhimanadib.formmaster.model.FormElementTextSingleLine; +import me.riddhimanadib.formmaster.model.FormHeader; + +public class InspectionForm extends AppCompatActivity { + private FormBuilder formBuilder; + private RecyclerView recyclerView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_sample_fordm); + recyclerView = findViewById(R.id.recyclerView2); + setupForm(); + } + + + private void setupForm() { + formBuilder = new FormBuilder(this, recyclerView); + + + + FormElementTextSingleLine projectTextField = FormElementTextSingleLine.createInstance().setTitle("Project/Contact:").setHint("Enter text here"); + FormElementTextSingleLine addressTextField = FormElementTextSingleLine.createInstance().setTitle("Address/Lot#(s):").setHint("Enter text here"); + FormElementTextSingleLine inspectorTextField = FormElementTextSingleLine.createInstance().setTitle("Inspector:").setHint("Enter name here"); + FormElementPickerDate dataInspectedDatePicker = FormElementPickerDate.createInstance().setTitle("Date Inspected:").setDateFormat("MMM dd, yyyy"); + + + List typeOptions = new ArrayList<>(Arrays.asList( + "Routine Evaluation", + "Re-Inspection", + "Complaint Investigation", + "Entire Development", + "Individual Building Lot(s)" + )); + FormElementPickerSingle inspectionTypePickerSingle = FormElementPickerSingle.createInstance().setTitle("Inspection type:").setOptions(typeOptions).setPickerTitle("Pick inspection type"); + + FormElementSwitch projectRepPresentSwitch = FormElementSwitch.createInstance().setTitle("Project Representative Present?").setSwitchTexts("Yes", "No"); + + FormHeader stakeholdersHeader = FormHeader.createInstance("THE FOLLOWING INDIVIDUALS BECAME AWARE OF ANY ISSUES THOUGH DISCUSSION AND REVIEW OF FINDINGS ON THE DAY OF INSPECTION:"); + FormElementTextSingleLine projectManagerTextField = FormElementTextSingleLine.createInstance().setTitle("Project Manager:").setHint("Enter name here"); + FormElementTextSingleLine siteManagerTextField = FormElementTextSingleLine.createInstance().setTitle("Site Manager:").setHint("Enter name here"); + FormElementTextSingleLine projectOwnerTextField = FormElementTextSingleLine.createInstance().setTitle("Project Owner").setHint("Enter name here"); + + + FormHeader correctiveActionsHeader = FormHeader.createInstance("CORRECTIVE ACTIONS REQUIRED\n***REDER TO APPROVED STORM WATER POLLUTION PREVENTION PLAN (SWP3) FOR SPECIFICATIONS AND DETAILS ON ITEMS BELOW***"); + List correctiveActionsOptions= new ArrayList<>(Arrays.asList( + "Post a laminated copy of completed 327IAC15-5 \"Rule 5\" NOI with permit number at a location visible to the public", + "Remove accumulated sediment from streets sidewalks and gutters (do not flush with water)", + "Install/maintain stable temporary construction entrances(s)", "Entire Development", + "Individual Building Lot(s)", + "Address silt fence issues which includes one or more of the following: Repair, install properly, Replace, Add (areas prone to sheet-flow erosion)", + "Install erosions and sediment control for individual building lot(s) as specified in the approved SWP3", + "Install check dam(s) according to specifications", + "Utilize appropriate construction sequence as specified in the approved SWP3", + "Remove sediment from one or more of the following: sediment traps, behind check dams, around storm drain inlets or/and other", + "Inform Contractors, subcontractors, material vendors, and others or erosion and sediment control requirements", + "Provide copy and self-monitoring inspection records to MS Coordinator within 48 hours", + "Acquire copy of Storm Water Pollution Prevention Plan and retain on project site for reference" + )); + FormElementPickerMulti correctiveActionsPickerMulti = FormElementPickerMulti.createInstance().setTitle("Corrective Actions").setOptions(correctiveActionsOptions).setPickerTitle("Pick corrective action"); + + FormElementTextMultiLine otherCorrectiveAction1TextField = FormElementTextMultiLine.createInstance().setTitle("Other 1:").setHint("Enter text here"); + FormElementTextMultiLine otherCorrectiveAction2TextField = FormElementTextMultiLine.createInstance().setTitle("Other 2:").setHint("Enter text here"); + FormElementTextMultiLine otherCorrectiveAction3TextField = FormElementTextMultiLine.createInstance().setTitle("Other 3:").setHint("Enter text here"); + + + FormHeader enforcementActionHeader = FormHeader.createInstance("ENFORCEMENT ACTIONS"); + List enforcementActionOptions = new ArrayList<>(Arrays.asList( + "Notice of Violation Issued", + "Stop Work Order Issued", + "Fine(s) Issued", + "Other" + )); + FormElementPickerSingle enforcementActionPickerSingle = FormElementPickerSingle.createInstance().setTitle("Inspection type:").setOptions(enforcementActionOptions).setPickerTitle("Pick inspection type"); + + FormElementTextMultiLine evidenceTextField = FormElementTextMultiLine.createInstance().setTitle("Evidence of off-site sediment/pollutants.\nHere is a description of type and location:").setHint("Enter text here"); + + List formItems = new ArrayList<>(); + + formItems.add(projectTextField); + formItems.add(addressTextField); + formItems.add(inspectorTextField); + formItems.add(dataInspectedDatePicker); + + formItems.add(inspectionTypePickerSingle); + formItems.add(projectRepPresentSwitch); + + formItems.add(stakeholdersHeader); + formItems.add(projectManagerTextField); + formItems.add(siteManagerTextField); + formItems.add(projectOwnerTextField); + + formItems.add(correctiveActionsHeader); + formItems.add(correctiveActionsPickerMulti); + formItems.add(otherCorrectiveAction1TextField); + formItems.add(otherCorrectiveAction2TextField); + formItems.add(otherCorrectiveAction3TextField); + + formItems.add(enforcementActionHeader); + formItems.add(enforcementActionPickerSingle); + + formItems.add(evidenceTextField); + + formBuilder.addFormElements(formItems); + + } +} diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java index 7809a22..75b11d9 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/home/HomeFragment.java @@ -10,6 +10,7 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import com.sf.stormwaterutilityandroid.InspectionForm; import com.sf.stormwaterutilityandroid.R; import com.sf.stormwaterutilityandroid.SampleFordm; @@ -31,6 +32,15 @@ public void onClick(View view) { } }); + b1 = root.findViewById(R.id.button2); + b1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(getContext(), InspectionForm.class)); + } + }); + + //CHeck To5a.03 project for dealing saved instance state /* if (savedInstanceState != null) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 85a4fdb..381a669 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -46,4 +46,6 @@ Registered Successfully! An email has been sent to verify your email; this must be done before logging in. Sign in + + \ No newline at end of file From 4172104d7214222225be38b84eb11abfcb5feca7 Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 11 Feb 2021 16:24:02 -0500 Subject: [PATCH 02/17] feature/added submit button listener --- .../stormwaterutilityandroid/InspectionForm.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index d39429e..0098a52 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -1,6 +1,7 @@ package com.sf.stormwaterutilityandroid; import android.os.Bundle; +import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; @@ -31,6 +32,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample_fordm); recyclerView = findViewById(R.id.recyclerView2); + setupForm(); } @@ -38,8 +40,6 @@ protected void onCreate(Bundle savedInstanceState) { private void setupForm() { formBuilder = new FormBuilder(this, recyclerView); - - FormElementTextSingleLine projectTextField = FormElementTextSingleLine.createInstance().setTitle("Project/Contact:").setHint("Enter text here"); FormElementTextSingleLine addressTextField = FormElementTextSingleLine.createInstance().setTitle("Address/Lot#(s):").setHint("Enter text here"); FormElementTextSingleLine inspectorTextField = FormElementTextSingleLine.createInstance().setTitle("Inspector:").setHint("Enter name here"); @@ -96,6 +96,15 @@ private void setupForm() { FormElementTextMultiLine evidenceTextField = FormElementTextMultiLine.createInstance().setTitle("Evidence of off-site sediment/pollutants.\nHere is a description of type and location:").setHint("Enter text here"); + Button submitButton = new Button(getApplicationContext()); + submitButton.setText("Submit"); + submitButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + } + }); + List formItems = new ArrayList<>(); formItems.add(projectTextField); @@ -122,7 +131,8 @@ private void setupForm() { formItems.add(evidenceTextField); - formBuilder.addFormElements(formItems); + formBuilder.addFormElements(formItems); + recyclerView.addView(submitButton); } } From 042f8d49b2b873f8a2dad67a0930a996d8f2057c Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:59:14 -0500 Subject: [PATCH 03/17] feature/created constructionFormData class and populated it in actionListener --- .../InspectionForm.java | 160 +++++++++++++----- 1 file changed, 113 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index d4b0d62..975ca71 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; import me.riddhimanadib.formmaster.FormBuilder; @@ -17,9 +18,7 @@ import me.riddhimanadib.formmaster.model.FormElementPickerMulti; import me.riddhimanadib.formmaster.model.FormElementPickerSingle; import me.riddhimanadib.formmaster.model.FormElementSwitch; -import me.riddhimanadib.formmaster.model.FormElementTextEmail; import me.riddhimanadib.formmaster.model.FormElementTextMultiLine; -import me.riddhimanadib.formmaster.model.FormElementTextPhone; import me.riddhimanadib.formmaster.model.FormElementTextSingleLine; import me.riddhimanadib.formmaster.model.FormHeader; @@ -105,49 +104,6 @@ private void setupForm() { FormElementTextMultiLine evidenceTextField = FormElementTextMultiLine.createInstance().setTitle("Evidence of off-site sediment/pollutants.\nHere is a description of type and location:").setHint("Enter text here"); - submitButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - System.out.println("HELLO"); - String projectContact = projectTextField.getValue(); - String address = addressTextField.getValue(); - String inspector = inspectorTextField.getValue(); - String dateInspected = dateInspectedDatePicker.getValue(); - - boolean projectRepPresent = getSwitchBool(projectRepPresentSwitch.getValue()); - - String projectManager = projectManagerTextField.getValue(); - String siteManager = siteManagerTextField.getValue(); - String projectOwner = projectOwnerTextField.getValue(); - - boolean correctiveAction1 = getSwitchBool(correctiveAction1Switch.getValue()); - boolean correctiveAction2 = getSwitchBool(correctiveAction2Switch.getValue()); - boolean correctiveAction3 = getSwitchBool(correctiveAction3Switch.getValue()); - boolean correctiveAction4 = getSwitchBool(correctiveAction4Switch.getValue()); - - List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); - - boolean correctiveAction6 = getSwitchBool(correctiveAction6Switch.getValue()); - boolean correctiveAction7 = getSwitchBool(correctiveAction6Switch.getValue()); - boolean correctiveAction8 = getSwitchBool(correctiveAction8Switch.getValue()); - boolean correctiveAction9 = getSwitchBool(correctiveAction9Switch.getValue()); - - String correctiveAction10 = correctiveAction10Multi.getValue(); - - String otherCorrectiveAction1 = otherCorrectiveAction1TextField.getValue(); - String otherCorrectiveAction2 = otherCorrectiveAction2TextField.getValue(); - String otherCorrectiveAction3 = otherCorrectiveAction3TextField.getValue(); - - List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); - - String evidence = evidenceTextField.getValue(); - - - } - }); - - - List formItems = new ArrayList<>(); formItems.add(projectTextField); @@ -192,13 +148,123 @@ public void onClick(View view) { formItems.add(evidenceTextField); - + // populate formBuilder with items formBuilder.addFormElements(formItems); + // onSubmit + submitButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String contact = projectTextField.getValue(); + String location = addressTextField.getValue(); + String inspector = inspectorTextField.getValue(); + String date = dateInspectedDatePicker.getValue(); + + ArrayList answersList = new ArrayList<>(20); + + boolean projectRepPresent = getSwitchBool(projectRepPresentSwitch.getValue()); + answersList.add(projectRepPresent + ""); + + String projectManager = projectManagerTextField.getValue(); + String siteManager = siteManagerTextField.getValue(); + String projectOwner = projectOwnerTextField.getValue(); + answersList.add(projectManager); + answersList.add(siteManager); + answersList.add(projectOwner); + + boolean correctiveAction1 = getSwitchBool(correctiveAction1Switch.getValue()); + boolean correctiveAction2 = getSwitchBool(correctiveAction2Switch.getValue()); + boolean correctiveAction3 = getSwitchBool(correctiveAction3Switch.getValue()); + boolean correctiveAction4 = getSwitchBool(correctiveAction4Switch.getValue()); + answersList.add(correctiveAction1 + ""); + answersList.add(correctiveAction2 + ""); + answersList.add(correctiveAction3 + ""); + answersList.add(correctiveAction4 + ""); + + List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); + answersList.addAll(correctiveAction5); + + boolean correctiveAction6 = getSwitchBool(correctiveAction6Switch.getValue()); + boolean correctiveAction7 = getSwitchBool(correctiveAction6Switch.getValue()); + boolean correctiveAction8 = getSwitchBool(correctiveAction8Switch.getValue()); + boolean correctiveAction9 = getSwitchBool(correctiveAction9Switch.getValue()); + answersList.add(correctiveAction6 + ""); + answersList.add(correctiveAction7 + ""); + answersList.add(correctiveAction8 + ""); + answersList.add(correctiveAction9 + ""); + + String correctiveAction10 = correctiveAction10Multi.getValue(); + answersList.add(correctiveAction10); + + String otherCorrectiveAction1 = otherCorrectiveAction1TextField.getValue(); + String otherCorrectiveAction2 = otherCorrectiveAction2TextField.getValue(); + String otherCorrectiveAction3 = otherCorrectiveAction3TextField.getValue(); + answersList.add(otherCorrectiveAction1); + answersList.add(otherCorrectiveAction2); + answersList.add(otherCorrectiveAction3); + + + List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); + answersList.addAll(enforcementAction); + + String[] imgLink = new String[]{evidenceTextField.getValue()}; + + + String[] answers = answersList.toArray(new String[0]); + // System.out.println(Arrays.toString(answers)); + ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answers, imgLink); + System.out.println(constructionFormData); + } + }); + + + + } - public boolean getSwitchBool(String value) { + private boolean getSwitchBool(String value) { if (value.equals("yes")) return true; return false; } + + private class ConstructionFormData { + String contact = ""; + String date = ""; + String inspector = ""; + String location = ""; + String[] answers; + + // SortTimeStamp set in constructor + Date SortTimeStamp; + + String[] imgLink; + + public ConstructionFormData(String contact, String date, String inspector, + String location, String[] answers, String[] imgLink) { + this.contact = contact; + this.date = date; + this.inspector = inspector; + this.location = location; + this.answers = answers; + + this.SortTimeStamp = new Date(System.currentTimeMillis()); + + this.answers = answers; + } + + + + @Override + public String toString() { + return "ConstructionFormData{" + + "contact=" + contact + '\n' + + ", date=" + date + '\n' + + ", inspector=" + inspector + '\n' + + ", location=" + location + '\n' + + ", answers=" + Arrays.toString(answers) + "\n" + + ", SortTimeStamp=" + SortTimeStamp + "\n" + + ", imgLink=" + Arrays.toString(imgLink) + "\n" + + '}'; + } + } } From 9c2ca342bfad444cc7e10593ae4d1b96f08be75d Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 4 Mar 2021 14:44:24 -0500 Subject: [PATCH 04/17] feature/added FireStore functionality feature/update form to take in title/Strings of switches rather booleans (as strings) --- app/build.gradle | 1 + app/google-services.json | 39 +++++ .../InspectionForm.java | 150 +++++++++++------- build.gradle | 1 + 4 files changed, 132 insertions(+), 59 deletions(-) create mode 100644 app/google-services.json diff --git a/app/build.gradle b/app/build.gradle index 19093dd..eea8c58 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,6 @@ plugins { id 'com.android.application' + id 'com.google.gms.google-services' } android { diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..50b3497 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,39 @@ +{ + "project_info": { + "project_number": "715047227500", + "project_id": "auth-test-978bd", + "storage_bucket": "auth-test-978bd.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:715047227500:android:6d404969351cf9a715c849", + "android_client_info": { + "package_name": "com.sf.stormwaterutilityandroid" + } + }, + "oauth_client": [ + { + "client_id": "715047227500-l993hj8oukroedqgtmuecookfmhjp1co.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDdVIxvfzkh1W0PCJ985hizZLthG6MrjJc" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "715047227500-l993hj8oukroedqgtmuecookfmhjp1co.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index 975ca71..a9f8580 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -4,13 +4,20 @@ import android.view.View; import android.widget.Button; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; +import com.google.android.gms.tasks.OnFailureListener; +import com.google.android.gms.tasks.OnSuccessListener; +import com.google.firebase.firestore.DocumentReference; +import com.google.firebase.firestore.FirebaseFirestore; + import java.util.ArrayList; import java.util.Arrays; -import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import me.riddhimanadib.formmaster.FormBuilder; import me.riddhimanadib.formmaster.model.BaseFormElement; @@ -162,8 +169,8 @@ public void onClick(View view) { ArrayList answersList = new ArrayList<>(20); - boolean projectRepPresent = getSwitchBool(projectRepPresentSwitch.getValue()); - answersList.add(projectRepPresent + ""); + String projectRepPresent = getSwitchString(projectRepPresentSwitch); + answersList.add(projectRepPresent); String projectManager = projectManagerTextField.getValue(); String siteManager = siteManagerTextField.getValue(); @@ -172,26 +179,26 @@ public void onClick(View view) { answersList.add(siteManager); answersList.add(projectOwner); - boolean correctiveAction1 = getSwitchBool(correctiveAction1Switch.getValue()); - boolean correctiveAction2 = getSwitchBool(correctiveAction2Switch.getValue()); - boolean correctiveAction3 = getSwitchBool(correctiveAction3Switch.getValue()); - boolean correctiveAction4 = getSwitchBool(correctiveAction4Switch.getValue()); - answersList.add(correctiveAction1 + ""); - answersList.add(correctiveAction2 + ""); - answersList.add(correctiveAction3 + ""); - answersList.add(correctiveAction4 + ""); + String correctiveAction1 = getSwitchString(correctiveAction1Switch); + String correctiveAction2 = getSwitchString(correctiveAction2Switch); + String correctiveAction3 = getSwitchString(correctiveAction3Switch); + String correctiveAction4 = getSwitchString(correctiveAction4Switch); + answersList.add(correctiveAction1); + answersList.add(correctiveAction2); + answersList.add(correctiveAction3); + answersList.add(correctiveAction4); List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); answersList.addAll(correctiveAction5); - boolean correctiveAction6 = getSwitchBool(correctiveAction6Switch.getValue()); - boolean correctiveAction7 = getSwitchBool(correctiveAction6Switch.getValue()); - boolean correctiveAction8 = getSwitchBool(correctiveAction8Switch.getValue()); - boolean correctiveAction9 = getSwitchBool(correctiveAction9Switch.getValue()); - answersList.add(correctiveAction6 + ""); - answersList.add(correctiveAction7 + ""); - answersList.add(correctiveAction8 + ""); - answersList.add(correctiveAction9 + ""); + String correctiveAction6 = getSwitchString(correctiveAction6Switch); + String correctiveAction7 = getSwitchString(correctiveAction6Switch); + String correctiveAction8 = getSwitchString(correctiveAction8Switch); + String correctiveAction9 = getSwitchString(correctiveAction9Switch); + answersList.add(correctiveAction6); + answersList.add(correctiveAction7); + answersList.add(correctiveAction8); + answersList.add(correctiveAction9); String correctiveAction10 = correctiveAction10Multi.getValue(); answersList.add(correctiveAction10); @@ -207,64 +214,89 @@ public void onClick(View view) { List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); answersList.addAll(enforcementAction); - String[] imgLink = new String[]{evidenceTextField.getValue()}; + String imgLink = new String(evidenceTextField.getValue()); String[] answers = answersList.toArray(new String[0]); - // System.out.println(Arrays.toString(answers)); - ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answers, imgLink); - System.out.println(constructionFormData); + ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answersList, imgLink); + + FirebaseFirestore db = FirebaseFirestore.getInstance(); + db.collection("ConstructionSiteForm") + .add(constructionFormData.getMap()) + .addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(DocumentReference documentReference) { + System.out.println("ibra SUCCESSFUL - FIRESTORE"); + } + }) + .addOnFailureListener(new OnFailureListener() { + @Override + public void onFailure(@NonNull Exception e) { + System.out.println("ibra SUCCESSFUL - ERROR/FAILED: " + e); + } + }); + + // System.out.println(constructionFormData); } }); - - } - private boolean getSwitchBool(String value) { - if (value.equals("yes")) return true; - return false; + private String getSwitchString(FormElementSwitch switchElement) { + System.out.println(switchElement.getValue()); + if (switchElement.getValue().equals("Yes")) return switchElement.getTitle(); + return ""; } private class ConstructionFormData { - String contact = ""; - String date = ""; - String inspector = ""; - String location = ""; - String[] answers; - +// String contact = ""; +// String date = ""; +// String inspector = ""; +// String location = ""; +// String[] answers; // SortTimeStamp set in constructor - Date SortTimeStamp; +// Date SortTimeStamp; +// +// String[] imgLink; - String[] imgLink; + Map data = new HashMap<>(); public ConstructionFormData(String contact, String date, String inspector, - String location, String[] answers, String[] imgLink) { - this.contact = contact; - this.date = date; - this.inspector = inspector; - this.location = location; - this.answers = answers; - - this.SortTimeStamp = new Date(System.currentTimeMillis()); - - this.answers = answers; + String location, List answers, String imgLink) { + data.put("contact", contact); + data.put("date", date); + data.put("inspector", inspector); + data.put("location", location); + data.put("answers", answers); + data.put("imgLink", imgLink); + +// this.contact = contact; +// this.date = date; +// this.inspector = inspector; +// this.location = location; +// this.answers = answers; +// +// this.SortTimeStamp = new Date(System.currentTimeMillis()); +// +// this.answers = answers; } - - - @Override - public String toString() { - return "ConstructionFormData{" + - "contact=" + contact + '\n' + - ", date=" + date + '\n' + - ", inspector=" + inspector + '\n' + - ", location=" + location + '\n' + - ", answers=" + Arrays.toString(answers) + "\n" + - ", SortTimeStamp=" + SortTimeStamp + "\n" + - ", imgLink=" + Arrays.toString(imgLink) + "\n" + - '}'; + public Map getMap() { + return data; } + +// @Override +// public String toString() { +// return "ConstructionFormData{" + +// "contact=" + contact + '\n' + +// ", date=" + date + '\n' + +// ", inspector=" + inspector + '\n' + +// ", location=" + location + '\n' + +// ", answers=" + Arrays.toString(answers) + "\n" + +// ", SortTimeStamp=" + SortTimeStamp + "\n" + +// ", imgLink=" + Arrays.toString(imgLink) + "\n" + +// '}'; +// } } } diff --git a/build.gradle b/build.gradle index 4d24be2..6a4ea19 100644 --- a/build.gradle +++ b/build.gradle @@ -6,6 +6,7 @@ buildscript { } dependencies { classpath "com.android.tools.build:gradle:4.1.1" + classpath 'com.google.gms:google-services:4.3.5' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 5af5a1cbb00127166a16ed9a21b07b34b21f7335 Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:43:06 -0500 Subject: [PATCH 05/17] refactor/made ConstructionFormData.java into a public class refactor/answer switches (in List answers) give "true"/"false" in firebase refactor/clean up all comments and unused code --- .../ConstructionFormData.java | 40 ++++++ .../InspectionForm.java | 120 ++++++------------ 2 files changed, 76 insertions(+), 84 deletions(-) create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/ConstructionFormData.java diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/ConstructionFormData.java b/app/src/main/java/com/sf/stormwaterutilityandroid/ConstructionFormData.java new file mode 100644 index 0000000..a66ec46 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/ConstructionFormData.java @@ -0,0 +1,40 @@ +package com.sf.stormwaterutilityandroid; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ConstructionFormData { + private Map data; + // String contact + // String date + // String inspector + // String location + + // (they are lists because firebase doesn't serialize arrays) + // List answers + // List imgLink + + public ConstructionFormData(String contact, String date, String inspector, + String location, List answers, List imgLink) { + data = new HashMap<>(); + data.put("contact", contact); + data.put("date", date); + data.put("inspector", inspector); + data.put("location", location); + data.put("answers", answers); + data.put("imgLink", imgLink); + } + + public Map getMap() { + return data; + } + + @Override + public String toString() { + return "ConstructionFormData{" + + "data=" + data + + '}'; + } + +} diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index a9f8580..f8a16f1 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -15,9 +15,7 @@ import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import me.riddhimanadib.formmaster.FormBuilder; import me.riddhimanadib.formmaster.model.BaseFormElement; @@ -45,6 +43,23 @@ protected void onCreate(Bundle savedInstanceState) { setupForm(); } + private void uploadToFirestore(ConstructionFormData constructionFormData) { + FirebaseFirestore db = FirebaseFirestore.getInstance(); + db.collection("ConstructionSiteForm") + .add(constructionFormData.getMap()) + .addOnSuccessListener(new OnSuccessListener() { + @Override + public void onSuccess(DocumentReference documentReference) { + System.out.println("SUCCESSFUL - FIRESTORE"); + } + }) + .addOnFailureListener(new OnFailureListener() { + @Override + public void onFailure(@NonNull Exception e) { + System.out.println("FAILED - FIRESTORE: " + e); + } + }); + } private void setupForm() { formBuilder = new FormBuilder(this, recyclerView); @@ -162,6 +177,8 @@ private void setupForm() { submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + + // data retrieval from forms String contact = projectTextField.getValue(); String location = addressTextField.getValue(); String inspector = inspectorTextField.getValue(); @@ -169,7 +186,7 @@ public void onClick(View view) { ArrayList answersList = new ArrayList<>(20); - String projectRepPresent = getSwitchString(projectRepPresentSwitch); + String projectRepPresent = getSwitchBool(projectRepPresentSwitch); answersList.add(projectRepPresent); String projectManager = projectManagerTextField.getValue(); @@ -179,10 +196,10 @@ public void onClick(View view) { answersList.add(siteManager); answersList.add(projectOwner); - String correctiveAction1 = getSwitchString(correctiveAction1Switch); - String correctiveAction2 = getSwitchString(correctiveAction2Switch); - String correctiveAction3 = getSwitchString(correctiveAction3Switch); - String correctiveAction4 = getSwitchString(correctiveAction4Switch); + String correctiveAction1 = getSwitchBool(correctiveAction1Switch); + String correctiveAction2 = getSwitchBool(correctiveAction2Switch); + String correctiveAction3 = getSwitchBool(correctiveAction3Switch); + String correctiveAction4 = getSwitchBool(correctiveAction4Switch); answersList.add(correctiveAction1); answersList.add(correctiveAction2); answersList.add(correctiveAction3); @@ -191,10 +208,10 @@ public void onClick(View view) { List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); answersList.addAll(correctiveAction5); - String correctiveAction6 = getSwitchString(correctiveAction6Switch); - String correctiveAction7 = getSwitchString(correctiveAction6Switch); - String correctiveAction8 = getSwitchString(correctiveAction8Switch); - String correctiveAction9 = getSwitchString(correctiveAction9Switch); + String correctiveAction6 = getSwitchBool(correctiveAction6Switch); + String correctiveAction7 = getSwitchBool(correctiveAction6Switch); + String correctiveAction8 = getSwitchBool(correctiveAction8Switch); + String correctiveAction9 = getSwitchBool(correctiveAction9Switch); answersList.add(correctiveAction6); answersList.add(correctiveAction7); answersList.add(correctiveAction8); @@ -214,89 +231,24 @@ public void onClick(View view) { List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); answersList.addAll(enforcementAction); - String imgLink = new String(evidenceTextField.getValue()); - + List imgLink = new ArrayList<>(); + imgLink.add(evidenceTextField.getValue()); String[] answers = answersList.toArray(new String[0]); ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answersList, imgLink); - FirebaseFirestore db = FirebaseFirestore.getInstance(); - db.collection("ConstructionSiteForm") - .add(constructionFormData.getMap()) - .addOnSuccessListener(new OnSuccessListener() { - @Override - public void onSuccess(DocumentReference documentReference) { - System.out.println("ibra SUCCESSFUL - FIRESTORE"); - } - }) - .addOnFailureListener(new OnFailureListener() { - @Override - public void onFailure(@NonNull Exception e) { - System.out.println("ibra SUCCESSFUL - ERROR/FAILED: " + e); - } - }); - - // System.out.println(constructionFormData); + + // submit data to firestore + uploadToFirestore(constructionFormData); } }); } - private String getSwitchString(FormElementSwitch switchElement) { - System.out.println(switchElement.getValue()); - if (switchElement.getValue().equals("Yes")) return switchElement.getTitle(); - return ""; + private String getSwitchBool(FormElementSwitch switchElement) { + if (switchElement.getValue().equals("Yes")) return "true"; + return "false"; } - private class ConstructionFormData { -// String contact = ""; -// String date = ""; -// String inspector = ""; -// String location = ""; -// String[] answers; - // SortTimeStamp set in constructor -// Date SortTimeStamp; -// -// String[] imgLink; - - Map data = new HashMap<>(); - - public ConstructionFormData(String contact, String date, String inspector, - String location, List answers, String imgLink) { - data.put("contact", contact); - data.put("date", date); - data.put("inspector", inspector); - data.put("location", location); - data.put("answers", answers); - data.put("imgLink", imgLink); - -// this.contact = contact; -// this.date = date; -// this.inspector = inspector; -// this.location = location; -// this.answers = answers; -// -// this.SortTimeStamp = new Date(System.currentTimeMillis()); -// -// this.answers = answers; - } - - public Map getMap() { - return data; - } - -// @Override -// public String toString() { -// return "ConstructionFormData{" + -// "contact=" + contact + '\n' + -// ", date=" + date + '\n' + -// ", inspector=" + inspector + '\n' + -// ", location=" + location + '\n' + -// ", answers=" + Arrays.toString(answers) + "\n" + -// ", SortTimeStamp=" + SortTimeStamp + "\n" + -// ", imgLink=" + Arrays.toString(imgLink) + "\n" + -// '}'; -// } - } } From 31317320c2405cf01ad3d887fb50d3da66d2e706 Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:45:43 -0500 Subject: [PATCH 06/17] refactor/made ConstructionFormData.java into a public class refactor/answer switches (in List answers) give "true"/"false" in firebase refactor/clean up all comments and unused code --- .../InspectionForm.java | 152 ++++++++---------- 1 file changed, 66 insertions(+), 86 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java index f8a16f1..9efb51c 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/InspectionForm.java @@ -1,16 +1,11 @@ package com.sf.stormwaterutilityandroid; import android.os.Bundle; -import android.view.View; import android.widget.Button; -import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.RecyclerView; -import com.google.android.gms.tasks.OnFailureListener; -import com.google.android.gms.tasks.OnSuccessListener; -import com.google.firebase.firestore.DocumentReference; import com.google.firebase.firestore.FirebaseFirestore; import java.util.ArrayList; @@ -28,7 +23,6 @@ import me.riddhimanadib.formmaster.model.FormHeader; public class InspectionForm extends AppCompatActivity { - private FormBuilder formBuilder; private RecyclerView recyclerView; private Button submitButton; @@ -47,22 +41,12 @@ private void uploadToFirestore(ConstructionFormData constructionFormData) { FirebaseFirestore db = FirebaseFirestore.getInstance(); db.collection("ConstructionSiteForm") .add(constructionFormData.getMap()) - .addOnSuccessListener(new OnSuccessListener() { - @Override - public void onSuccess(DocumentReference documentReference) { - System.out.println("SUCCESSFUL - FIRESTORE"); - } - }) - .addOnFailureListener(new OnFailureListener() { - @Override - public void onFailure(@NonNull Exception e) { - System.out.println("FAILED - FIRESTORE: " + e); - } - }); + .addOnSuccessListener(documentReference -> System.out.println("SUCCESSFUL - FIRESTORE")) + .addOnFailureListener(e -> System.out.println("FAILED - FIRESTORE: " + e)); } private void setupForm() { - formBuilder = new FormBuilder(this, recyclerView); + FormBuilder formBuilder = new FormBuilder(this, recyclerView); FormElementTextSingleLine projectTextField = FormElementTextSingleLine.createInstance().setTitle("Project/Contact:").setHint("Enter text here"); FormElementTextSingleLine addressTextField = FormElementTextSingleLine.createInstance().setTitle("Address/Lot#(s):").setHint("Enter text here"); @@ -174,73 +158,69 @@ private void setupForm() { formBuilder.addFormElements(formItems); // onSubmit - submitButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - - // data retrieval from forms - String contact = projectTextField.getValue(); - String location = addressTextField.getValue(); - String inspector = inspectorTextField.getValue(); - String date = dateInspectedDatePicker.getValue(); - - ArrayList answersList = new ArrayList<>(20); - - String projectRepPresent = getSwitchBool(projectRepPresentSwitch); - answersList.add(projectRepPresent); - - String projectManager = projectManagerTextField.getValue(); - String siteManager = siteManagerTextField.getValue(); - String projectOwner = projectOwnerTextField.getValue(); - answersList.add(projectManager); - answersList.add(siteManager); - answersList.add(projectOwner); - - String correctiveAction1 = getSwitchBool(correctiveAction1Switch); - String correctiveAction2 = getSwitchBool(correctiveAction2Switch); - String correctiveAction3 = getSwitchBool(correctiveAction3Switch); - String correctiveAction4 = getSwitchBool(correctiveAction4Switch); - answersList.add(correctiveAction1); - answersList.add(correctiveAction2); - answersList.add(correctiveAction3); - answersList.add(correctiveAction4); - - List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); - answersList.addAll(correctiveAction5); - - String correctiveAction6 = getSwitchBool(correctiveAction6Switch); - String correctiveAction7 = getSwitchBool(correctiveAction6Switch); - String correctiveAction8 = getSwitchBool(correctiveAction8Switch); - String correctiveAction9 = getSwitchBool(correctiveAction9Switch); - answersList.add(correctiveAction6); - answersList.add(correctiveAction7); - answersList.add(correctiveAction8); - answersList.add(correctiveAction9); - - String correctiveAction10 = correctiveAction10Multi.getValue(); - answersList.add(correctiveAction10); - - String otherCorrectiveAction1 = otherCorrectiveAction1TextField.getValue(); - String otherCorrectiveAction2 = otherCorrectiveAction2TextField.getValue(); - String otherCorrectiveAction3 = otherCorrectiveAction3TextField.getValue(); - answersList.add(otherCorrectiveAction1); - answersList.add(otherCorrectiveAction2); - answersList.add(otherCorrectiveAction3); - - - List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); - answersList.addAll(enforcementAction); - - List imgLink = new ArrayList<>(); - imgLink.add(evidenceTextField.getValue()); - - String[] answers = answersList.toArray(new String[0]); - ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answersList, imgLink); - - - // submit data to firestore - uploadToFirestore(constructionFormData); - } + submitButton.setOnClickListener(view -> { + + // data retrieval from forms + String contact = projectTextField.getValue(); + String location = addressTextField.getValue(); + String inspector = inspectorTextField.getValue(); + String date = dateInspectedDatePicker.getValue(); + + ArrayList answersList = new ArrayList<>(20); + + String projectRepPresent = getSwitchBool(projectRepPresentSwitch); + answersList.add(projectRepPresent); + + String projectManager = projectManagerTextField.getValue(); + String siteManager = siteManagerTextField.getValue(); + String projectOwner = projectOwnerTextField.getValue(); + answersList.add(projectManager); + answersList.add(siteManager); + answersList.add(projectOwner); + + String correctiveAction1 = getSwitchBool(correctiveAction1Switch); + String correctiveAction2 = getSwitchBool(correctiveAction2Switch); + String correctiveAction3 = getSwitchBool(correctiveAction3Switch); + String correctiveAction4 = getSwitchBool(correctiveAction4Switch); + answersList.add(correctiveAction1); + answersList.add(correctiveAction2); + answersList.add(correctiveAction3); + answersList.add(correctiveAction4); + + List correctiveAction5 = correctiveAction5Multi.getOptionsSelected(); + answersList.addAll(correctiveAction5); + + String correctiveAction6 = getSwitchBool(correctiveAction6Switch); + String correctiveAction7 = getSwitchBool(correctiveAction6Switch); + String correctiveAction8 = getSwitchBool(correctiveAction8Switch); + String correctiveAction9 = getSwitchBool(correctiveAction9Switch); + answersList.add(correctiveAction6); + answersList.add(correctiveAction7); + answersList.add(correctiveAction8); + answersList.add(correctiveAction9); + + String correctiveAction10 = correctiveAction10Multi.getValue(); + answersList.add(correctiveAction10); + + String otherCorrectiveAction1 = otherCorrectiveAction1TextField.getValue(); + String otherCorrectiveAction2 = otherCorrectiveAction2TextField.getValue(); + String otherCorrectiveAction3 = otherCorrectiveAction3TextField.getValue(); + answersList.add(otherCorrectiveAction1); + answersList.add(otherCorrectiveAction2); + answersList.add(otherCorrectiveAction3); + + + List enforcementAction = enforcementActionPickerSingle.getOptionsSelected(); + answersList.addAll(enforcementAction); + + List imgLink = new ArrayList<>(); + imgLink.add(evidenceTextField.getValue()); + + ConstructionFormData constructionFormData = new ConstructionFormData(contact, date, inspector, location, answersList, imgLink); + + + // submit data to firestore + uploadToFirestore(constructionFormData); }); From 31a995bd4c9e3b0b6c2a7b5bdaf5ab2668ae3dc8 Mon Sep 17 00:00:00 2001 From: IbrahimSaeedPurdue <54752803+IbrahimSaeedPurdue@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:54:20 -0500 Subject: [PATCH 07/17] refactor/removed google-services.json (my own firebase testing database) --- app/google-services.json | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 app/google-services.json diff --git a/app/google-services.json b/app/google-services.json deleted file mode 100644 index 50b3497..0000000 --- a/app/google-services.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "project_info": { - "project_number": "715047227500", - "project_id": "auth-test-978bd", - "storage_bucket": "auth-test-978bd.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:715047227500:android:6d404969351cf9a715c849", - "android_client_info": { - "package_name": "com.sf.stormwaterutilityandroid" - } - }, - "oauth_client": [ - { - "client_id": "715047227500-l993hj8oukroedqgtmuecookfmhjp1co.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDdVIxvfzkh1W0PCJ985hizZLthG6MrjJc" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "715047227500-l993hj8oukroedqgtmuecookfmhjp1co.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file From ffc61fb794fc9fb9196d80bb173d3d4b8a164a4d Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Thu, 11 Mar 2021 14:35:44 -0500 Subject: [PATCH 08/17] SWU: WQI formulas --- .../com/sf/stormwaterutilityandroid/WQI.java | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java new file mode 100644 index 0000000..813c0dd --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java @@ -0,0 +1,108 @@ +package com.sf.stormwaterutilityandroid; + +public class WQI { + private double QHEI_substrate_size; + private double QHEI_smothering; + private double QHEI_silting; + private double QHEI_rootwads; + private double QHEI_overhanging_veg; + private double QHEI_oxbowsblack_waters; + private double QHEI_downed_treeslogs; + private double QHEI_shallows; + private double QHEI_water_plants; + private double QHEI_deep_pools; + private double QHEI_logswoody_debris; + private double QHEI_boulders; + private double QHEI_undercut_banks; + private double QHEI_sinuosity; + private double QHEI_natural; + private double QHEI_riparian_width; + private double QHEI_land_use; + private double QHEI_bank_erosion; + private double QHEI_stream_shading; + private double QHEI_deepest_pool; + private double QHEI_velocity; + private double QHEI_rifflerun_depth; + private double QHEI_rifflerun_substrate; + + //constructor + WQI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, + double QHEI_oxbowsblack_waters, double QHEI_downed_treeslogs, double QHEI_shallows, double QHEI_water_plants, double QHEI_logswoody_debris, + double QHEI_boulders, double QHEI_undercut_banks, double QHEI_sinuosity, double QHEI_natural, double QHEI_riparian_width, + double QHEI_land_use, double QHEI_bank_erosion, double QHEI_stream_shading, double QHEI_deepest_pool, double QHEI_velocity, + double QHEI_rifflerun_depth, double QHEI_rifflerun_substrate, double QHEI_deep_pools) { + + this.QHEI_substrate_size = QHEI_substrate_size; + this.QHEI_smothering = QHEI_smothering; + this.QHEI_silting = QHEI_silting; + this.QHEI_rootwads = QHEI_rootwads; + this.QHEI_overhanging_veg = QHEI_overhanging_veg; + this.QHEI_oxbowsblack_waters = QHEI_oxbowsblack_waters; + this.QHEI_downed_treeslogs = QHEI_downed_treeslogs; + this.QHEI_shallows = QHEI_shallows; + this.QHEI_water_plants = QHEI_water_plants; + this.QHEI_logswoody_debris = QHEI_logswoody_debris; + this.QHEI_boulders = QHEI_boulders; + this.QHEI_undercut_banks = QHEI_undercut_banks; + this.QHEI_sinuosity = QHEI_sinuosity; + this.QHEI_natural = QHEI_natural; + this.QHEI_riparian_width = QHEI_riparian_width; + this.QHEI_land_use = QHEI_land_use; + this.QHEI_bank_erosion = QHEI_bank_erosion; + this.QHEI_stream_shading = QHEI_stream_shading; + this.QHEI_deepest_pool = QHEI_deepest_pool; + this.QHEI_velocity = QHEI_velocity; + this.QHEI_rifflerun_depth = QHEI_rifflerun_depth; + this.QHEI_rifflerun_substrate = QHEI_rifflerun_substrate; + this.QHEI_deep_pools = QHEI_deep_pools; + } + + WQI() + { + QHEI_substrate_size = 0; + QHEI_smothering = 0; + QHEI_silting = 0; + QHEI_rootwads = 0; + QHEI_overhanging_veg = 0; + QHEI_oxbowsblack_waters = 0; + QHEI_downed_treeslogs = 0; + QHEI_shallows = 0; + QHEI_water_plants = 0; + QHEI_deep_pools = 0; + QHEI_logswoody_debris = 0; + QHEI_boulders = 0; + QHEI_undercut_banks = 0; + QHEI_sinuosity = 0; + QHEI_natural = 0; + QHEI_riparian_width = 0; + QHEI_land_use = 0; + QHEI_bank_erosion = 0; + QHEI_stream_shading = 0; + QHEI_deepest_pool = 0; + QHEI_velocity = 0; + QHEI_rifflerun_depth = 0; + QHEI_rifflerun_substrate = 0; + } + + public double calculate_WQI() { + return QHEI_substrate_size + QHEI_smothering + QHEI_silting + QHEI_rootwads + QHEI_overhanging_veg + + QHEI_oxbowsblack_waters + QHEI_downed_treeslogs + QHEI_shallows + QHEI_water_plants + QHEI_deep_pools + + QHEI_logswoody_debris + QHEI_boulders + QHEI_undercut_banks + 2 * (QHEI_sinuosity + QHEI_natural) + + QHEI_riparian_width + QHEI_land_use + QHEI_bank_erosion + QHEI_stream_shading + QHEI_deepest_pool + + QHEI_velocity + QHEI_rifflerun_depth + QHEI_rifflerun_substrate; + } + + public static double get_WQI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, + double QHEI_oxbowsblack_waters, double QHEI_downed_treeslogs, double QHEI_shallows, double QHEI_water_plants, double QHEI_logswoody_debris, + double QHEI_boulders, double QHEI_undercut_banks, double QHEI_sinuosity, double QHEI_natural, double QHEI_riparian_width, + double QHEI_land_use, double QHEI_bank_erosion, double QHEI_stream_shading, double QHEI_deepest_pool, double QHEI_velocity, + double QHEI_rifflerun_depth, double QHEI_rifflerun_substrate, double QHEI_deep_pools) + { + return QHEI_substrate_size + QHEI_smothering + QHEI_silting + QHEI_rootwads + QHEI_overhanging_veg + + QHEI_oxbowsblack_waters + QHEI_downed_treeslogs + QHEI_shallows + QHEI_water_plants + QHEI_deep_pools + + QHEI_logswoody_debris + QHEI_boulders + QHEI_undercut_banks + 2 * (QHEI_sinuosity + QHEI_natural) + + QHEI_riparian_width + QHEI_land_use + QHEI_bank_erosion + QHEI_stream_shading + QHEI_deepest_pool + + QHEI_velocity + QHEI_rifflerun_depth + QHEI_rifflerun_substrate; + } + +} From cf698ff7e54202c3672cb1c251d448dade7e8e72 Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Thu, 11 Mar 2021 14:45:39 -0500 Subject: [PATCH 09/17] added PTI calculation --- .../WaterWay/PTI.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/PTI.java diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/PTI.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/PTI.java new file mode 100644 index 0000000..9a4c346 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/PTI.java @@ -0,0 +1,39 @@ +package com.sf.stormwaterutilityandroid.WaterWay; + +public class PTI { + private double BM_intolerant = 0; + private double BM_moderately_tolerant = 0; + private double BM_fairly_tolerant = 0; + private double BM_very_tolerant = 0; + + PTI(double BM_intolerant, double BM_moderately_tolerant, double BM_fairly_tolerant, double BM_very_tolerant) { + this.BM_intolerant = BM_intolerant; + this.BM_moderately_tolerant = BM_moderately_tolerant; + this.BM_fairly_tolerant = BM_fairly_tolerant; + this.BM_very_tolerant = BM_very_tolerant; + } + + public void setBM_intolerant(double value) { + BM_intolerant = value; + } + + public void setBM_moderately_tolerant(double value) { + BM_moderately_tolerant = value; + } + + public void setBM_fairly_tolerant(double value) { + BM_fairly_tolerant = value; + } + + public void setBM_very_tolerant(double value) { + BM_very_tolerant = value; + } + + public double calculatePTI() { + return 4.0 * BM_intolerant + 3.0 * BM_moderately_tolerant + 2.0 * BM_fairly_tolerant + 1.0 * BM_very_tolerant; + } + + public static double getPTI(double intolerant, double moderate, double fairly, double very) { + return 4.0 * intolerant + 3.0 * moderate + 2.0 * fairly + 1.0 * very; + } +} From 30cf3920a9648546dd7c127c3ff7f244b2253194 Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Thu, 11 Mar 2021 16:29:59 -0500 Subject: [PATCH 10/17] SWU: HEI, not WQI --- .../{WQI.java => HEI.java} | 82 +++++++------------ 1 file changed, 28 insertions(+), 54 deletions(-) rename app/src/main/java/com/sf/stormwaterutilityandroid/{WQI.java => HEI.java} (67%) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java b/app/src/main/java/com/sf/stormwaterutilityandroid/HEI.java similarity index 67% rename from app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java rename to app/src/main/java/com/sf/stormwaterutilityandroid/HEI.java index 813c0dd..1051afa 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WQI.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/HEI.java @@ -1,32 +1,33 @@ package com.sf.stormwaterutilityandroid; -public class WQI { - private double QHEI_substrate_size; - private double QHEI_smothering; - private double QHEI_silting; - private double QHEI_rootwads; - private double QHEI_overhanging_veg; - private double QHEI_oxbowsblack_waters; - private double QHEI_downed_treeslogs; - private double QHEI_shallows; - private double QHEI_water_plants; - private double QHEI_deep_pools; - private double QHEI_logswoody_debris; - private double QHEI_boulders; - private double QHEI_undercut_banks; - private double QHEI_sinuosity; - private double QHEI_natural; - private double QHEI_riparian_width; - private double QHEI_land_use; - private double QHEI_bank_erosion; - private double QHEI_stream_shading; - private double QHEI_deepest_pool; - private double QHEI_velocity; - private double QHEI_rifflerun_depth; - private double QHEI_rifflerun_substrate; +public class HEI { + //by default, all values are set to be 0 + private double QHEI_substrate_size = 0; + private double QHEI_smothering = 0; + private double QHEI_silting = 0; + private double QHEI_rootwads = 0; + private double QHEI_overhanging_veg = 0; + private double QHEI_oxbowsblack_waters = 0; + private double QHEI_downed_treeslogs = 0; + private double QHEI_shallows = 0; + private double QHEI_water_plants = 0; + private double QHEI_deep_pools = 0; + private double QHEI_logswoody_debris = 0; + private double QHEI_boulders = 0; + private double QHEI_undercut_banks = 0; + private double QHEI_sinuosity = 0; + private double QHEI_natural = 0; + private double QHEI_riparian_width = 0; + private double QHEI_land_use = 0; + private double QHEI_bank_erosion = 0; + private double QHEI_stream_shading = 0; + private double QHEI_deepest_pool = 0; + private double QHEI_velocity = 0; + private double QHEI_rifflerun_depth = 0; + private double QHEI_rifflerun_substrate = 0; //constructor - WQI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, + HEI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, double QHEI_oxbowsblack_waters, double QHEI_downed_treeslogs, double QHEI_shallows, double QHEI_water_plants, double QHEI_logswoody_debris, double QHEI_boulders, double QHEI_undercut_banks, double QHEI_sinuosity, double QHEI_natural, double QHEI_riparian_width, double QHEI_land_use, double QHEI_bank_erosion, double QHEI_stream_shading, double QHEI_deepest_pool, double QHEI_velocity, @@ -57,34 +58,7 @@ public class WQI { this.QHEI_deep_pools = QHEI_deep_pools; } - WQI() - { - QHEI_substrate_size = 0; - QHEI_smothering = 0; - QHEI_silting = 0; - QHEI_rootwads = 0; - QHEI_overhanging_veg = 0; - QHEI_oxbowsblack_waters = 0; - QHEI_downed_treeslogs = 0; - QHEI_shallows = 0; - QHEI_water_plants = 0; - QHEI_deep_pools = 0; - QHEI_logswoody_debris = 0; - QHEI_boulders = 0; - QHEI_undercut_banks = 0; - QHEI_sinuosity = 0; - QHEI_natural = 0; - QHEI_riparian_width = 0; - QHEI_land_use = 0; - QHEI_bank_erosion = 0; - QHEI_stream_shading = 0; - QHEI_deepest_pool = 0; - QHEI_velocity = 0; - QHEI_rifflerun_depth = 0; - QHEI_rifflerun_substrate = 0; - } - - public double calculate_WQI() { + public double calculate_HEI() { return QHEI_substrate_size + QHEI_smothering + QHEI_silting + QHEI_rootwads + QHEI_overhanging_veg + QHEI_oxbowsblack_waters + QHEI_downed_treeslogs + QHEI_shallows + QHEI_water_plants + QHEI_deep_pools + QHEI_logswoody_debris + QHEI_boulders + QHEI_undercut_banks + 2 * (QHEI_sinuosity + QHEI_natural) + @@ -92,7 +66,7 @@ public double calculate_WQI() { QHEI_velocity + QHEI_rifflerun_depth + QHEI_rifflerun_substrate; } - public static double get_WQI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, + public static double get_HEI(double QHEI_substrate_size, double QHEI_smothering, double QHEI_silting, double QHEI_rootwads, double QHEI_overhanging_veg, double QHEI_oxbowsblack_waters, double QHEI_downed_treeslogs, double QHEI_shallows, double QHEI_water_plants, double QHEI_logswoody_debris, double QHEI_boulders, double QHEI_undercut_banks, double QHEI_sinuosity, double QHEI_natural, double QHEI_riparian_width, double QHEI_land_use, double QHEI_bank_erosion, double QHEI_stream_shading, double QHEI_deepest_pool, double QHEI_velocity, From 625faf5cb332b6cb8edcde892b87166bc02b07b2 Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Thu, 11 Mar 2021 16:39:11 -0500 Subject: [PATCH 11/17] added WQI --- .../WaterWay/WQI.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WQI.java diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WQI.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WQI.java new file mode 100644 index 0000000..529fae8 --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WQI.java @@ -0,0 +1,31 @@ +package com.sf.stormwaterutilityandroid.WaterWay; + +public class WQI { + private double CT_temperature_change = 0; + private double CT_turbidity = 0; + private double CT_pH = 0; + private double CT_nitrate = 0; + private double CT_total_phosphate = 0; + private double CT_dissolved_oxygen = 0; + + WQI(double CT_temperature_change, double CT_turbidity, double CT_pH, double CT_nitrate, double CT_total_phosphate, + double CT_dissolved_oxygen) { + this.CT_temperature_change = CT_temperature_change; + this.CT_turbidity = CT_turbidity; + this.CT_pH = CT_pH; + this.CT_nitrate = CT_nitrate; + this.CT_total_phosphate = CT_total_phosphate; + this.CT_dissolved_oxygen = CT_dissolved_oxygen; + } + + public double calculateWQI() { + double WQIScore = CT_temperature_change * 0.11 + CT_turbidity * 0.09 + CT_pH * 0.12 + CT_nitrate * 0.1 + + CT_total_phosphate * 0.11 + CT_dissolved_oxygen * 0.18; + + return WQIScore; + } + + public static double getWQI(double tempChange, double turbidity, double pH, double nitrate, double phosphate, double oxygen) { + return tempChange * 0.11 + turbidity * 0.09 + pH * 0.12 + nitrate * 0.1 + phosphate * 0.11 + oxygen * 0.18; + } +} From be253d628d2643ba8ed7a797230028896f70873f Mon Sep 17 00:00:00 2001 From: John Parrell Date: Fri, 19 Mar 2021 12:25:44 -0400 Subject: [PATCH 12/17] Renamed waterwayForm elements for easier mapping --- .../WaterWay/WaterWayForm.java | 73 ++++++++++--------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java index a797f99..b289859 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java @@ -31,45 +31,46 @@ private void setupForm() { formBuilder = new FormBuilder(this, recyclerView); - FormElementTextNumber element2 = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); - FormElementTextNumber element3 = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); - FormElementTextNumber element4 = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0"); - FormElementTextNumber element5 = FormElementTextNumber.createInstance().setTitle("Rootwads").setValue("0"); - FormElementTextNumber element6 = FormElementTextNumber.createInstance().setTitle("Overhanging Veg.").setValue("0"); - FormElementTextNumber element7 = FormElementTextNumber.createInstance().setTitle("Oxbows/Black Waters").setValue("0"); - FormElementTextNumber element8 = FormElementTextNumber.createInstance().setTitle("Downed Trees/Logs").setValue("0"); - FormElementTextNumber element9 = FormElementTextNumber.createInstance().setTitle("Shallows (slow water)").setValue("0"); - FormElementTextNumber element10 = FormElementTextNumber.createInstance().setTitle("Water Plants").setValue("0"); - FormElementTextNumber element11 = FormElementTextNumber.createInstance().setTitle("Deep Pools").setValue("0"); - FormElementTextNumber element12 = FormElementTextNumber.createInstance().setTitle("Logs/Woody Debris").setValue("0"); - FormElementTextNumber element13 = FormElementTextNumber.createInstance().setTitle("Boulders").setValue("0"); - FormElementTextNumber element14 = FormElementTextNumber.createInstance().setTitle("Undercut Banks").setValue("0"); - FormElementTextNumber element15 = FormElementTextNumber.createInstance().setTitle("Sinuosity").setValue("0"); - FormElementTextNumber element16 = FormElementTextNumber.createInstance().setTitle("Natural").setValue("0"); - FormElementTextNumber element17 = FormElementTextNumber.createInstance().setTitle("Riparian Width").setValue("0"); - FormElementTextNumber element18 = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0"); - FormElementTextNumber element19 = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0"); + FormElementTextNumber SubstrateSize = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); + FormElementTextNumber Smothering = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); + FormElementTextNumber Silting = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0"); + FormElementTextNumber Rootwads = FormElementTextNumber.createInstance().setTitle("Rootwads").setValue("0"); + FormElementTextNumber OverhangingVeg = FormElementTextNumber.createInstance().setTitle("Overhanging Veg.").setValue("0"); + FormElementTextNumber Oxbows = FormElementTextNumber.createInstance().setTitle("Oxbows/Black Waters").setValue("0"); + FormElementTextNumber DownedTrees = FormElementTextNumber.createInstance().setTitle("Downed Trees/Logs").setValue("0"); + FormElementTextNumber Shallows = FormElementTextNumber.createInstance().setTitle("Shallows (slow water)").setValue("0"); + FormElementTextNumber WaterPlants = FormElementTextNumber.createInstance().setTitle("Water Plants").setValue("0"); + FormElementTextNumber DeepPools = FormElementTextNumber.createInstance().setTitle("Deep Pools").setValue("0"); + FormElementTextNumber Logs = FormElementTextNumber.createInstance().setTitle("Logs/Woody Debris").setValue("0"); + FormElementTextNumber Boulders = FormElementTextNumber.createInstance().setTitle("Boulders").setValue("0"); + FormElementTextNumber Undercut = FormElementTextNumber.createInstance().setTitle("Undercut Banks").setValue("0"); + FormElementTextNumber Sinuosity = FormElementTextNumber.createInstance().setTitle("Sinuosity").setValue("0"); + FormElementTextNumber Natural = FormElementTextNumber.createInstance().setTitle("Natural").setValue("0"); + FormElementTextNumber Riparian = FormElementTextNumber.createInstance().setTitle("Riparian Width").setValue("0"); + FormElementTextNumber Land = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0"); + FormElementTextNumber BankErosion = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0"); List formItems = new ArrayList<>(); - formItems.add(element2); - formItems.add(element3); - formItems.add(element4); - formItems.add(element5); - formItems.add(element6); - formItems.add(element7); - formItems.add(element8); - formItems.add(element9); - formItems.add(element10); - formItems.add(element11); - formItems.add(element12); - formItems.add(element13); - formItems.add(element14); - formItems.add(element15); - formItems.add(element16); - formItems.add(element17); - formItems.add(element18); - formItems.add(element19); + formItems.add(SubstrateSize); + formItems.add(Smothering); + formItems.add(Silting); + formItems.add(Rootwads); + formItems.add(OverhangingVeg); + formItems.add(Oxbows); + formItems.add(DownedTrees); + formItems.add(Shallows); + formItems.add(WaterPlants); + formItems.add(DeepPools); + formItems.add(Logs); + formItems.add(Boulders); + formItems.add(Undercut); + formItems.add(Sinuosity); + formItems.add(Natural); + formItems.add(Riparian); + formItems.add(Land); + formItems.add(BankErosion); + formBuilder.addFormElements(formItems); } From f4a813b56a46c439eba9cd9812d061688b33af16 Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Sat, 20 Mar 2021 12:02:31 -0400 Subject: [PATCH 13/17] started building the map --- .../WaterWay/ChemicalTesting.java | 1 - .../WaterWay/WaterWay.java | 49 +++++++++++++++++++ .../WaterWay/WaterWayForm.java | 2 +- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java index 19e621c..21cb7aa 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java @@ -93,6 +93,5 @@ private void setupForm() { formItems.add(other2Data); formBuilder.addFormElements(formItems); - } } diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java new file mode 100644 index 0000000..7dd92ca --- /dev/null +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java @@ -0,0 +1,49 @@ +package com.sf.stormwaterutilityandroid.WaterWay; + +import java.util.Map; +import java.util.HashMap; + +public class WaterWay { + + private Map WaterWayDoubleFields = new HashMap(); + private Map WaterWayBoolFields = new HashMap(); + private Map WaterWayStringFields = new HashMap(); + + public WaterWay() { + //Water Quality Index Data + WaterWayDoubleFields.put("CT_temperature_change", new Double(0.0)); + WaterWayDoubleFields.put("CT_turbidity", new Double(0.0)); + WaterWayDoubleFields.put("CT_pH", new Double(0.0)); + WaterWayDoubleFields.put("CT_nitrate", new Double(0.0)); + WaterWayDoubleFields.put("CT_total_phosphate", new Double(0.0)); + WaterWayDoubleFields.put("CT_dissolved_oxygen", new Double(0.0)); + //PTI Data + WaterWayDoubleFields.put("BM_intolerant", new Double(0.0)); + WaterWayDoubleFields.put("BM_moderately_tolerant", new Double(0.0)); + WaterWayDoubleFields.put("BM_fairly_tolerant", new Double(0.0)); + WaterWayDoubleFields.put("BM_very_tolerant", new Double(0.0)); + //HEI Data + WaterWayDoubleFields.put("QHEI_substrate_size", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_smothering", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_silting", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_rootwads", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_overhanging_veg", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_oxbowsblack_waters", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_downed_treeslogs", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_shallows", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_water_plants", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_deep_pools", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_logswoody_debris", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_boulders", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_undercut_banks", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_sinuosity", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_riparian_width", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_land_use", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_bank_erosion", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_stream_shading", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_deepest_pool", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_velocity", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_rifflerun_depth", new Double(0.0)); + WaterWayDoubleFields.put("QHEI_rifflerun_substrate", new Double(0.0)); + } +} diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java index a797f99..11b3bf1 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java @@ -29,7 +29,6 @@ protected void onCreate(Bundle savedInstanceState) { private void setupForm() { - formBuilder = new FormBuilder(this, recyclerView); FormElementTextNumber element2 = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); FormElementTextNumber element3 = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); @@ -70,6 +69,7 @@ private void setupForm() { formItems.add(element17); formItems.add(element18); formItems.add(element19); + formBuilder.addFormElements(formItems); } From b2e1d14fbb0f5407c0b56e12b7eecb4d9327276c Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Sat, 20 Mar 2021 12:16:53 -0400 Subject: [PATCH 14/17] fixed map --- .../WaterWay/WaterWay.java | 80 +++++++++++++------ 1 file changed, 57 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java index 7dd92ca..b7449aa 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWay.java @@ -22,28 +22,62 @@ public WaterWay() { WaterWayDoubleFields.put("BM_moderately_tolerant", new Double(0.0)); WaterWayDoubleFields.put("BM_fairly_tolerant", new Double(0.0)); WaterWayDoubleFields.put("BM_very_tolerant", new Double(0.0)); - //HEI Data - WaterWayDoubleFields.put("QHEI_substrate_size", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_smothering", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_silting", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_rootwads", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_overhanging_veg", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_oxbowsblack_waters", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_downed_treeslogs", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_shallows", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_water_plants", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_deep_pools", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_logswoody_debris", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_boulders", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_undercut_banks", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_sinuosity", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_riparian_width", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_land_use", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_bank_erosion", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_stream_shading", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_deepest_pool", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_velocity", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_rifflerun_depth", new Double(0.0)); - WaterWayDoubleFields.put("QHEI_rifflerun_substrate", new Double(0.0)); + + WaterWayDoubleFields.put("WQI", new Double(0.0)); + WaterWayDoubleFields.put("HEI", new Double(0.0)); + WaterWayDoubleFields.put("PTI", new Double(0.0)); + + //Boolean Fields + WaterWayBoolFields.put("DWS_needs_maintenance", new Boolean(false)); + WaterWayBoolFields.put("DWS_obstruction", new Boolean(false)); + WaterWayBoolFields.put("DWS_polutants", new Boolean(false)); + WaterWayBoolFields.put("DWS_presence_of_flow", new Boolean(false)); + WaterWayBoolFields.put("DWS_screened_OK", new Boolean(false)); + WaterWayBoolFields.put("DWS_unusual_color", new Boolean(false)); + WaterWayBoolFields.put("DWS_unusual_odor", new Boolean(false)); + WaterWayBoolFields.put("FC_complaint_investigation", new Boolean(false)); + WaterWayBoolFields.put("FC_further_action_needed", new Boolean(false)); + WaterWayBoolFields.put("FC_illicit_discharge_detected", new Boolean(false)); + WaterWayBoolFields.put("FC_no_illicit_discharge_detected", new Boolean(false)); + WaterWayBoolFields.put("FC_routine_evaluation", new Boolean(false)); + + //String Fields +//HEI Data + WaterWayStringFields.put("QHEI_substrate_size", ""); + WaterWayStringFields.put("QHEI_smothering", ""); + WaterWayStringFields.put("QHEI_silting", ""); + WaterWayStringFields.put("QHEI_rootwads", ""); + WaterWayStringFields.put("QHEI_overhanging_veg", ""); + WaterWayStringFields.put("QHEI_oxbowsblack_waters", ""); + WaterWayStringFields.put("QHEI_downed_treeslogs",""); + WaterWayStringFields.put("QHEI_shallows", ""); + WaterWayStringFields.put("QHEI_water_plants", ""); + WaterWayStringFields.put("QHEI_deep_pools", ""); + WaterWayStringFields.put("QHEI_logswoody_debris", ""); + WaterWayStringFields.put("QHEI_boulders", ""); + WaterWayStringFields.put("QHEI_undercut_banks", ""); + WaterWayStringFields.put("QHEI_sinuosity", ""); + WaterWayStringFields.put("QHEI_riparian_width", ""); + WaterWayStringFields.put("QHEI_land_use", ""); + WaterWayStringFields.put("QHEI_bank_erosion", ""); + WaterWayStringFields.put("QHEI_stream_shading", ""); + WaterWayStringFields.put("QHEI_deepest_pool", ""); + WaterWayStringFields.put("QHEI_velocity", ""); + WaterWayStringFields.put("QHEI_rifflerun_depth", ""); + WaterWayStringFields.put("QHEI_rifflerun_substrate", ""); + + WaterWayStringFields.put("GOD_channel_bottom_width", ""); + WaterWayStringFields.put("GOD_invert_elevation", ""); + WaterWayStringFields.put("GOD_latitude", ""); + WaterWayStringFields.put("GOD_longitude", ""); + WaterWayStringFields.put("GOD_outfall", ""); + WaterWayStringFields.put("GOD_pipe_size", ""); + WaterWayStringFields.put("GOD_receiving_water", ""); + WaterWayStringFields.put("GOD_type", ""); + + //Comments + WaterWayStringFields.put("CS_comments", ""); + WaterWayStringFields.put("CT_other_1", ""); + WaterWayStringFields.put("CT_other_2", ""); } } From f19c6c61f5c1c273a55d7fa2470ef89810f913b3 Mon Sep 17 00:00:00 2001 From: evanwilliams Date: Mon, 22 Mar 2021 15:54:33 -0400 Subject: [PATCH 15/17] added data fetching to the form functionality --- .../DryWeatherScreening.java | 16 ++++++++++++++ .../WaterWay/ChemicalTesting.java | 22 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/DryWeatherScreening.java b/app/src/main/java/com/sf/stormwaterutilityandroid/DryWeatherScreening.java index 8220c5a..8fade11 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/DryWeatherScreening.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/DryWeatherScreening.java @@ -27,6 +27,15 @@ public class DryWeatherScreening extends AppCompatActivity{ private FormBuilder formBuilder; private RecyclerView recyclerView; + + String flowVal = ""; + String odorVal = ""; + String colorVal = ""; + String polutantsVal = ""; + String obstructionVal = ""; + String maintenanceVal = ""; + String screenVal = ""; + FormElementTextEmail element11; //I assume onCreate is important so I will leave it unchanged protected void onCreate(Bundle savedInstanceState) { @@ -42,24 +51,31 @@ private void setupForm() { //Outfall --> Question: How do you do a subheading? FormElementTextSingleLine flow = new FormElementTextSingleLine().setTitle("Presence of Flow"); FormElementTextNumber flowData = FormElementTextNumber.createInstance(); //what data type is this? + flowVal = flowData.getValue(); FormElementTextSingleLine odor = new FormElementTextSingleLine().setTitle("Unusual Odor"); FormElementTextNumber odorData = FormElementTextNumber.createInstance(); + odorVal = odorData.getValue(); FormElementTextSingleLine color = new FormElementTextSingleLine().setTitle("Unusual Color"); FormElementTextNumber colorData = FormElementTextNumber.createInstance(); + colorVal = colorData.getValue(); FormElementTextSingleLine polutants = new FormElementTextSingleLine().setTitle("Polutants Nearby"); FormElementTextNumber polutantsData = FormElementTextNumber.createInstance(); + polutantsVal = polutantsData.getValue(); FormElementTextSingleLine obstruction = new FormElementTextSingleLine().setTitle("Obstruction"); FormElementTextNumber obstructionData = FormElementTextNumber.createInstance(); + obstructionVal = obstructionData.getValue(); FormElementTextSingleLine maintenance = new FormElementTextSingleLine().setTitle("Needs Maintenance"); FormElementTextNumber maintenanceData = FormElementTextNumber.createInstance(); + maintenanceVal = maintenanceData.getValue(); FormElementTextSingleLine screen = new FormElementTextSingleLine().setTitle("Screen OK"); FormElementTextNumber screenData = FormElementTextNumber.createInstance(); + screenVal = screenData.getValue(); List formItems = new ArrayList<>(); diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java index 21cb7aa..7befa77 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/ChemicalTesting.java @@ -26,9 +26,22 @@ public class ChemicalTesting extends AppCompatActivity{ private FormBuilder formBuilder; private RecyclerView recyclerView; + + double tempVal = 0.0; + double turbidityVal = 0.0; + double phVal = 0.0; + double nitrateVal = 0.0; + double phosphateVal = 0.0; + double oxygenVal = 0.0; + double coliVal = 0.0; + double other1Val = 0.0; + double other2Val = 0.0; + FormElementTextEmail element11; @Override //I assume onCreate is important so I will leave it unchanged + + protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample_fordm); @@ -45,30 +58,39 @@ private void setupForm() { FormElementTextSingleLine temperature = new FormElementTextSingleLine().setTitle("Temperature (C) Change"); //FormHeader temp = FormHeader.createInstance("Temperature (C) Change"); FormElementTextNumber tempData = FormElementTextNumber.createInstance(); //what data type is this? + tempVal = Double.parseDouble(tempData.getValue()); FormElementTextSingleLine tubidity = new FormElementTextSingleLine().setTitle("Tubidity (NTU)"); FormElementTextNumber tubidityData = FormElementTextNumber.createInstance(); + turbidityVal = Double.parseDouble(tubidityData.getValue()); FormElementTextSingleLine pH = new FormElementTextSingleLine().setTitle("pH"); FormElementTextNumber pHData = FormElementTextNumber.createInstance(); + phVal = Double.parseDouble(pHData.getValue()); FormElementTextSingleLine nitrate = new FormElementTextSingleLine().setTitle("Nitrate (mg/L)"); FormElementTextNumber nitrateData = FormElementTextNumber.createInstance(); + nitrateVal = Double.parseDouble(nitrateData.getValue()); FormElementTextSingleLine phosphate = new FormElementTextSingleLine().setTitle("Total Phosphate (mg/L)"); FormElementTextNumber phosphateData = FormElementTextNumber.createInstance(); + phosphateVal = Double.parseDouble(nitrateData.getValue()); FormElementTextSingleLine oxygen = new FormElementTextSingleLine().setTitle("Dissolved Oxygen (mg/L)"); FormElementTextNumber oxygenData = FormElementTextNumber.createInstance(); + oxygenVal = Double.parseDouble(oxygenData.getValue()); FormElementTextSingleLine coli = new FormElementTextSingleLine().setTitle("E Coli (col/100mL)"); FormElementTextNumber coliData = FormElementTextNumber.createInstance(); + coliVal = Double.parseDouble(coliData.getValue()); FormElementTextSingleLine other1 = new FormElementTextSingleLine().setTitle("Other 1"); FormElementTextNumber other1Data = FormElementTextNumber.createInstance(); + other1Val = Double.parseDouble(other1Data.getValue()); FormElementTextSingleLine other2 = new FormElementTextSingleLine().setTitle("Other 2"); FormElementTextNumber other2Data = FormElementTextNumber.createInstance(); + other2Val = Double.parseDouble(other2.getValue()); List formItems = new ArrayList<>(); From b63383e88c4237bff5aa3a964ac78dd1dbe95936 Mon Sep 17 00:00:00 2001 From: John Parrell Date: Mon, 22 Mar 2021 20:42:36 -0400 Subject: [PATCH 16/17] Renamed waterwayForm elements for easier mapping, added retrieval of waterwayForm values --- .../WaterWay/WaterWayForm.java | 112 ++++++++++++------ 1 file changed, 76 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java index 11b3bf1..2596dfa 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java @@ -8,7 +8,9 @@ import com.sf.stormwaterutilityandroid.R; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import me.riddhimanadib.formmaster.FormBuilder; import me.riddhimanadib.formmaster.model.BaseFormElement; @@ -18,6 +20,24 @@ public class WaterWayForm extends AppCompatActivity { //HQ form private FormBuilder formBuilder; private RecyclerView recyclerView; + double subVal = 0.0; + double smothVal = 0.0; + double siltVal = 0.0; + double rootVal = 0.0; + double overVegVal = 0.0; + double oxVal = 0.0; + double downVal = 0.0; + double shallowVal = 0.0; + double watVal = 0.0; + double deepVal = 0.0; + double logVal = 0.0; + double bouldVal = 0.0; + double underVal = 0.0; + double sinVal = 0.0; + double natVal = 0.0; + double ripVal = 0.0; + double landVal = 0.0; + double bankVal = 0.0; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,47 +50,67 @@ protected void onCreate(Bundle savedInstanceState) { private void setupForm() { formBuilder = new FormBuilder(this, recyclerView); - FormElementTextNumber element2 = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); - FormElementTextNumber element3 = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); - FormElementTextNumber element4 = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0"); - FormElementTextNumber element5 = FormElementTextNumber.createInstance().setTitle("Rootwads").setValue("0"); - FormElementTextNumber element6 = FormElementTextNumber.createInstance().setTitle("Overhanging Veg.").setValue("0"); - FormElementTextNumber element7 = FormElementTextNumber.createInstance().setTitle("Oxbows/Black Waters").setValue("0"); - FormElementTextNumber element8 = FormElementTextNumber.createInstance().setTitle("Downed Trees/Logs").setValue("0"); - FormElementTextNumber element9 = FormElementTextNumber.createInstance().setTitle("Shallows (slow water)").setValue("0"); - FormElementTextNumber element10 = FormElementTextNumber.createInstance().setTitle("Water Plants").setValue("0"); - FormElementTextNumber element11 = FormElementTextNumber.createInstance().setTitle("Deep Pools").setValue("0"); - FormElementTextNumber element12 = FormElementTextNumber.createInstance().setTitle("Logs/Woody Debris").setValue("0"); - FormElementTextNumber element13 = FormElementTextNumber.createInstance().setTitle("Boulders").setValue("0"); - FormElementTextNumber element14 = FormElementTextNumber.createInstance().setTitle("Undercut Banks").setValue("0"); - FormElementTextNumber element15 = FormElementTextNumber.createInstance().setTitle("Sinuosity").setValue("0"); - FormElementTextNumber element16 = FormElementTextNumber.createInstance().setTitle("Natural").setValue("0"); - FormElementTextNumber element17 = FormElementTextNumber.createInstance().setTitle("Riparian Width").setValue("0"); - FormElementTextNumber element18 = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0"); - FormElementTextNumber element19 = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0"); + FormElementTextNumber subSize = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); + FormElementTextNumber smothering = FormElementTextNumber.createInstance().setTitle("Smothering").setValue("0"); + FormElementTextNumber silting = FormElementTextNumber.createInstance().setTitle("Silting").setValue("0"); + FormElementTextNumber rootwads = FormElementTextNumber.createInstance().setTitle("Rootwads").setValue("0"); + FormElementTextNumber overhangingVeg = FormElementTextNumber.createInstance().setTitle("Overhanging Veg.").setValue("0"); + FormElementTextNumber oxbows = FormElementTextNumber.createInstance().setTitle("Oxbows/Black Waters").setValue("0"); + FormElementTextNumber downed = FormElementTextNumber.createInstance().setTitle("Downed Trees/Logs").setValue("0"); + FormElementTextNumber shallows = FormElementTextNumber.createInstance().setTitle("Shallows (slow water)").setValue("0"); + FormElementTextNumber waterPlants = FormElementTextNumber.createInstance().setTitle("Water Plants").setValue("0"); + FormElementTextNumber deepPools = FormElementTextNumber.createInstance().setTitle("Deep Pools").setValue("0"); + FormElementTextNumber logs = FormElementTextNumber.createInstance().setTitle("Logs/Woody Debris").setValue("0"); + FormElementTextNumber boulders = FormElementTextNumber.createInstance().setTitle("Boulders").setValue("0"); + FormElementTextNumber undercutBanks = FormElementTextNumber.createInstance().setTitle("Undercut Banks").setValue("0"); + FormElementTextNumber sinuosity = FormElementTextNumber.createInstance().setTitle("Sinuosity").setValue("0"); + FormElementTextNumber natural = FormElementTextNumber.createInstance().setTitle("Natural").setValue("0"); + FormElementTextNumber riparianWidth = FormElementTextNumber.createInstance().setTitle("Riparian Width").setValue("0"); + FormElementTextNumber landUse = FormElementTextNumber.createInstance().setTitle("Land Use").setValue("0"); + FormElementTextNumber bankErosion = FormElementTextNumber.createInstance().setTitle("Bank Erosion").setValue("0"); List formItems = new ArrayList<>(); - formItems.add(element2); - formItems.add(element3); - formItems.add(element4); - formItems.add(element5); - formItems.add(element6); - formItems.add(element7); - formItems.add(element8); - formItems.add(element9); - formItems.add(element10); - formItems.add(element11); - formItems.add(element12); - formItems.add(element13); - formItems.add(element14); - formItems.add(element15); - formItems.add(element16); - formItems.add(element17); - formItems.add(element18); - formItems.add(element19); + formItems.add(subSize); + formItems.add(smothering); + formItems.add(silting); + formItems.add(rootwads); + formItems.add(overhangingVeg); + formItems.add(oxbows); + formItems.add(downed); + formItems.add(shallows); + formItems.add(waterPlants); + formItems.add(deepPools); + formItems.add(logs); + formItems.add(boulders); + formItems.add(undercutBanks); + formItems.add(sinuosity); + formItems.add(natural); + formItems.add(riparianWidth); + formItems.add(landUse); + formItems.add(bankErosion); formBuilder.addFormElements(formItems); + subVal = Double.parseDouble(subSize.getValue()); + smothVal = Double.parseDouble(smothering.getValue()); + siltVal = Double.parseDouble(silting.getValue()); + rootVal = Double.parseDouble(rootwads.getValue()); + overVegVal = Double.parseDouble(overhangingVeg.getValue()); + oxVal = Double.parseDouble(oxbows.getValue()); + downVal = Double.parseDouble(downed.getValue()); + shallowVal = Double.parseDouble(shallows.getValue()); + watVal = Double.parseDouble(waterPlants.getValue()); + deepVal = Double.parseDouble(deepPools.getValue()); + logVal = Double.parseDouble(logs.getValue()); + bouldVal = Double.parseDouble(boulders.getValue()); + underVal = Double.parseDouble(undercutBanks.getValue()); + sinVal = Double.parseDouble(sinuosity.getValue()); + natVal = Double.parseDouble(natural.getValue()); + ripVal = Double.parseDouble(riparianWidth.getValue()); + landVal = Double.parseDouble(landUse.getValue()); + bankVal = Double.parseDouble(bankErosion.getValue()); + + } } \ No newline at end of file From 39ba0fe6b2c2a441156a3e9e8a1643fe6e2d4886 Mon Sep 17 00:00:00 2001 From: John Parrell Date: Mon, 22 Mar 2021 20:48:40 -0400 Subject: [PATCH 17/17] Added tolerant form with retrieval --- .../WaterWay/WaterWayForm.java | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java index 2596dfa..2d934ac 100644 --- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java +++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayForm.java @@ -39,15 +39,21 @@ public class WaterWayForm extends AppCompatActivity { double landVal = 0.0; double bankVal = 0.0; + //Tolerant Form + double intolerantVal = 0.0; + double modTolerantVal = 0.0; + double fairTolerantVal = 0.0; + double veryTolerantVal = 0.0; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample_fordm); recyclerView = findViewById(R.id.recyclerView2); - setupForm(); + setupHQForm(); } - private void setupForm() { + private void setupHQForm() { formBuilder = new FormBuilder(this, recyclerView); FormElementTextNumber subSize = FormElementTextNumber.createInstance().setTitle("Substrate Size").setValue("0"); @@ -112,5 +118,26 @@ private void setupForm() { bankVal = Double.parseDouble(bankErosion.getValue()); + } + private void setupTolerantForm(){ + formBuilder = new FormBuilder(this, recyclerView); + FormElementTextNumber intolerant = FormElementTextNumber.createInstance().setTitle("Intolerant").setValue("0"); + FormElementTextNumber moderatelyTolerant = FormElementTextNumber.createInstance().setTitle("Moderately Tolerant").setValue("0"); + FormElementTextNumber fairlyTolerant = FormElementTextNumber.createInstance().setTitle("Fairly Tolerant").setValue("0"); + FormElementTextNumber veryTolerant = FormElementTextNumber.createInstance().setTitle("Very Tolerant").setValue("0"); + + List formItems = new ArrayList<>(); + formItems.add(intolerant); + formItems.add(moderatelyTolerant); + formItems.add(fairlyTolerant); + formItems.add(veryTolerant); + + intolerantVal = Double.parseDouble(intolerant.getValue()); + modTolerantVal = Double.parseDouble(moderatelyTolerant.getValue()); + fairTolerantVal = Double.parseDouble(fairlyTolerant.getValue()); + veryTolerantVal = Double.parseDouble(veryTolerant.getValue()); + + + } } \ No newline at end of file