From cb425cce5658a01cc83a1559fb03750e9d9bc1aa Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 21 Jun 2023 18:40:49 +0200 Subject: [PATCH] Improved Microfon and Accelerometer detection in Project --- .../example/greenwatch/AudiodetectionActivity.java | 3 +++ .../AudiodetectionAndAccelerometerActivity.java | 14 +++++++++++--- .../example/greenwatch/sensors/MicrofonSensor.java | 5 ++--- .../AudiodetectionAndAccelerometerViewModel.java | 4 ++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/example/greenwatch/AudiodetectionActivity.java b/app/src/main/java/com/example/greenwatch/AudiodetectionActivity.java index a4b0f80..175df5c 100644 --- a/app/src/main/java/com/example/greenwatch/AudiodetectionActivity.java +++ b/app/src/main/java/com/example/greenwatch/AudiodetectionActivity.java @@ -106,6 +106,9 @@ public class AudiodetectionActivity extends AppCompatActivity { @Override protected void onPause() { super.onPause(); + if (isFinishing()){ + mMicrofonViewModel.recalibrationMicrofonSensor(); + } mMicrofonViewModel.stopMicrofonSensor(); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/greenwatch/AudiodetectionAndAccelerometerActivity.java b/app/src/main/java/com/example/greenwatch/AudiodetectionAndAccelerometerActivity.java index fbe13d5..56d26a2 100644 --- a/app/src/main/java/com/example/greenwatch/AudiodetectionAndAccelerometerActivity.java +++ b/app/src/main/java/com/example/greenwatch/AudiodetectionAndAccelerometerActivity.java @@ -92,14 +92,19 @@ public class AudiodetectionAndAccelerometerActivity extends AppCompatActivity im @Override public void onChanged(Boolean 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); } - else if (mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected()) { - mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), true, "Microfon", (int) mAudiodetectionAndAccelerometerViewModel.getAmplitudeInDB()); + else if (mAudiodetectionAndAccelerometerViewModel.getMicrofonAlarmDetected() && !mAudiodetectionAndAccelerometerViewModel.getAccelerometerAlarmDetected()) { + 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 { + Toast.makeText(AudiodetectionAndAccelerometerActivity.this, "onChangedFalse", Toast.LENGTH_LONG).show(); mAudiodetectionAndAccelerometerViewModel.updateDevice(mAudiodetectionAndAccelerometerViewModel.getLocalDeviceUUID(), mAudiodetectionAndAccelerometerViewModel.getSystemTimeStamp(), false, "AudioAndAccelerometer", 0); } @@ -153,6 +158,9 @@ public class AudiodetectionAndAccelerometerActivity extends AppCompatActivity im @Override protected void onPause() { super.onPause(); + if (isFinishing()){ + mAudiodetectionAndAccelerometerViewModel.recalibrationMicrofonSensor(); + } mAudiodetectionAndAccelerometerViewModel.stopMicrofonSensor(); if (accelerometerSensor != null) { accelerometerManager.unregisterListener(this, accelerometerSensor); diff --git a/app/src/main/java/com/example/greenwatch/sensors/MicrofonSensor.java b/app/src/main/java/com/example/greenwatch/sensors/MicrofonSensor.java index 8f1270d..40b78c9 100644 --- a/app/src/main/java/com/example/greenwatch/sensors/MicrofonSensor.java +++ b/app/src/main/java/com/example/greenwatch/sensors/MicrofonSensor.java @@ -19,7 +19,7 @@ import com.example.greenwatch.sensors.MicrofonHelperClasses.Verarbeitungsergebni private boolean microfonAlarmDetected = false; private boolean kalibrierung_do = true; private float threshold = 40; - private float sensitivity = 5; + private float sensitivity = 10; private float amplitudeInDB = 0; @@ -52,9 +52,8 @@ import com.example.greenwatch.sensors.MicrofonHelperClasses.Verarbeitungsergebni microfonAlarmDetected = false; kalibrierung_do = true; threshold = 40; - sensitivity = 5; + sensitivity = 10; amplitudeInDB = 0; - start(); } public float getAmplitudeInDB() { diff --git a/app/src/main/java/com/example/greenwatch/viewmodels/AudiodetectionAndAccelerometerViewModel.java b/app/src/main/java/com/example/greenwatch/viewmodels/AudiodetectionAndAccelerometerViewModel.java index 628c17d..074ba2f 100644 --- a/app/src/main/java/com/example/greenwatch/viewmodels/AudiodetectionAndAccelerometerViewModel.java +++ b/app/src/main/java/com/example/greenwatch/viewmodels/AudiodetectionAndAccelerometerViewModel.java @@ -120,12 +120,12 @@ public class AudiodetectionAndAccelerometerViewModel extends ViewModel implement public void onChanged(Boolean aBoolean) { setAccelerometerAlarmDetected(mAccelerometerAlarmDetected.getValue()); setMicrofonAlarmDetected(mMicrofonAlarmDetected.getValue()); - if (microfonAlarmDetected || accelerometerAlarmDetected && !microfondetectionAndAccelerometerAlarmDetected) { + if (microfonAlarmDetected || accelerometerAlarmDetected) { microfondetectionAndAccelerometerAlarmDetected = true; setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected(); } - else if (!microfonAlarmDetected && !accelerometerAlarmDetected && microfondetectionAndAccelerometerAlarmDetected) { + else if (!microfonAlarmDetected && !accelerometerAlarmDetected) { microfondetectionAndAccelerometerAlarmDetected = false; setMutableLiveDataMicrofondetectionAndAccelerometerAlarmDetected(); }