diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cf30795..7da3a10 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,27 +9,20 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.StormWaterUtilityAndroid">
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java b/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java
index da639e4..095ca20 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/Login.java
@@ -22,6 +22,8 @@
import com.google.firebase.firestore.FirebaseFirestore;
import com.sf.stormwaterutilityandroid.WaterWay.WaterWayNav;
+import java.util.Map;
+
public class Login extends AppCompatActivity {
private EditText inputEmail, inputPassword;
@@ -37,12 +39,18 @@ protected void onCreate(Bundle savedInstanceState) {
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
+ if (auth.getCurrentUser() != null && auth.getCurrentUser().isEmailVerified()) {
+ fetchAgencyID();
+ startActivity(new Intent(Login.this, MainMenu.class));
+ finish();
+ }
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() != null && auth.getCurrentUser().isEmailVerified()) {
- startActivity(new Intent(Login.this, WaterWayNav.class));
+ // fetchAgencyID();
+ startActivity(new Intent(Login.this, MainMenu.class));
finish();
}
if (firebaseAuth.getCurrentUser() == null) {
@@ -54,6 +62,7 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
};
+
setContentView(R.layout.activity_login);
inputEmail = findViewById(R.id.email);
inputPassword = findViewById(R.id.password);
@@ -61,7 +70,9 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
btnSignup = findViewById(R.id.btn_signup);
btnLogin = findViewById(R.id.btn_login);
btnReset = findViewById(R.id.btn_reset_password);
-
+ if (auth.getCurrentUser() != null) {
+ fetchAgencyID();
+ }
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
@@ -166,4 +177,16 @@ public void onClick(DialogInterface dialog, int id) {
}
+ private void fetchAgencyID() {
+ System.out.println("Execute 171");
+ FirebaseFirestore.getInstance().collection("Users").document(auth.getUid()).get().addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ System.out.println("Execute 174");
+ User.agid = task.getResult().toObject(User.class).getAgencyID();
+ System.out.println(User.agid);
+ }
+ });
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/ReportAdapter.java b/app/src/main/java/com/sf/stormwaterutilityandroid/ReportAdapter.java
index 00091c8..b0cd8db 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/ReportAdapter.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/ReportAdapter.java
@@ -1,5 +1,6 @@
package com.sf.stormwaterutilityandroid;
+import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -7,8 +8,10 @@
import androidx.recyclerview.widget.RecyclerView;
+import com.sf.stormwaterutilityandroid.WaterWay.WaterWay;
import com.sf.stormwaterutilityandroid.WaterWay.WaterWayReport;
+import java.io.Serializable;
import java.util.List;
public class ReportAdapter extends RecyclerView.Adapter{
@@ -30,17 +33,28 @@ public ReportAdapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType)
public void onBindViewHolder(ReportAdapter.MyHolder holder, final int position) {
- // final Report data = listdata.get(position);
- // holder.inspectorName.setText(data.getInspectorName());
- // holder.site.setText(data.getSite());
- // holder.date.setText((CharSequence) data.getDate());
+ final WaterWayReport data = listdata.get(position);
+ holder.inspectorName.setText(data.getH_inspector_name());
+ holder.site.setText(data.getH_site_name());
+ holder.date.setText(data.getH_date());
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(v.getContext(), WaterwayReportDetail.class);
+ intent.putExtra("report",new WaterWayReport(data.getH_date(),data.getH_inspector_name(),data.getH_site_name(),data.getTimeStamp(),data.getBoolFields(),data.getDoubleFields(),data.getStringFields()));
+ v.getContext().startActivity(intent);
+ }
+ });
}
@Override
public int getItemCount() {
- return 0;
+ if (listdata == null) {
+ return 0;
+ }
+ return listdata.size();
}
// @Override
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/User.java b/app/src/main/java/com/sf/stormwaterutilityandroid/User.java
index efeb955..d7b420e 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/User.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/User.java
@@ -1,7 +1,11 @@
package com.sf.stormwaterutilityandroid;
-class User {
+public class User {
String name, email, uid,agencyID;
+ public static String agid;
+
+ public User() {
+ }
public User(String name, String email, String uid, String agencyID) {
this.name = name;
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
index 69bd48c..975cd2c 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayFormFragment.java
@@ -6,6 +6,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
@@ -14,10 +15,22 @@
import com.addisonelliott.segmentedbutton.SegmentedButton;
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.firebase.Timestamp;
+import com.google.firebase.firestore.DocumentReference;
+import com.google.firebase.firestore.FieldValue;
+import com.google.firebase.firestore.FirebaseFirestore;
+import com.google.firebase.firestore.GeoPoint;
+import com.google.firebase.firestore.model.ServerTimestamps;
import com.sf.stormwaterutilityandroid.R;
import com.sf.stormwaterutilityandroid.SampleFordm;
+import com.sf.stormwaterutilityandroid.User;
+import java.sql.Time;
import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -34,6 +47,7 @@
public class WaterWayFormFragment extends Fragment {
+
//Gen Form Variable Initialization
String nameOfInspector = "";
String nameOfSite = "";
@@ -185,6 +199,7 @@ public void onClick(View v) {
Map WaterWayStringFields = new HashMap();
//Water Quality Index Data
+ WaterWayDoubleFields.put("CT_E_coli",coliVal);
WaterWayDoubleFields.put("CT_temperature_change",tempVal );
WaterWayDoubleFields.put("CT_turbidity", turbidityVal);
WaterWayDoubleFields.put("CT_pH", phVal);
@@ -253,6 +268,16 @@ public void onClick(View v) {
WaterWayStringFields.put("CS_comments", "");
WaterWayStringFields.put("CT_other_1", "");
WaterWayStringFields.put("CT_other_2", "");
+
+ WaterWayReport wp = new WaterWayReport(dateRow,nameOfInspector,nameOfSite, null,new GeoPoint(1.23,17.),WaterWayBoolFields,WaterWayDoubleFields,WaterWayStringFields);
+ FirebaseFirestore.getInstance().collection("Forms").document(User.agid).collection("Waterway").add(wp).addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ if (task.isSuccessful()) {
+ Toast.makeText(getContext(),"Successfully Uploaded",Toast.LENGTH_LONG).show();
+ }
+ }
+ });
}
@@ -327,7 +352,7 @@ private double calculatePTI() {
private double calculateWQI() {
double WQIScore = tempVal * 0.11 + turbidityVal * 0.09 + phVal * 0.12 + nitrateVal * 0.1 +
phosphateVal * 0.11 + oxygenVal * 0.18;
-
+ System.out.println("WQI"+WQIScore);
return WQIScore;
}
private void setupFormGen() {
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
index 894f4a2..2aa475b 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayNav.java
@@ -32,7 +32,8 @@ public class WaterWayNav extends AppCompatActivity {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
- case R.id.navigation_home:
+ case R.id.waterWayHome:
+ System.out.println("Print");
// mTextMessage.setText(R.string.title_home);
fm.beginTransaction().hide(active).show(fragment1).commit();
@@ -40,6 +41,7 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
fm.popBackStack();
return true;
case R.id.waterWayReports:
+ System.out.println("Print");
// mTextMessage.setText(R.string.title_dashboard);
fm.beginTransaction().hide(active).show(fragment2).commit();
active = fragment2;
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReport.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReport.java
index 8141c5c..5100e1b 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReport.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReport.java
@@ -1,36 +1,59 @@
package com.sf.stormwaterutilityandroid.WaterWay;
import com.google.firebase.Timestamp;
+import com.google.firebase.firestore.FieldValue;
import com.google.firebase.firestore.GeoPoint;
+import com.google.firebase.firestore.ServerTimestamp;
+import java.io.Serializable;
+import java.util.Calendar;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-public class WaterWayReport {
+public class WaterWayReport implements Serializable {
String H_date;
String H_inspector_name;
String H_site_name;
- Timestamp SortTimeStamp;
+ @ServerTimestamp Date timeStamp;
GeoPoint location;
Map boolFields = new HashMap<>();
Map doubleFields = new HashMap<>();
Map stringFields = new HashMap<>();
- public WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Timestamp sortTimeStamp, GeoPoint location, Map boolFields, Map doubleFields, Map stringFields) {
+ public WaterWayReport() {
+ }
+ public WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Date sortTimeStamp, GeoPoint location, Map boolFields, Map doubleFields, Map stringFields) {
H_date = h_date;
H_inspector_name = h_inspector_name;
H_site_name = h_site_name;
- SortTimeStamp = sortTimeStamp;
+ timeStamp = sortTimeStamp;
this.location = location;
this.boolFields = boolFields;
this.doubleFields = doubleFields;
this.stringFields = stringFields;
}
+ public WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Date sortTimeStamp, Map boolFields, Map doubleFields, Map stringFields) {
+ H_date = h_date;
+ H_inspector_name = h_inspector_name;
+ H_site_name = h_site_name;
+ timeStamp = sortTimeStamp;
+
+ this.boolFields = boolFields;
+ this.doubleFields = doubleFields;
+ this.stringFields = stringFields;
+ }
+
+ public Date getTimeStamp() {
+ return timeStamp;
+ }
- public Timestamp getSortTimeStamp() {
- return SortTimeStamp;
+ public void setTimeStamp(Date timeStamp) {
+ this.timeStamp = timeStamp;
}
+
+
public String getH_date() {
return H_date;
}
@@ -42,4 +65,48 @@ public String getH_inspector_name() {
public String getH_site_name() {
return H_site_name;
}
+
+ public void setH_date(String h_date) {
+ H_date = h_date;
+ }
+
+ public void setH_inspector_name(String h_inspector_name) {
+ H_inspector_name = h_inspector_name;
+ }
+
+ public void setH_site_name(String h_site_name) {
+ H_site_name = h_site_name;
+ }
+
+ public GeoPoint getLocation() {
+ return location;
+ }
+
+ public void setLocation(GeoPoint location) {
+ this.location = location;
+ }
+
+ public Map getBoolFields() {
+ return boolFields;
+ }
+
+ public void setBoolFields(Map boolFields) {
+ this.boolFields = boolFields;
+ }
+
+ public Map getDoubleFields() {
+ return doubleFields;
+ }
+
+ public void setDoubleFields(Map doubleFields) {
+ this.doubleFields = doubleFields;
+ }
+
+ public Map getStringFields() {
+ return stringFields;
+ }
+
+ public void setStringFields(Map stringFields) {
+ this.stringFields = stringFields;
+ }
}
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java
index f8e00a7..ca422c7 100644
--- a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterWay/WaterWayReportFragment.java
@@ -1,6 +1,8 @@
package com.sf.stormwaterutilityandroid.WaterWay;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -22,6 +24,8 @@
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.DocumentSnapshot;
@@ -29,21 +33,29 @@
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreException;
import com.google.firebase.firestore.Query;
+import com.google.firebase.firestore.QueryDocumentSnapshot;
import com.google.firebase.firestore.QuerySnapshot;
import com.sf.stormwaterutilityandroid.ConstructionReportAdapter;
import com.sf.stormwaterutilityandroid.R;
import com.sf.stormwaterutilityandroid.ReportAdapter;
+import com.sf.stormwaterutilityandroid.User;
+
+import org.w3c.dom.Document;
import java.util.ArrayList;
import java.util.List;
public class WaterWayReportFragment extends Fragment {
+ public WaterWayReportFragment() {
+ }
- private SearchView searchBar;//TODO: Make a search bar later?
+ private EditText searchBar;//TODO: Make a search bar later?
private RecyclerView recyclerView;
private Button btnSiteName, btnDate, btnInspectorName;
+ List reportList;
+ ReportAdapter reportAdapter;
//TODO: Need vars for formdata
//TODO: Need a var for tvReports: UITableView!
@@ -55,8 +67,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_reports, container, false);
- recyclerView = view.findViewById(R.id.recyclerView);
-
+ // recyclerView = view.findViewById(R.id.recyclerView);
+ reportList = new ArrayList<>();
+ reportAdapter = new ReportAdapter(reportList);
btnSiteName = view.findViewById(R.id.btn_site_name);
@@ -65,12 +78,39 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
searchBar = view.findViewById(R.id.searchView);
recyclerView = view.findViewById(R.id.recyclerView);
- fetchData();
+ fetchData();
+searchBar.addTextChangedListener(new TextWatcher() {
+
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if (s.toString().length() == 0) {
+ fetchData();
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+
+
+});
btnSiteName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//startActivity(new Intent(Reports.this, Site_name.class));
+ String txt = searchBar.getText().toString().trim();
+ if (txt.isEmpty() || txt ==null) {
+ return;
+ }
+ fetchFilteredDate(txt,"H_site_name");
}
});
@@ -78,14 +118,22 @@ public void onClick(View v) {
btnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- //startActivity(new Intent(Reports.this, Date.class));
+ String txt = searchBar.getText().toString().trim();
+ if (txt.isEmpty() || txt ==null) {
+ return;
+ }
+ fetchFilteredDate(txt,"H_date");
}
});
btnInspectorName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- //startActivity(new Intent(Reports.this, Inspector_name.class));
+ String txt = searchBar.getText().toString().trim();
+ if (txt.isEmpty() || txt ==null) {
+ return;
+ }
+ fetchFilteredDate(txt,"H_inspector_name");
}
});
@@ -94,21 +142,40 @@ public void onClick(View v) {
}
+
+ private void fetchFilteredDate(String txt, String searchField) {
+ FirebaseFirestore.getInstance().collection("Forms").document(User.agid).collection("Waterway").whereEqualTo(searchField,txt).get().addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ reportList.clear();
+ if (task.isSuccessful() && task != null) {
+ for(QueryDocumentSnapshot document:task.getResult()) {
+ reportList.add(document.toObject(WaterWayReport.class));
+ }
+ reportAdapter.notifyDataSetChanged();
+ }
+ }
+ });
+
+
+ }
+
public void fetchData() {
- List reportList = new ArrayList<>();
- final ReportAdapter reportAdapter = new ReportAdapter(reportList);
- FirebaseFirestore.getInstance().collection("AquaSourceForms").orderBy("SortTimeStamp", Query.Direction.DESCENDING).addSnapshotListener(new EventListener() {
+
+ FirebaseFirestore.getInstance().collection("Forms").document(User.agid).collection("Waterway").orderBy("SortTimeStamp", Query.Direction.DESCENDING).addSnapshotListener(new EventListener() {
@Override
public void onEvent(@javax.annotation.Nullable QuerySnapshot queryDocumentSnapshots, @javax.annotation.Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.i("Error", "No data");
}
reportList.clear();
-
+ System.out.println("108:" +queryDocumentSnapshots.size());
for (DocumentSnapshot d:queryDocumentSnapshots){
//needs to be changed to waterway data type
+
reportList.add( d.toObject(WaterWayReport.class));
}
+ System.out.println(reportList.size());
reportAdapter.notifyDataSetChanged();
}
diff --git a/app/src/main/java/com/sf/stormwaterutilityandroid/WaterwayReportDetail.java b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterwayReportDetail.java
new file mode 100644
index 0000000..486c36f
--- /dev/null
+++ b/app/src/main/java/com/sf/stormwaterutilityandroid/WaterwayReportDetail.java
@@ -0,0 +1,169 @@
+package com.sf.stormwaterutilityandroid;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import com.google.firebase.firestore.DocumentSnapshot;
+import com.google.firebase.firestore.EventListener;
+import com.google.firebase.firestore.FirebaseFirestore;
+import com.google.firebase.firestore.FirebaseFirestoreException;
+import com.google.firebase.firestore.Query;
+import com.google.firebase.firestore.QuerySnapshot;
+import com.sf.stormwaterutilityandroid.WaterWay.WaterWayReport;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WaterwayReportDetail extends AppCompatActivity {
+WaterWayReport wp;
+ArrayList s = new ArrayList<>();
+ListView listView;
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_waterway_report_detail);
+ wp = (WaterWayReport) getIntent().getSerializableExtra("report");
+ listView = findViewById(R.id.listView);
+ String[] labels =
+ {"Chemical (WQI): ",
+ "Biological (PTI): ",
+ "Habitat (QHEI): ",
+ "Name of Inspector: ",
+ "Name of Site: ",
+ "Date: ",
+ "Outfall #: ",
+ "Longitude: ",
+ "Latitude: ",
+ "Invert Elevation: ",
+ "Type: ",
+ "Pipe Size: ",
+ "Channel Bottom Width: ",
+ "Receiving Water: ",
+ "Presence Of Flow: ",
+ "Unusual Odor: ",
+ "Unusual Color: ",
+ "Polutants (nearby): ",
+ "Obstruction: ",
+ "Needs Mainenance: ",
+ "Screened Ok: ",
+ "Routine Evaluation: ",
+ "Complaint Investigation: ",
+ "Illicit Discharge Detected: ",
+ "No Illicit Discharge Detected: ",
+ "Further Action Needed: ",
+ "Temperature (C) Change: ",
+ "Turbidity (NTU): ",
+ "pH: ",
+ "Nitrate (mg/L): ",
+ "Total Phosphate (mg/L): ",
+ "Dissolved Oxygen (mg/L): ",
+ "E coli (Col/100ml): ",
+ "Other 1: ",
+ "Other 2: ",
+ "Intolerant: ",
+ "Moderately Tolerant: ",
+ "Fairly Tolerant: ",
+ "Very Tolerant: ",
+ "Substrate Size: ",
+ "Smothering: ",
+ "Silting: ",
+ "Rootwads: ",
+ "Overhanging Veg.: ",
+ "Oxbows/Black Water: ",
+ "Downed Trees/Logs: ",
+ "Shallows (in slow water): ",
+ "Water Plants: ",
+ "Deep Pools: ",
+ "Logs/Woody Debris: ",
+ "Boulders: ",
+ "Undercut Banks: ",
+ "Sinuosity: ",
+ "Natural: ",
+ "Riparian Width: ",
+ "Land Use: ",
+ "Bank Erosion: ",
+ "Stream Shading: ",
+ "Deepest Pool: ",
+ "Velocity: ",
+ "Riffle/Run Depth: ",
+ "Riffle/Run Substrate: ",
+ "Comments: "};
+ s.add( labels[0]+wp.getDoubleFields().get("WQI"));
+ s.add( labels[1]+wp.getDoubleFields().get("PTI"));
+ s.add( labels[2]+wp.getDoubleFields().get("QHEI"));
+ s.add( labels[3]+wp.getH_inspector_name());
+ s.add( labels[4]+wp.getH_site_name());
+ s.add( labels[5]+wp.getH_date());
+ s.add( labels[6]+wp.getDoubleFields().get("GOD_longitude"));
+ s.add(labels[7]+wp.getDoubleFields().get("GOD_latitude"));
+ s.add(labels[8]+wp.getDoubleFields().get("GOD_invert_elevation"));
+ s.add(labels[9] + wp.getDoubleFields().get("GOD_type"));
+ s.add(labels[10] + wp.getDoubleFields().get("GOD_pipe_size"));
+ s.add(labels[11] + wp.getDoubleFields().get("GOD_channel_bottom_width"));
+ s.add(labels[12] + wp.getDoubleFields().get("GOD_receiving_water"));
+ s.add(labels[13] + wp.getBoolFields().get("DWS_presence_of_flow"));
+ s.add(labels[14] + wp.getBoolFields().get("DWS_unusual_odor"));
+ s.add(labels[15] + wp.getBoolFields().get("DWS_unusual_color"));
+ s.add(labels[16] + wp.getBoolFields().get("DWS_polutants"));
+ s.add(labels[17] + wp.getBoolFields().get("DWS_polutants"));
+ s.add(labels[18] + wp.getBoolFields().get("DWS_obstruction"));
+ s.add(labels[19] + wp.getBoolFields().get("DWS_needs_maintenance"));
+ s.add(labels[20] + wp.getBoolFields().get("DWS_screened_OK"));
+ s.add(labels[21] + wp.getBoolFields().get("FC_routine_evaluation"));
+ s.add(labels[22] + wp.getBoolFields().get( "FC_complaint_investigation"));
+ s.add(labels[23] + wp.getBoolFields().get("FC_illicit_discharge_detected"));
+ s.add(labels[24] + wp.getBoolFields().get("FC_no_illicit_discharge_detected"));
+ s.add(labels[25] + wp.getBoolFields().get("FC_further_action_needed"));
+ s.add(labels[26] + wp.getDoubleFields().get("CT_temperature_change"));
+ s.add(labels[27] + wp.getDoubleFields().get("CT_turbidity"));
+ s.add(labels[28] + wp.getDoubleFields().get("CT_pH"));
+ s.add(labels[29] + wp.getDoubleFields().get("CT_nitrate"));
+ s.add(labels[30] + wp.getDoubleFields().get("CT_total_phosphate"));
+ s.add(labels[31] + wp.getDoubleFields().get("CT_dissolved_oxygen"));
+ s.add(labels[32] + wp.getDoubleFields().get("CT_E_coli"));
+ s.add(labels[33] + wp.getDoubleFields().get("FC_further_action_needed"));
+ s.add(labels[34]+wp.getStringFields().get("CT_other_1"));
+ s.add(labels[35]+wp.getStringFields().get("CT_other_2"));
+ s.add(labels[36]+ wp.getDoubleFields().get("BM_intolerant"));
+ s.add(labels[37] + wp.getStringFields().get("BM_moderately_tolerant"));
+ s.add(labels[38] + wp.getStringFields().get("BM_fairly_tolerant"));
+ s.add(labels[39] + wp.getStringFields().get("BM_very_tolerant"));
+ s.add(labels[40] + wp.getStringFields().get("QHEI_substrate_size"));
+ s.add(labels[41] + wp.getStringFields().get("QHEI_smothering"));
+ s.add(labels[42] + wp.getStringFields().get("QHEI_silting"));
+ s.add(labels[43] + wp.getStringFields().get("QHEI_rootwads"));
+ s.add(labels[44] + wp.getStringFields().get("QHEI_overhanging_veg"));
+ s.add(labels[45] + wp.getStringFields().get("QHEI_oxbowsblack_waters"));
+ s.add(labels[46] + wp.getStringFields().get("QHEI_downed_treeslogs"));
+ s.add(labels[47] + wp.getStringFields().get("QHEI_shallows"));
+ s.add(labels[48] + wp.getStringFields().get("QHEI_water_plants"));
+ s.add(labels[49] + wp.getStringFields().get("QHEI_deep_pools"));
+ s.add(labels[50] + wp.getStringFields().get("QHEI_logswoody_debris"));
+ s.add(labels[51] + wp.getStringFields().get("QHEI_boulders"));
+ s.add(labels[52] + wp.getStringFields().get("QHEI_undercut_banks"));
+ s.add(labels[53] + wp.getStringFields().get("QHEI_sinuosity"));
+ s.add(labels[54] + wp.getStringFields().get("QHEI_riparian_width"));
+ s.add(labels[55] + wp.getStringFields().get("QHEI_land_use"));
+ s.add(labels[56] + wp.getStringFields().get("QHEI_bank_erosion"));
+ s.add(labels[57] + wp.getStringFields().get("QHEI_stream_shading"));
+ s.add(labels[58] + wp.getStringFields().get("QHEI_deepest_pool"));
+ s.add(labels[59] + wp.getStringFields().get("QHEI_velocity"));
+ s.add(labels[60] + wp.getStringFields().get("QHEI_rifflerun_depth"));
+ s.add(labels[61] + wp.getStringFields().get("QHEI_rifflerun_substrate"));
+ s.add(labels[62] + wp.getStringFields().get("CS_comments"));
+ ArrayAdapter adapter = new ArrayAdapter(this,
+ android.R.layout.simple_list_item_1, android.R.id.text1, s);
+
+
+ // Assign adapter to ListView
+ listView.setAdapter(adapter);
+
+ }
+}
diff --git a/app/src/main/res/layout/activity_reports.xml b/app/src/main/res/layout/activity_reports.xml
index ea37db6..5e6472f 100644
--- a/app/src/main/res/layout/activity_reports.xml
+++ b/app/src/main/res/layout/activity_reports.xml
@@ -6,91 +6,64 @@
android:layout_height="match_parent">
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent"
+ android:hint="Date,name,or site" />
-
+ app:layout_constraintTop_toBottomOf="@+id/btn_inspector_name" />
+ app:layout_constraintBottom_toTopOf="@+id/guideline"
+ app:layout_constraintEnd_toStartOf="@+id/btn_inspector_name"
+ app:layout_constraintHorizontal_chainStyle="spread_inside"
+ app:layout_constraintStart_toStartOf="parent" />
+ app:layout_constraintStart_toEndOf="@+id/btn_site_name" />
+ app:layout_constraintStart_toEndOf="@+id/btn_inspector_name" />
+
+
diff --git a/app/src/main/res/layout/activity_waterway_report_detail.xml b/app/src/main/res/layout/activity_waterway_report_detail.xml
new file mode 100644
index 0000000..155453f
--- /dev/null
+++ b/app/src/main/res/layout/activity_waterway_report_detail.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
\ No newline at end of file