Skip to content

Commit

Permalink
fixed login, changed WaterWayReport class, added code to push form to…
Browse files Browse the repository at this point in the history
… firebase, added WaterwayReportDetail.java
  • Loading branch information
Samuelford24 authored and Samuelford24 committed Apr 15, 2021
1 parent 03b8a54 commit cd52021
Show file tree
Hide file tree
Showing 8 changed files with 247 additions and 27 deletions.
27 changes: 10 additions & 17 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,20 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.StormWaterUtilityAndroid">
<activity android:name=".Settings"></activity>

<activity android:name=".MainMenu" >

</activity>
<activity
android:name=".WaterWay.WaterWayNav"
>
</activity>
<activity android:name=".Construction.ConstructionNav">

</activity>
<activity android:name=".WaterwayReportDetail"></activity>
<activity android:name=".Settings" />
<activity android:name=".MainMenu"></activity>
<activity android:name=".WaterWay.WaterWayNav"></activity>
<activity android:name=".Construction.ConstructionNav"></activity>
<activity android:name=".Reset_password" />
<activity android:name=".SampleFordm" />
<activity android:name=".InspectionForm" />
<activity android:name=".Login" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<activity android:name=".Login">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SignUp" />
</application>
Expand Down
9 changes: 8 additions & 1 deletion app/src/main/java/com/sf/stormwaterutilityandroid/Login.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -37,13 +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()) {
// fetchAgencyID();
startActivity(new Intent(Login.this, WaterWayNav.class));
startActivity(new Intent(Login.this, MainMenu.class));
finish();
}
if (firebaseAuth.getCurrentUser() == null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package com.sf.stormwaterutilityandroid;

import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.recyclerview.widget.RecyclerView;

import com.sf.stormwaterutilityandroid.WaterWay.WaterWay;
import com.sf.stormwaterutilityandroid.WaterWay.WaterWayReport;

import java.util.List;
Expand Down Expand Up @@ -34,6 +36,14 @@ public void onBindViewHolder(ReportAdapter.MyHolder holder, final int 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",data);
v.getContext().startActivity(int);
}
});


}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -253,6 +266,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<DocumentReference>() {
@Override
public void onComplete(@NonNull Task<DocumentReference> task) {
if (task.isSuccessful()) {
Toast.makeText(getContext(),"Successfully Uploaded",Toast.LENGTH_LONG).show();
}
}
});
}


Expand Down Expand Up @@ -327,7 +350,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() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,49 @@
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<String,Boolean> boolFields = new HashMap<>();
Map<String, Double> doubleFields = new HashMap<>();
Map<String,String> stringFields = new HashMap<>();

public WaterWayReport() {
}

public WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Timestamp sortTimeStamp, GeoPoint location, Map<String, Boolean> boolFields, Map<String, Double> doubleFields, Map<String, String> stringFields) {
public WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Date sortTimeStamp, GeoPoint location, Map<String, Boolean> boolFields, Map<String, Double> doubleFields, Map<String, String> 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 Timestamp getSortTimeStamp() {
return SortTimeStamp;
public Date getTimeStamp() {
return timeStamp;
}

public void setTimeStamp(Date timeStamp) {
this.timeStamp = timeStamp;
}



public String getH_date() {
return H_date;
}
Expand All @@ -45,4 +55,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<String, Boolean> getBoolFields() {
return boolFields;
}

public void setBoolFields(Map<String, Boolean> boolFields) {
this.boolFields = boolFields;
}

public Map<String, Double> getDoubleFields() {
return doubleFields;
}

public void setDoubleFields(Map<String, Double> doubleFields) {
this.doubleFields = doubleFields;
}

public Map<String, String> getStringFields() {
return stringFields;
}

public void setStringFields(Map<String, String> stringFields) {
this.stringFields = stringFields;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ 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() {


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
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 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<String> s = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_waterway_report_detail);
wp = (WaterWayReport) getIntent().getSerializableExtra("report");
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_needs_maintenance"));
s.add(labels[21] + wp.getBoolFields().get("DWS_needs_maintenance"));
s.add(labels[22] + wp.getBoolFields().get("DWS_needs_maintenance"));
s.add(labels[23] + wp.getBoolFields().get("DWS_needs_maintenance"));
s.add(labels[24] + wp.getBoolFields().get("DWS_needs_maintenance"));
s.add(labels[25] + wp.getBoolFields().get("DWS_needs_maintenance"));



}
}
Loading

0 comments on commit cd52021

Please sign in to comment.