Code example for Location

Methods: getAccuracygetProvidergetTimetoString

0
				 * mAltitude=0.0, mHasSpeed=false, mSpeed=0.0, 
				 * mHasBearing=false, mBearing=0.0, mHasAccuracy=true, 
				 * mAccuracy=55.0, mExtras=Bundle[mParcelledData.dataSize=148]] 
				 */ 
				// The location is better 
				Log.i(TAG, "Got a better location - " + location.toString()); 
			} 
		} 
 
		public void onStatusChanged(String provider, int status, Bundle extras) { 
			Log.i(TAG, "Provider status changed - Provider: " + provider 
					+ " - Status: " + status); 
		} 
 
		public void onProviderEnabled(String provider) { 
			Log.i(TAG, provider + " Provider enabled"); 
		} 
 
		public void onProviderDisabled(String provider) { 
			Log.i(TAG, provider + " Provider enabled"); 
		} 
	}; 
 
	/** 
	 *  
	 *  
	 * Some copy paste code from 
	 * http://developer.android.com/guide/topics/location 
	 * /obtaining-user-location.html 
	 *  
	 *  
	 */ 
	private static final int TWO_MINUTES = 1000 * 60 * 2;
 
	/** 
	 * Determines whether one Location reading is better than the current 
	 * Location fix 
	 *  
	 * @param location 
	 *            The new Location that you want to evaluate 
	 * @param currentBestLocation 
	 *            The current Location fix, to which you want to compare the new 
	 *            one 
	 */ 
	protected boolean isBetterLocation(Location location,
			Location currentBestLocation) {
		if (currentBestLocation == null) {
			// A new location is always better than no location 
			return true; 
		} 
 
		// Check whether the new location fix is newer or older 
		long timeDelta = location.getTime() - currentBestLocation.getTime();
		boolean isSignificantlyNewer = timeDelta > TWO_MINUTES;
		boolean isSignificantlyOlder = timeDelta < -TWO_MINUTES;
		boolean isNewer = timeDelta > 0;
 
		// If it's been more than two minutes since the current location, use 
		// the new location 
		// because the user has likely moved 
		if (isSignificantlyNewer) {
			return true; 
			// If the new location is more than two minutes older, it must be 
			// worse 
		} else if (isSignificantlyOlder) {
			return false; 
		} 
 
		// Check whether the new location fix is more or less accurate 
		int accuracyDelta = (int) (location.getAccuracy() - currentBestLocation
				.getAccuracy());
		boolean isLessAccurate = accuracyDelta > 0;
		boolean isMoreAccurate = accuracyDelta < 0;
		boolean isSignificantlyLessAccurate = accuracyDelta > 200;
 
		// Check if the old and new location are from the same provider 
		boolean isFromSameProvider = isSameProvider(location.getProvider(),
				currentBestLocation.getProvider());
 
		// Determine location quality using a combination of timeliness and 
		// accuracy 
		if (isMoreAccurate) {