adapted datahandling and communication strings

This commit is contained in:
Christian Tinz 2023-06-22 00:48:18 +02:00
parent c6d33925be
commit cca1311b74
7 changed files with 52 additions and 31 deletions

View File

@ -87,10 +87,10 @@ public class AudiodetectionActivity extends AppCompatActivity {
@Override @Override
public void onChanged(Boolean aBoolean) { public void onChanged(Boolean aBoolean) {
if (aBoolean) { if (aBoolean) {
mMicrofonViewModel.updateDevice(mMicrofonViewModel.getLocalDeviceUUID(), mMicrofonViewModel.getSystemTimeStamp(), true, "Microfon", mMicrofonViewModel.getAmplitudeInDB()); mMicrofonViewModel.updateDevice(mMicrofonViewModel.getLocalDeviceUUID(), mMicrofonViewModel.getSystemTimeStamp(), true, "Audio", mMicrofonViewModel.getAmplitudeInDB());
} }
else { else {
mMicrofonViewModel.updateDevice(mMicrofonViewModel.getLocalDeviceUUID(), mMicrofonViewModel.getSystemTimeStamp(), false, "Microfon", mMicrofonViewModel.getAmplitudeInDB()); mMicrofonViewModel.updateDevice(mMicrofonViewModel.getLocalDeviceUUID(), mMicrofonViewModel.getSystemTimeStamp(), false, "Audio", 0.0f);
} }
} }

View File

@ -105,7 +105,7 @@ public class AudiodetectionAndAccelerometerActivity extends AppCompatActivity im
} }
else { else {
Toast.makeText(AudiodetectionAndAccelerometerActivity.this, "onChangedFalse", Toast.LENGTH_LONG).show(); Toast.makeText(AudiodetectionAndAccelerometerActivity.this, "onChangedFalse", Toast.LENGTH_LONG).show();
mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), false, "AudioAndAccelerometer", 0); mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), false, "AudioAndAccelerometer", 0.0f);
} }
} }

View File

@ -7,6 +7,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent; import android.content.Intent;
import android.hardware.SensorManager;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
@ -138,30 +139,42 @@ public class MainActivity extends AppCompatActivity {
} }
}); });
} }
public void openAudiodetectionActivity(){
@Override
protected void onResume() {
super.onResume();
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "No Sensor selected", 0.0f);
}
public void openAudiodetectionActivity() {
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "Audio", 0.0f);
Intent intent = new Intent(this, AudiodetectionActivity.class); Intent intent = new Intent(this, AudiodetectionActivity.class);
startActivity(intent); startActivity(intent);
} }
public void openVideodetectionActivity(){ public void openVideodetectionActivity() {
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "Video", 0.0f);
Intent intent = new Intent(this, VideodetectionActivity.class); Intent intent = new Intent(this, VideodetectionActivity.class);
startActivity(intent); startActivity(intent);
} }
public void openAccelerometerActivity(){ public void openAccelerometerActivity() {
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "Accelerometer", 0.0f);
Intent intent = new Intent(this, AccelerometerActivity.class); Intent intent = new Intent(this, AccelerometerActivity.class);
startActivity(intent); startActivity(intent);
} }
public void openAudiodetectionAndAccelerometerActivity(){ public void openAudiodetectionAndAccelerometerActivity() {
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "AudioAndAccelerometer", 0.0f);
Intent intent = new Intent(this, AudiodetectionAndAccelerometerActivity.class); Intent intent = new Intent(this, AudiodetectionAndAccelerometerActivity.class);
startActivity(intent); startActivity(intent);
} }
public void openVideodetectionAndAccelerometerActivity(){ public void openVideodetectionAndAccelerometerActivity() {
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), mMainActivityViewModel.getSystemTimeStamp(), false, "VideoAndAccelerometer", 0.0f);
Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class); Intent intent = new Intent(this, VideodetectionAndAccelerometerActivity.class);
startActivity(intent); startActivity(intent);
} }
public void openConnectionActivity(){ public void openConnectionActivity(){
//Intent intent = new Intent(this, ConnectionActivity.class); //Intent intent = new Intent(this, ConnectionActivity.class);
//startActivity(intent); //startActivity(intent);
mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", true, "Audio", 10); mMainActivityViewModel.updateDevice(mMainActivityViewModel.getLocalDeviceUUID(), "10:51", false, "Audio", 10);
} }
} }

View File

@ -88,10 +88,10 @@ public class VideodetectionActivity extends AppCompatActivity {
@Override @Override
public void onChanged(Boolean aBoolean) { public void onChanged(Boolean aBoolean) {
if (aBoolean) { if (aBoolean) {
mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), true, "Video", 10); mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), true, "Video", 1.0f);
} }
else { else {
mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), false, "Video", 0); mVideoDetectionViewModel.updateDevice(mVideoDetectionViewModel.getLocalDeviceUUID(), mVideoDetectionViewModel.getSystemTimeStamp(), false, "Video", 0.0f);
} }
} }

View File

@ -88,8 +88,7 @@ public class WiFiCommunication {
if(isNewMessage) if(isNewMessage)
{ {
isNewMessage = false; isNewMessage = false;
//todo: adapt send String String txString = sendMessage;
String txString = getLocalIpAddress() + " sends. #" + tmpCnt++ + sendMessage;
byte[] txBuffer = txString.getBytes(); byte[] txBuffer = txString.getBytes();
DatagramPacket txPacket = new DatagramPacket(txBuffer, txBuffer.length, address, port); DatagramPacket txPacket = new DatagramPacket(txBuffer, txBuffer.length, address, port);

View File

@ -76,21 +76,22 @@ public class DeviceRepository {
public void getNewReceivedMessage(String newMessage) { public void getNewReceivedMessage(String newMessage) {
String[] messageString = messageStringSplitter(newMessage); String[] messageString = messageStringSplitter(newMessage);
String timeStamp = messageString[0]; if(messageString[0]=="1" && messageString.length == 7) {
String deviceID = messageString[1]; String timeStamp = messageString[1];
boolean sensorStatus = convertSensorStatus(messageString[2]); String deviceID = messageString[3];
String sensorType = messageString[3]; boolean sensorStatus = convertSensorStatus(messageString[4]);
float sensorMassage = Float.valueOf(messageString[4]); String sensorType = messageString[5];
float sensorMassage = Float.valueOf(messageString[6]);
if (deviceID.equals(checkDeviceID(localDeviceUUID))) { if (deviceID.equals(checkDeviceID(localDeviceUUID))) {
return; return;
} }
if(!connectedDevicesList.containsKey(deviceID)) { if (!connectedDevicesList.containsKey(deviceID)) {
createNewDevice(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage); createNewDevice(timeStamp, deviceID, sensorStatus, sensorType, sensorMassage);
} } else {
else { updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage);
updateDevice(deviceID, timeStamp, sensorStatus, sensorType, sensorMassage); }
} }
} }
@ -98,7 +99,11 @@ public class DeviceRepository {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
Device device = connectedDevicesList.get(deviceID); Device device = connectedDevicesList.get(deviceID);
if(device != null) { if(device != null) {
message.append(device.getTimeStamp()) message.append("1")
.append(delimiter)
.append(device.getTimeStamp())
.append(delimiter)
.append("Gruppe3")
.append(delimiter) .append(delimiter)
.append(device.getDeviceID()) .append(device.getDeviceID())
.append(delimiter) .append(delimiter)
@ -109,7 +114,11 @@ public class DeviceRepository {
.append(device.getSensorMassage()); .append(device.getSensorMassage());
} }
else { else {
message.append("") message.append("1")
.append(delimiter)
.append("")
.append(delimiter)
.append("Gruppe3")
.append(delimiter) .append(delimiter)
.append("") .append("")
.append(delimiter) .append(delimiter)

View File

@ -32,12 +32,12 @@ public class MainActivityViewModel extends ViewModel implements ViewModelInterfa
if(mDeviceList != null) { if(mDeviceList != null) {
return; return;
} }
//todo: check if WiFi instanz can be hold only by the repository
mDeviceRepository = DeviceRepository.getInstance(); mDeviceRepository = DeviceRepository.getInstance();
mWiFiCommunication = WiFiCommunication.getInstance(); mWiFiCommunication = WiFiCommunication.getInstance();
mDeviceRepository.setWiFiCommunication(mWiFiCommunication); mDeviceRepository.setWiFiCommunication(mWiFiCommunication);
mWiFiCommunication.setDeviceRepository(mDeviceRepository); mWiFiCommunication.setDeviceRepository(mDeviceRepository);
mDeviceRepository.createNewDevice(mDeviceRepository.getSystemTimeStamp(), mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0); mDeviceRepository.createNewDevice(mDeviceRepository.getSystemTimeStamp(), mDeviceRepository.getLocalDeviceUUID(), false, "No Sensor selected", 0.0f);
mDeviceRepository.setDeviceID(mDeviceRepository.getLocalDeviceUUID(), WiFiCommunication.getLocalIpAddress());
mDeviceList = mDeviceRepository.getConnectedDeviceList(); mDeviceList = mDeviceRepository.getConnectedDeviceList();
mAlarmHistoryList = mDeviceRepository.getAlarmHistoryDeviceList(); mAlarmHistoryList = mDeviceRepository.getAlarmHistoryDeviceList();
mStartAlarmRecording = mDeviceRepository.getStartAlarmRecording(); mStartAlarmRecording = mDeviceRepository.getStartAlarmRecording();
@ -136,6 +136,6 @@ public class MainActivityViewModel extends ViewModel implements ViewModelInterfa
@Override @Override
public String getSystemTimeStamp() { public String getSystemTimeStamp() {
return null; return mDeviceRepository.getSystemTimeStamp();
} }
} }