X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=zxing.appspot.com%2Fgenerator%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fweb%2Fgenerator%2Fclient%2FGeoLocationGenerator.java;h=d02c578c87d509b36bce3148a66c94ff78960f77;hb=99db38ac8be3a007de19e8967098873f965beb13;hp=f391c60b1fdfa772416af58f50ef757fd6153c83;hpb=90d3de4719c4e6c8e2de3a288415bc4a353f481f;p=zxing.git diff --git a/zxing.appspot.com/generator/src/com/google/zxing/web/generator/client/GeoLocationGenerator.java b/zxing.appspot.com/generator/src/com/google/zxing/web/generator/client/GeoLocationGenerator.java index f391c60b..d02c578c 100644 --- a/zxing.appspot.com/generator/src/com/google/zxing/web/generator/client/GeoLocationGenerator.java +++ b/zxing.appspot.com/generator/src/com/google/zxing/web/generator/client/GeoLocationGenerator.java @@ -204,17 +204,19 @@ public class GeoLocationGenerator implements GeneratorSource, ChangeListener { } String q = ""; if (link.matches(".*&q=[^&]*&.*")) { + StringBuilder qBuilder = new StringBuilder(); for (int i = link.indexOf("&q=") + 3; i < link.length() && link.charAt(i) != '&'; ++i) { - q += link.charAt(i); + qBuilder.append(link.charAt(i)); } + q = qBuilder.toString(); // special cases: q = q.replace("+", " "); q = q.replace("%26", "&"); } - String lat = ""; - String lon = ""; + StringBuilder lat = new StringBuilder(); + StringBuilder lon = new StringBuilder(); if (link.matches(".*&s?ll=[^&]*&.*")) { int start; if (link.indexOf("&sll=") == -1) { @@ -224,21 +226,22 @@ public class GeoLocationGenerator implements GeneratorSource, ChangeListener { } boolean beforeComma = true; for (int i = start; i < link.length() && link.charAt(i) != '&'; ++i) { + char c = link.charAt(i); if (beforeComma) { - if (link.charAt(i) == ',') { + if (c == ',') { beforeComma = false; } else { - lat += link.charAt(i); + lat.append(c); } } else { - lon += link.charAt(i); + lon.append(c); } } } query.setText(URL.decode(q)); - latitude.setText(lat); - longitude.setText(lon); + latitude.setText(lat.toString()); + longitude.setText(lon.toString()); changeListener.onChange(latitude); changeListener.onChange(longitude); this.onChange(latitude);