private void showWarningIfGPSOff() {
   if (GeoUtils.isGPSDisabled(myActivity)) {
     Log.d(LOG_TAG, "GPS disabled!");
     warningText.setVisibility(View.VISIBLE);
     warningText.setText("Enable GPS");
   } else {
     Log.d(LOG_TAG, "GPS enabled!");
     warningText.setVisibility(View.GONE);
   }
 }
 private void analyseInitLocation(Location l) {
   if (l != null) {
     myCurrentAccuracy = l.getAccuracy();
     long passedTime = System.currentTimeMillis() - l.getTime();
     Log.d(
         LOG_TAG,
         "Passed time since last location event=" + (passedTime / 1000f / 10f) + " minutes");
     if (passedTime <= MAX_TIME_SINCE_LAST_UPDATE_IN_MS) onLocationChanged(l);
   } else {
     GeoUtils.enableLocationProvidersIfNeeded(myActivity);
   }
 }
 private void analyseInitLocation(Location l) {
   if (l != null) {
     myCurrentAccuracy = l.getAccuracy();
     long passedTime = System.currentTimeMillis() - l.getTime();
     Log.i(LOG_TAG, "Last known pos accuracy=" + myCurrentAccuracy);
     Log.i(LOG_TAG, "Last known pos age=" + (passedTime / 1000f / 10f) + " minutes");
     if (passedTime <= MAX_TIME_SINCE_LAST_UPDATE_IN_MS) {
       onLocationChanged(l);
     } else {
       Log.i(
           LOG_TAG,
           "Last known pos age was to old to use it "
               + "as a current position, will now wait "
               + "for position signal");
       myCurrentAccuracy = 1000; // 1000m
     }
   } else {
     GeoUtils.enableLocationProvidersIfNeeded(myActivity);
   }
 }
 /**
  * @param context
  * @param minAccuracy should be >= 25m
  * @param maxPosUpdateCount The max number of update events before the position should be accurate
  *     enough (something around 6)
  */
 public ActionWaitForAccuracy(Activity context, float minAccuracy, int maxPosUpdateCount) {
   myActivity = context;
   myMinAccuracy = minAccuracy;
   myMaxPosUpdateCount = maxPosUpdateCount;
   analyseInitLocation(GeoUtils.getCurrentLocation(context));
 }