public void makeUseLocation(Location location) {
    if (location != null) {
      this.atual = new Coordenada(location.getLatitude(), location.getLongitude());
      for (LocationObserver observer : observers) {
        observer.mudouLocalizacaoPara(atual);
      }
    } else {
      AlertDialog.Builder dialog = new AlertDialog.Builder(context);
      dialog.setTitle("Ocorreu um erro :(");
      dialog.setMessage("Infelizmente não foi possível obter sua localização.");
      dialog.setCancelable(true);
      dialog.setPositiveButton(
          "Quero habilitar o GPS",
          new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
              Intent gpsIntent =
                  new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
              context.startActivity(gpsIntent);
            }
          });
      dialog.setNegativeButton(
          "Agora não",
          new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
              // TODO ?
            }
          });
      dialog.show();
    }
  }
 public void registerObserver(LocationObserver observer) {
   if (atual != null) {
     observer.mudouLocalizacaoPara(atual);
   }
   this.observers.add(observer);
 }