Improved Microfon and Accelerometer detection in Project

This commit is contained in:
Christian Tinz 2023-06-21 18:40:49 +02:00
parent 97c3d2c937
commit cb425cce56
4 changed files with 18 additions and 8 deletions

View File

@ -106,6 +106,9 @@ public class AudiodetectionActivity extends AppCompatActivity {
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
if (isFinishing()){
mMicrofonViewModel.recalibrationMicrofonSensor();
}
mMicrofonViewModel.stopMicrofonSensor(); mMicrofonViewModel.stopMicrofonSensor();
} }
} }

View File

@ -92,14 +92,19 @@ public class AudiodetectionAndAccelerometerActivity extends AppCompatActivity im
@Override @Override
public void onChanged(Boolean aBoolean) { public void onChanged(Boolean aBoolean) {
if (aBoolean) { if (aBoolean) {
if (mAudiodetectionAndAccelerometerViewModel.getAccelerometerAlarmDetected()) { Toast.makeText(AudiodetectionAndAccelerometerActivity.this, "onChangedTrue", Toast.LENGTH_LONG).show();
if (mAudiodetectionAndAccelerometerViewModel.getAccelerometerAlarmDetected() && !mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected()) {
mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "Accelerometer", 10); mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "Accelerometer", 10);
} }
else if (mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected()) { else if (mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected() && !mAudiodetectionAndAccelerometerViewModel.getAccelerometerAlarmDetected()) {
mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "Microfon", (int) mAudiodetectionAndAccelerometerViewModel.getAmplitudeInDB()); mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "Audio", (int) mAudiodetectionAndAccelerometerViewModel.getAmplitudeInDB());
}
else if (mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected() && mAudiodetectionAndAccelerometerViewModel.getAccelerometerAlarmDetected()) {
mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "2AudioAndAccelerometer", 10);
} }
} }
else { else {
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);
} }
@ -153,6 +158,9 @@ public class AudiodetectionAndAccelerometerActivity extends AppCompatActivity im
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
if (isFinishing()){
mAudiodetectionAndAccelerometerViewModel.recalibrationMicrofonSensor();
}
mAudiodetectionAndAccelerometerViewModel.stopMicrofonSensor(); mAudiodetectionAndAccelerometerViewModel.stopMicrofonSensor();
if (accelerometerSensor != null) { if (accelerometerSensor != null) {
accelerometerManager.unregisterListener(this, accelerometerSensor); accelerometerManager.unregisterListener(this, accelerometerSensor);

View File

@ -19,7 +19,7 @@ import com.example.greenwatch.sensors.MicrofonHelperClasses.Verarbeitungsergebni
private boolean microfonAlarmDetected = false; private boolean microfonAlarmDetected = false;
private boolean kalibrierung_do = true; private boolean kalibrierung_do = true;
private float threshold = 40; private float threshold = 40;
private float sensitivity = 5; private float sensitivity = 10;
private float amplitudeInDB = 0; private float amplitudeInDB = 0;
@ -52,9 +52,8 @@ import com.example.greenwatch.sensors.MicrofonHelperClasses.Verarbeitungsergebni
microfonAlarmDetected = false; microfonAlarmDetected = false;
kalibrierung_do = true; kalibrierung_do = true;
threshold = 40; threshold = 40;
sensitivity = 5; sensitivity = 10;
amplitudeInDB = 0; amplitudeInDB = 0;
start();
} }
public float getAmplitudeInDB() { public float getAmplitudeInDB() {

View File

@ -120,12 +120,12 @@ public class AudiodetectionAndAccelerometerViewModel extends ViewModel implement
public void onChanged(Boolean aBoolean) { public void onChanged(Boolean aBoolean) {
setAccelerometerAlarmDetected(mAccelerometerAlarmDetected.getValue()); setAccelerometerAlarmDetected(mAccelerometerAlarmDetected.getValue());
setMicrofonAlarmDetected(mMicrofonAlarmDetected.getValue()); setMicrofonAlarmDetected(mMicrofonAlarmDetected.getValue());
if (microfonAlarmDetected || accelerometerAlarmDetected && !microfondetectionAndAccelerometerAlarmDetected) { if (microfonAlarmDetected || accelerometerAlarmDetected) {
microfondetectionAndAccelerometerAlarmDetected = true; microfondetectionAndAccelerometerAlarmDetected = true;
setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected(); setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected();
} }
else if (!microfonAlarmDetected && !accelerometerAlarmDetected && microfondetectionAndAccelerometerAlarmDetected) { else if (!microfonAlarmDetected && !accelerometerAlarmDetected) {
microfondetectionAndAccelerometerAlarmDetected = false; microfondetectionAndAccelerometerAlarmDetected = false;
setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected(); setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected();
} }