@Override public void onSensorChanged(SensorEvent event) { // get the change of the x,y,z values of the accelerometer deltaX = Math.abs(lastX - event.values[0]); deltaY = Math.abs(lastY - event.values[1]); deltaZ = Math.abs(lastZ - event.values[2]); //Zero out gravity on the accelerometer. gDeltaX = (float)((0.9 * gDeltaX) + (0.1 * deltaX)); gDeltaY = (float)((0.9 * gDeltaY) + (0.1 * deltaY)); gDeltaZ = (float)((0.9 * gDeltaZ) + (0.1 * deltaZ)); deltaX = deltaX - gDeltaX; deltaY = deltaY - gDeltaY; deltaZ = deltaZ - gDeltaZ; //Make sure process starts only once if (flag == 0) { if ((deltaX > 10) || (deltaY > 10) || (deltaZ > 10)) { //Start the timer startTime = SystemClock.uptimeMillis(); timeHandler.postDelayed(updateTimerMethod, 0); flag = 1; } } else if (flag == 1) { if ((deltaX < 1) && (deltaY < 1) && (deltaZ < 1)) { //Stop the timer. timeSwap += timeInMillies; timeHandler.removeCallbacks(updateTimerMethod); flag = 2; } } }
SensorEvent event
event.values
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)