projects
/
zxing.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add address line 2 support to generator
[zxing.git]
/
zxing.appspot.com
/
generator
/
src
/
com
/
google
/
zxing
/
web
/
generator
/
client
/
GeoLocationGenerator.java
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
f391c60
..
d02c578
100644
(file)
--- 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=[^&]*&.*")) {
}
String q = "";
if (link.matches(".*&q=[^&]*&.*")) {
+ StringBuilder qBuilder = new StringBuilder();
for (int i = link.indexOf("&q=") + 3;
i < link.length() && link.charAt(i) != '&'; ++i) {
for (int i = link.indexOf("&q=") + 3;
i < link.length() && link.charAt(i) != '&'; ++i) {
- q
+= link.charAt(i
);
+ q
Builder.append(link.charAt(i)
);
}
}
+ q = qBuilder.toString();
// special cases:
q = q.replace("+", " ");
q = q.replace("%26", "&");
}
// special cases:
q = q.replace("+", " ");
q = q.replace("%26", "&");
}
- String
lat = ""
;
- String
lon = ""
;
+ String
Builder lat = new StringBuilder()
;
+ String
Builder lon = new StringBuilder()
;
if (link.matches(".*&s?ll=[^&]*&.*")) {
int start;
if (link.indexOf("&sll=") == -1) {
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) {
}
boolean beforeComma = true;
for (int i = start; i < link.length() && link.charAt(i) != '&'; ++i) {
+ char c = link.charAt(i);
if (beforeComma) {
if (beforeComma) {
- if (
link.charAt(i)
== ',') {
+ if (
c
== ',') {
beforeComma = false;
} else {
beforeComma = false;
} else {
- lat
+= link.charAt(i);
+ lat
.append(c);
}
} else {
}
} else {
- lon
+= link.charAt(i
);
+ lon
.append(c
);
}
}
}
query.setText(URL.decode(q));
}
}
}
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);
changeListener.onChange(latitude);
changeListener.onChange(longitude);
this.onChange(latitude);