Updated import for CompassListener

Change-Id: I11c1bf1b4263a83783fb2ca9c864b4d443e7f33a
Signed-off-by: Ricky Barrette <rickbarrette@gmail.com>
This commit is contained in:
2012-03-14 11:14:14 -04:00
parent 47f35c141e
commit 7362d1701f

View File

@@ -42,7 +42,7 @@ import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.TwentyCodes.android.IOIOTruck.IOIOTruckConnectionManager.IOIOTruckThreadListener; import com.TwentyCodes.android.IOIOTruck.IOIOTruckConnectionManager.IOIOTruckThreadListener;
import com.TwentyCodes.android.location.CompassListener; import com.TwentyCodes.android.location.CompassSensor.CompassListener;
import com.TwentyCodes.android.location.GeoPointLocationListener; import com.TwentyCodes.android.location.GeoPointLocationListener;
import com.TwentyCodes.android.location.GeoUtils; import com.TwentyCodes.android.location.GeoUtils;
import com.TwentyCodes.android.location.OnLocationSelectedListener; import com.TwentyCodes.android.location.OnLocationSelectedListener;
@@ -88,6 +88,7 @@ public class NavigationActivity extends FragmentActivity implements CompassListe
+"\nDrive: "+mIOIOManager.getDriveValue() +"\nDrive: "+mIOIOManager.getDriveValue()
+"\nSteering: "+mIOIOManager.getSteerValue() +"\nSteering: "+mIOIOManager.getSteerValue()
+"\nBearing: "+mBearing +"\nBearing: "+mBearing
+"\nHeadinging: "+mHeading
+"\nisRunning: "+isRunning); +"\nisRunning: "+isRunning);
if(mPoints != null) if(mPoints != null)
updateLog("Point = "+mIndex +" of "+ mPoints.size()); updateLog("Point = "+mIndex +" of "+ mPoints.size());
@@ -137,6 +138,8 @@ public class NavigationActivity extends FragmentActivity implements CompassListe
private int mIndex = 0; private int mIndex = 0;
private GeoPoint mDestPoint; private GeoPoint mDestPoint;
private ArrayList<PathOverlay> mWayPoints; private ArrayList<PathOverlay> mWayPoints;
private GeoPoint mLastReportedLocation;
private float mHeading = 0;
/** /**
* Called when the scrolling switch is checked * Called when the scrolling switch is checked
@@ -192,6 +195,14 @@ public class NavigationActivity extends FragmentActivity implements CompassListe
*/ */
@Override @Override
public void onCompassUpdate(float bearing) { public void onCompassUpdate(float bearing) {
mBearing = bearing;
/*
* used calculated bearing if the last location was updated less than a x ago
*/
if(mHeading > 0 && (System.currentTimeMillis() - mLast) < 500)
bearing = mHeading;
bearing = GeoUtils.calculateBearing(mMap.getUserLocation(), mMap.getDestination(), bearing); bearing = GeoUtils.calculateBearing(mMap.getUserLocation(), mMap.getDestination(), bearing);
if(bearing > 355 || bearing < 5) if(bearing > 355 || bearing < 5)
@@ -202,8 +213,6 @@ public class NavigationActivity extends FragmentActivity implements CompassListe
if(bearing < 180 && bearing > 5) if(bearing < 180 && bearing > 5)
mIOIOManager.setSteerValue(IOIOTruckValues.STEER_LEFT); mIOIOManager.setSteerValue(IOIOTruckValues.STEER_LEFT);
mBearing = bearing;
} }
/** /**
@@ -298,14 +307,21 @@ public class NavigationActivity extends FragmentActivity implements CompassListe
* if we are then increment mCount * if we are then increment mCount
*/ */
if(point != null) if(point != null)
if(mLastReportedLocation != null){
mHeading = new Float(GeoUtils.bearing(mLastReportedLocation, point));
if(Debug.DEBUG)
Log.d(TAG, "Heading = "+ mHeading);
}
mLastReportedLocation = point;
if(currentDest != null) if(currentDest != null)
/* /*
* are we closer than 15 feet? * are we closer than 30 feet?
*/ */
if (GeoUtils.distanceKm(point, currentDest) < 0.009144) { // if (GeoUtils.distanceKm(point, currentDest) < Debug.FUDGE_FACTOR) {
// if(GeoUtils.isIntersecting(point, (float) (accuracy / 1E3), currentDest, Debug.RADIUS, Debug.FUDGE_FACTOR)) { if(GeoUtils.isIntersecting(point, (float) (accuracy / 1E3), currentDest, Debug.RADIUS, Debug.FUDGE_FACTOR)) {
updateLog("Count = "+ (++mCount)); updateLog("Count = "+ (++mCount));
/* /*
* if we get 6 positives, we are problay at our waypoint/dest * if we get 6 positives, we are problay at our waypoint/dest