changed input script
This commit is contained in:
@@ -107,32 +107,30 @@ public class InputProcessor {
|
|||||||
// Error checking thread.
|
// Error checking thread.
|
||||||
(new Thread(() -> {
|
(new Thread(() -> {
|
||||||
Log.i("InputProcessor", "Movement Checking Thread started");
|
Log.i("InputProcessor", "Movement Checking Thread started");
|
||||||
|
|
||||||
while (this.exercisesRemaining > 0) {
|
while (this.exercisesRemaining > 0) {
|
||||||
|
|
||||||
if ( this.totalChecks == 0 || this.selfRotationVectorPaths == null
|
if ( this.totalChecks == 0 || this.selfRotationVectorPaths == null
|
||||||
|| this.selfRotationVectorPaths.length == 0
|
|| this.selfRotationVectorPaths.length == 0)
|
||||||
|| this.selfRotationVectorPaths[0].size() == 0
|
|
||||||
|| this.selfRotationVectorPaths[1].size() == 0)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
boolean isFaulty = this.isFaultyMovement();
|
boolean isFaulty = this.isFaultyMovement();
|
||||||
|
|
||||||
Log.i("InputProcessor", "Movement checked: " + (isFaulty ? "Faulty" : "Good"));
|
Log.i("InputProcessor", "Movement checked: " + (isFaulty ? "Faulty" : "Good"));
|
||||||
|
|
||||||
if (isFaulty) {
|
if (isFaulty) {
|
||||||
this.onInadequateRepetition();
|
this.onInadequateRepetition();
|
||||||
} else this.onAdequateRepetition();
|
} else this.onAdequateRepetition();
|
||||||
|
|
||||||
this.checksPerformed++;
|
this.checksPerformed++;
|
||||||
|
|
||||||
if (this.checksPerformed >= this.totalChecks)
|
if (this.checksPerformed >= this.totalChecks)
|
||||||
{
|
{
|
||||||
this.checksPerformed = 0;
|
this.checksPerformed = 0;
|
||||||
this.exercisesRemaining--;
|
this.exercisesRemaining--;
|
||||||
acquireExercise();
|
acquireExercise();
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep((long) (this.errorCheckInterval_s * 1000));
|
Thread.sleep((long) (this.errorCheckInterval_s * 1000));
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
@@ -420,10 +418,10 @@ public class InputProcessor {
|
|||||||
* Function for checking whether the last movement was faulty
|
* Function for checking whether the last movement was faulty
|
||||||
*/
|
*/
|
||||||
public boolean isFaultyMovement() {
|
public boolean isFaultyMovement() {
|
||||||
boolean[] deviceMovementStatus = new boolean[selfRotationVectorPaths.length];
|
boolean upMovementDetected = false;
|
||||||
|
boolean downMovementDetected = false;
|
||||||
|
|
||||||
for (int i = 0; i < selfRotationVectorPaths.length; i++) {
|
for (List<Vector3f> path : selfRotationVectorPaths) {
|
||||||
List<Vector3f> path = selfRotationVectorPaths[i];
|
|
||||||
if (path.size() < 2) {
|
if (path.size() < 2) {
|
||||||
continue; // Skip if there are not enough points to compare
|
continue; // Skip if there are not enough points to compare
|
||||||
}
|
}
|
||||||
@@ -434,17 +432,16 @@ public class InputProcessor {
|
|||||||
float y1 = firstPoint.y;
|
float y1 = firstPoint.y;
|
||||||
float y2 = lastPoint.y;
|
float y2 = lastPoint.y;
|
||||||
|
|
||||||
// Assuming that a good movement is when y2 is greater than y1
|
if (y2 > y1) {
|
||||||
deviceMovementStatus[i] = y2 > y1;
|
upMovementDetected = true;
|
||||||
}
|
} else if (y2 < y1) {
|
||||||
|
downMovementDetected = true;
|
||||||
|
}
|
||||||
|
|
||||||
// Return true for faulty movement if any device has faulty movement
|
if (upMovementDetected && downMovementDetected) {
|
||||||
for (boolean isGood : deviceMovementStatus) {
|
return false; // Return false for faulty movement if both up and down movements are detected
|
||||||
if (!isGood) {
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return true; // Return true for faulty movement if only up or down movement is detected
|
||||||
}
|
}}
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user