private String getLocationKey(Location location) {
   StringBuilder result = new StringBuilder();
   if (location.getCityType() == Location.US_CITY_TYPE) { // in US
     result.append("Z");
     result.append(location.getZipCode());
   } else {
     result.append("C");
     result.append(location.getCityCode());
   }
   return result.toString();
 }
 private String getLocationDescription(Location location) {
   StringBuilder result = new StringBuilder();
   result.append(location.getCityName());
   result.append(", ");
   if (location.getCityType() == Location.US_CITY_TYPE) { // in US
     result.append(location.getStateName());
     result.append(" (");
     result.append(location.getZipCode());
     result.append(")");
   } else {
     result.append(location.getCountryName());
   }
   return result.toString();
 }