X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=core%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fresult%2FResultParser.java;h=bdcc4d09b748de6c1347d505083ef1867e25a51b;hp=d8172b4bae8214d0453693d53d01d76bdce549c5;hb=10276c1fd6c1871565ad6d6c87f0249f1c0b7e5c;hpb=753f2dc9d445756afce6cb75277e3344452879a7 diff --git a/core/src/com/google/zxing/client/result/ResultParser.java b/core/src/com/google/zxing/client/result/ResultParser.java index d8172b4b..bdcc4d09 100644 --- a/core/src/com/google/zxing/client/result/ResultParser.java +++ b/core/src/com/google/zxing/client/result/ResultParser.java @@ -55,12 +55,18 @@ public abstract class ResultParser { return result; } else if ((result = EmailAddressResultParser.parse(theResult)) != null) { return result; + } else if ((result = SMTPResultParser.parse(theResult)) != null) { + return result; } else if ((result = TelResultParser.parse(theResult)) != null) { return result; } else if ((result = SMSMMSResultParser.parse(theResult)) != null) { return result; + } else if ((result = SMSTOMMSTOResultParser.parse(theResult)) != null) { + return result; } else if ((result = GeoResultParser.parse(theResult)) != null) { return result; + } else if ((result = WifiResultParser.parse(theResult)) != null) { + return result; } else if ((result = URLTOResultParser.parse(theResult)) != null) { return result; } else if ((result = URIResultParser.parse(theResult)) != null) { @@ -70,6 +76,8 @@ public abstract class ResultParser { return result; } else if ((result = ProductResultParser.parse(theResult)) != null) { return result; + } else if ((result = ExpandedProductResultParser.parse(theResult)) != null) { + return result; } return new TextParsedResult(theResult.getText(), null); } @@ -117,7 +125,7 @@ public abstract class ResultParser { return escaped; } - static String urlDecode(String escaped) { + private static String urlDecode(String escaped) { // No we can't use java.net.URLDecoder here. JavaME doesn't have it. if (escaped == null) { @@ -208,6 +216,24 @@ public abstract class ResultParser { return true; } + protected static boolean isSubstringOfDigits(String value, int offset, int length) { + if (value == null) { + return false; + } + int stringLength = value.length(); + int max = offset + length; + if (stringLength < max) { + return false; + } + for (int i = offset; i < max; i++) { + char c = value.charAt(i); + if (c < '0' || c > '9') { + return false; + } + } + return true; + } + static Hashtable parseNameValuePairs(String uri) { int paramStart = uri.indexOf('?'); if (paramStart < 0) {