Project: CityBikes
package net.homelinux.penecoptero.android.citybikes.app;
 
import android.content.Context; 
 
import com.google.android.maps.GeoPoint; 
 
public class Station { 
 private int bikes; 
 private int free; 
 private String timestamp; 
 private String name; 
 private int id; 
 private boolean bookmarked = false
 
 private String distanceText = ""
 private String walkingText = ""
 private String ocupationText = ""
  
 private double metersDistance; 
  
 private Context context; 
  
 private GeoPoint point; 
  
 public Station (int id, String name, int bikes, int free, String timestamp, Context context, GeoPoint center){ 
  this.id = id; 
  this.name = name; 
  this.bikes = bikes; 
  this.free = free; 
  this.timestamp = timestamp; 
  this.context = context; 
  this.point = center; 
 
  
 public int getHash(){ 
  String notHash = Integer.toString(this.point.getLatitudeE6())+","+Integer.toString(this.point.getLongitudeE6()); 
  return notHash.hashCode(); 
 
  
 public int getId(){ 
  return id; 
 
  
 public boolean isBookmarked(){ 
  return bookmarked; 
 
  
 public void setBookmarkedboolean book ){ 
  bookmarked = book; 
 
  
 public String getName(){ 
  return name; 
 
  
 public int getBikes(){ 
  return this.bikes; 
 
  
 public int getFree(){ 
  return this.free; 
 
  
 public GeoPoint getCenter(){ 
  return this.point; 
 
  
 public double getMetersDistance() { 
  return this.metersDistance; 
 
 
 public void setMetersDistance(double distance) { 
  this.metersDistance = distance; 
 
  
 public void populateStrings() { 
  ocupationText = Integer.toString(this.bikes) + " " 
    + context.getString(R.string.bikes) + " / " 
    + Integer.toString(this.free) + " " 
    + context.getString(R.string.free); 
 
  int meters, km; 
  double rawMeters; 
  rawMeters = this.metersDistance + this.metersDistance 
    * InfoLayer.ERROR_COEFICIENT; 
  km = (int) rawMeters / 1000
  meters = (int) rawMeters - (1000 * km); 
  distanceText = ""
  if (km > 0) { 
   distanceText = Integer.toString(km) + " km "
  
  distanceText = distanceText + Integer.toString(meters) + " m"
 
  double rawMinutes = (rawMeters / 5000) * 60
 
  int hours, minutes; 
  hours = (int) rawMinutes / 60
  minutes = (int) rawMinutes - (60 * hours); 
  walkingText = ""
  if (hours > 0) { 
   walkingText = Integer.toString(hours) + " h "
  
  walkingText = walkingText + Integer.toString(minutes) + " min"
 
  
 public String getOcupation() { 
  return this.ocupationText; 
 
 
 public String getWalking() { 
  return this.walkingText; 
 
 
 public String getDistance() { 
  return this.distanceText; 
 
  
 public Context getContext(){ 
  return this.context; 
 
}