Skip to content

Commit

Permalink
Merge pull request #19 from EPICSGroup/Samuel2
Browse files Browse the repository at this point in the history
Added report page, report detail page, fixed navigation, changed login to persist,updated waterformfragment
  • Loading branch information
seford authored Apr 15, 2021
2 parents 4c593ae + f11cb12 commit 601fde9
Show file tree
Hide file tree
Showing 11 changed files with 449 additions and 95 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
27 changes: 25 additions & 2 deletions 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,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) {
Expand All @@ -54,14 +62,17 @@ public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
};



setContentView(R.layout.activity_login);
inputEmail = findViewById(R.id.email);
inputPassword = findViewById(R.id.password);
progressBar = findViewById(R.id.progressBar3);
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();

Expand Down Expand Up @@ -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<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
System.out.println("Execute 174");
User.agid = task.getResult().toObject(User.class).getAgencyID();
System.out.println(User.agid);
}
});
}

}
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
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.io.Serializable;
import java.util.List;

public class ReportAdapter extends RecyclerView.Adapter<ReportAdapter.MyHolder>{
Expand All @@ -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
Expand Down
6 changes: 5 additions & 1 deletion app/src/main/java/com/sf/stormwaterutilityandroid/User.java
Original file line number Diff line number Diff line change
@@ -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;
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 All @@ -34,6 +47,7 @@


public class WaterWayFormFragment extends Fragment {

//Gen Form Variable Initialization
String nameOfInspector = "";
String nameOfSite = "";
Expand Down Expand Up @@ -185,6 +199,7 @@ public void onClick(View v) {
Map<String, String> WaterWayStringFields = new HashMap<String, String>();

//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);
Expand Down Expand Up @@ -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<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 +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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,16 @@ 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();

active = fragment1;
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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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<String,Boolean> boolFields = new HashMap<>();
Map<String, Double> doubleFields = new HashMap<>();
Map<String,String> stringFields = new HashMap<>();

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() {
}
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 WaterWayReport(String h_date, String h_inspector_name, String h_site_name, Date sortTimeStamp, 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;
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;
}
Expand All @@ -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<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;
}
}
Loading

0 comments on commit 601fde9

Please sign in to comment.