diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2fdfb71..8755d0e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -10,6 +10,7 @@
+
> 8 & 0xff),(ip >> 16 & 0xff), (ip >> 24 & 0xff));
mDatenbank = FirebaseDatabase.getInstance().getReference();
- mDatenbank.child("overview").child("IDG1").child("ip").setValue("10.00.00.001");
- mDatenbank.child("overview").child("IDG1").child("vibration").setValue(true);
+ mDatenbank.child("overview").child("IDG1").child("ip").setValue(ipAddress);
+ mDatenbank.child("overview").child("IDG1").child("vibration").setValue(vibration);
mDatenbank.child("overview").child("IDG1").child("timestamp").setValue(currentTime); //aktueller Zeitstempel wird in Datenbank eingetragen
mDatenbank.child("overview").child("IDG1").child("breitengrad").setValue(currentLocation.getLatitude()); //aktueller Breitengrad
mDatenbank.child("overview").child("IDG1").child("laengengrad").setValue(currentLocation.getLongitude()); //aktueller Längergrad
- mDatenbank.child("overview").child("IDG1").child("amplitude").setValue(1001);
+ mDatenbank.child("overview").child("IDG1").child("amplitude").setValue(255);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java b/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java
index 819060d..67342b2 100644
--- a/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java
+++ b/app/src/main/java/de/edotzlaff/schockwelle/SensorMapsActivity.java
@@ -44,7 +44,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
private static final String TAG = "MainActivity";
private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
private static final int LOCATION_PERMISSION_REQUEST_CODE = 1234;
-
+ private static final double EARTHQUAKE_VELOCITY = 1; // 1 Meter pro Sekunde Erdbebengeschwindigkeit
//vars
private Boolean mLocationPermissionsGranted = false;
private GoogleMap mMap;
@@ -75,7 +75,7 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
getVibrationAbility();
//distance(currentLocation.getLatitude(), currentLocation.getLongitude(),breitengrad,laengengrad); //Übergabe zur Berechnung der Distanz zwischen Auslöser und aktuellem Standort
//TODO Patrick: die Funktion distance gibt Meter zurück, könntest Du das mit dem Zeitstempel und der Berechnung bis zur Vibration machen?
- setVibrationTimer(10000,1000,255);
+ // setVibrationTimer(10000,1000,255);
}
private void getLocationPermission() {
@@ -108,10 +108,16 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
}
}
- private long getTimeStampDifference(Date vibrationTime)
+ private long getTimeStampDifference(float distance)
{
long diff= 0;
//TODO Zeitdifferenz in Millisekunden zwischen aktuellen Uhrzeit und Vibratonszeitstempel berechnen
+
+
+ if (distance>0)
+ {
+ diff = (long)Math.round(1/(EARTHQUAKE_VELOCITY/distance));
+ }
return diff;
}
private void setVibrationTimer(long msDelay, int duration, int amplitude)
@@ -286,7 +292,13 @@ public class SensorMapsActivity extends FragmentActivity implements OnMapReadyCa
//####### Auslesen für ing-Werte #######:
String amplitudeString = data.child("overview").child("IDG" + i).child("amplitude").getValue().toString();
int amplitude = Integer.parseInt(amplitudeString);
-
+ //TODO Workaround beseiteigen: hier wird immer davon ausgegangen, dass auslösendes Gerät die ID 1 besitzt
+ if(vibration == true && i == 1)
+ {
+ float distance = distance(currentLocation.getLatitude(), currentLocation.getLongitude(),breitengrad,laengengrad);
+ long delay = getTimeStampDifference(distance);
+ setVibrationTimer(delay,1000,amplitude);
+ }
//####### Optional zur Kontrolle #######:
/*
System.out.println("IDG" + i + " - IP:" + data.child("overview").child("IDG" + i).child("ip").getValue().toString());