There is a typo for the compass. In Compass.java it should read as such
Code:
private final SensorListener sensorListener = new SensorListener() {
public void onSensorChanged(int sensor, float[] values) {
updateOrientation(values[SensorManager.DATA_Z],
values[SensorManager.DATA_Y],
values[SensorManager.DATA_X]);
}
I was having an issue with the compass just wiggling. Then I noticed it actually moved when "rolled." The Z and X axis were swapped when feeding into the updateOrientation function.