Skip to content

Commit

Permalink
Can send and receive data from Firebase. Currently crashes on swipe t…
Browse files Browse the repository at this point in the history
…o refresh. Need to implement firebase download when lot is opened.
  • Loading branch information
rkalz committed Feb 25, 2017
1 parent 6656c54 commit 8c1e96d
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;


import java.util.ArrayList;
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/net/rofael/uabparkingfinder/Parking.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import android.os.Parcelable;
import android.os.Parcel;

import java.util.ArrayList;

/**
* Created by Rofael on 2/24/2017.
*/
Expand Down Expand Up @@ -59,6 +61,20 @@ else if (status == 2)
return null;
}

public void overallParkingStatus(ArrayList<Report> input)
{
double reportTimeSum = 0;
if (input.size() < 5)
{
status = -1;
}
for (int i = 0; i < input.size(); i++)
{
reportTimeSum = reportTimeSum+input.get(i).getStatus();
}
status = (int) java.lang.Math.ceil(reportTimeSum/input.size());
}

@Override
public int describeContents() {
return 0;
Expand Down
71 changes: 53 additions & 18 deletions app/src/main/java/net/rofael/uabparkingfinder/ParkingActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.firebase.database.*;

import java.lang.reflect.Array;

Expand Down Expand Up @@ -74,16 +75,10 @@ protected void onCreate(Bundle savedInstanceState) {
reportData.add("Report");

SharedPreferences sharedPrefs = getPreferences(Context.MODE_PRIVATE);
/*if (sharedPrefs.getBoolean("savedData",false))
{
try {
loadPreferenecs();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}*/
final SharedPreferences.Editor edit = sharedPrefs.edit();
String commitName;

mDatabase = FirebaseDatabase.getInstance().getReference();

Button confirmClick = (Button) findViewById(R.id.send_staus);
confirmClick.setOnClickListener(new View.OnClickListener() {
Expand Down Expand Up @@ -162,16 +157,55 @@ public void onNothingSelected(AdapterView<?> parent) {

}

public void addToList()
{
reportType = drop.getSelectedItemPosition()-1;
if (reportType > -1 && reportType < 3)
{
public void addToList() {
reportType = drop.getSelectedItemPosition() - 1;
if (reportType > -1 && reportType < 3) {
reports.add(new Report(lot, reportType));
reportData.add(reports.get(reports.size() - 1).readableLastReportTime());
reportData.add(reports.get(reports.size() - 1).viewStatus());
stringListAdapter.notifyDataSetChanged();
mDatabase.child("lots").child(lot.toString()).push().child("reports").setValue(reports.get(reports.size() - 1));
}
mDatabase.child("lots").child(lot.toString()).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (reports.size()>0) {
reportData.add(reports.get(reports.size() - 1).readableLastReportTime());
reportData.add(reports.get(reports.size() - 1).viewStatus());
stringListAdapter.notifyDataSetChanged();
}
}

@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Iterable<DataSnapshot> it = dataSnapshot.getChildren();
for (DataSnapshot postSnap : it) {
Report in = postSnap.child("reports").getValue(Report.class);
in = new Report(lot,in.getStatus(),in.getReportTime());
reports.add(in);
reportData.add(reports.get(reports.size() - 1).readableLastReportTime());
reportData.add(reports.get(reports.size() - 1).viewStatus());
}
}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}

@Override
public void onBackPressed()
{

}

private int reportType;
Expand All @@ -181,4 +215,5 @@ public void addToList()
private ArrayAdapter<String> stringListAdapter;
private Spinner drop;
private String filename;
private DatabaseReference mDatabase;
}
5 changes: 5 additions & 0 deletions app/src/main/java/net/rofael/uabparkingfinder/Report.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ public Report(Parking lot, int stat, long timeSent)
time = timeSent;
}

public int getStatus()
{
return status;
}

public long getReportTime()
{
return time;
Expand Down

0 comments on commit 8c1e96d

Please sign in to comment.