rhodes 2.4.1 → 3.0.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. data/CHANGELOG +7 -0
  2. data/Rakefile +7 -36
  3. data/doc/build.txt +48 -22
  4. data/doc/device-caps.txt +130 -1
  5. data/doc/rhom.txt +9 -3
  6. data/doc/test-log-debug.txt +5 -2
  7. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +40 -20
  8. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/AUTHORS +58 -0
  9. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/CHANGES +266 -0
  10. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/COPYING +201 -0
  11. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/README +11 -0
  12. data/lib/extensions/barcode/ext/barcode/platform/android/ext_build.files +173 -0
  13. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +34 -0
  14. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BarcodeFormat.java +103 -0
  15. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Binarizer.java +80 -0
  16. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BinaryBitmap.java +128 -0
  17. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ChecksumException.java +37 -0
  18. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/DecodeHintType.java +79 -0
  19. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/EncodeHintType.java +39 -0
  20. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/FormatException.java +38 -0
  21. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/LuminanceSource.java +113 -0
  22. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatReader.java +166 -0
  23. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatWriter.java +65 -0
  24. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/NotFoundException.java +37 -0
  25. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Reader.java +64 -0
  26. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ReaderException.java +98 -0
  27. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Result.java +143 -0
  28. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultMetadataType.java +109 -0
  29. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPoint.java +127 -0
  30. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPointCallback.java +29 -0
  31. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Writer.java +54 -0
  32. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/WriterException.java +35 -0
  33. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java +39 -0
  34. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookAUResultParser.java +73 -0
  35. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java +85 -0
  36. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookParsedResult.java +122 -0
  37. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BizcardResultParser.java +94 -0
  38. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java +46 -0
  39. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/CalendarParsedResult.java +134 -0
  40. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressParsedResult.java +61 -0
  41. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressResultParser.java +64 -0
  42. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java +87 -0
  43. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductParsedResult.java +195 -0
  44. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductResultParser.java +199 -0
  45. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoParsedResult.java +132 -0
  46. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoResultParser.java +77 -0
  47. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNParsedResult.java +39 -0
  48. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNResultParser.java +54 -0
  49. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResult.java +73 -0
  50. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResultType.java +53 -0
  51. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductParsedResult.java +49 -0
  52. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductResultParser.java +66 -0
  53. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ResultParser.java +319 -0
  54. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSMMSResultParser.java +107 -0
  55. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSParsedResult.java +104 -0
  56. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java +57 -0
  57. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelParsedResult.java +54 -0
  58. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelResultParser.java +44 -0
  59. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TextParsedResult.java +48 -0
  60. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIParsedResult.java +113 -0
  61. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIResultParser.java +87 -0
  62. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URLTOResultParser.java +47 -0
  63. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VCardResultParser.java +346 -0
  64. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VEventResultParser.java +54 -0
  65. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiParsedResult.java +53 -0
  66. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiResultParser.java +50 -0
  67. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/AbstractNDEFResultParser.java +45 -0
  68. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFRecord.java +87 -0
  69. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterParsedResult.java +63 -0
  70. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterResultParser.java +81 -0
  71. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFTextResultParser.java +57 -0
  72. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFURIResultParser.java +95 -0
  73. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitArray.java +247 -0
  74. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitMatrix.java +226 -0
  75. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitSource.java +97 -0
  76. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/CharacterSetECI.java +110 -0
  77. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Collections.java +53 -0
  78. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Comparator.java +27 -0
  79. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DecoderResult.java +63 -0
  80. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DefaultGridSampler.java +81 -0
  81. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DetectorResult.java +46 -0
  82. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/ECI.java +52 -0
  83. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GlobalHistogramBinarizer.java +196 -0
  84. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GridSampler.java +171 -0
  85. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/HybridBinarizer.java +185 -0
  86. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/PerspectiveTransform.java +148 -0
  87. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/StringUtils.java +191 -0
  88. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java +209 -0
  89. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/WhiteRectangleDetector.java +316 -0
  90. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256.java +139 -0
  91. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256Poly.java +263 -0
  92. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java +194 -0
  93. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java +75 -0
  94. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java +31 -0
  95. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/DataMatrixReader.java +161 -0
  96. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/BitMatrixParser.java +446 -0
  97. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DataBlock.java +118 -0
  98. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java +462 -0
  99. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Decoder.java +134 -0
  100. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Version.java +242 -0
  101. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/detector/Detector.java +348 -0
  102. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/ByQuadrantReader.java +96 -0
  103. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java +156 -0
  104. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/MultipleBarcodeReader.java +37 -0
  105. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/QRCodeMultiReader.java +80 -0
  106. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java +72 -0
  107. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java +324 -0
  108. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/CodaBarReader.java +263 -0
  109. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Reader.java +473 -0
  110. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Writer.java +73 -0
  111. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Reader.java +333 -0
  112. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Writer.java +82 -0
  113. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code93Reader.java +273 -0
  114. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Reader.java +135 -0
  115. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Writer.java +81 -0
  116. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Reader.java +72 -0
  117. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Writer.java +76 -0
  118. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EANManufacturerOrgSupport.java +170 -0
  119. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFReader.java +348 -0
  120. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFWriter.java +68 -0
  121. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatOneDReader.java +109 -0
  122. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatUPCEANReader.java +113 -0
  123. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/OneDReader.java +297 -0
  124. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCAReader.java +75 -0
  125. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANExtensionSupport.java +186 -0
  126. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANReader.java +355 -0
  127. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANWriter.java +104 -0
  128. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEReader.java +153 -0
  129. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/AbstractRSSReader.java +110 -0
  130. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/DataCharacter.java +37 -0
  131. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/FinderPattern.java +48 -0
  132. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/Pair.java +41 -0
  133. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSS14Reader.java +494 -0
  134. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSSUtils.java +155 -0
  135. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java +85 -0
  136. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/ExpandedPair.java +68 -0
  137. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +578 -0
  138. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java +47 -0
  139. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java +55 -0
  140. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java +66 -0
  141. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java +76 -0
  142. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java +106 -0
  143. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java +56 -0
  144. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java +56 -0
  145. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java +81 -0
  146. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java +58 -0
  147. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java +85 -0
  148. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java +48 -0
  149. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java +60 -0
  150. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java +69 -0
  151. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java +52 -0
  152. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java +63 -0
  153. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java +79 -0
  154. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java +44 -0
  155. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java +285 -0
  156. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java +414 -0
  157. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/PDF417Reader.java +79 -0
  158. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/BitMatrixParser.java +1163 -0
  159. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java +629 -0
  160. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/Decoder.java +150 -0
  161. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/detector/Detector.java +498 -0
  162. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeReader.java +166 -0
  163. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeWriter.java +108 -0
  164. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java +203 -0
  165. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataBlock.java +123 -0
  166. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataMask.java +155 -0
  167. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java +261 -0
  168. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Decoder.java +148 -0
  169. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java +86 -0
  170. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/FormatInformation.java +171 -0
  171. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Mode.java +112 -0
  172. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Version.java +586 -0
  173. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPattern.java +48 -0
  174. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java +279 -0
  175. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/Detector.java +400 -0
  176. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPattern.java +63 -0
  177. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java +585 -0
  178. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java +49 -0
  179. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/BlockPair.java +37 -0
  180. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/ByteMatrix.java +97 -0
  181. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/Encoder.java +557 -0
  182. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MaskUtil.java +217 -0
  183. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MatrixUtil.java +524 -0
  184. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/QRCode.java +239 -0
  185. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +63 -0
  186. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/RhoLuminanceSource.java +75 -0
  187. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +74 -318
  188. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +70 -0
  189. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/COPYING +27 -0
  190. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +105 -0
  191. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  192. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  193. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  194. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  195. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +118 -0
  196. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +100 -0
  197. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +33 -0
  198. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  199. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1476 -0
  200. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +201 -0
  201. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  202. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  203. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  204. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  205. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  206. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +529 -0
  207. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  208. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  209. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/LICENSE +504 -0
  210. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/README +59 -0
  211. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  212. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  213. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  214. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  215. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
  216. data/lib/extensions/debugger/debugger.rb +215 -67
  217. data/lib/extensions/nfc/ext/nfc/platform/android/AndroidManifest.xml +1 -1
  218. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/nfc/Nfc.java +14 -2
  219. data/lib/extensions/timeout/timeout.rb +114 -0
  220. data/lib/framework/rho/render.rb +14 -16
  221. data/lib/framework/rho/rho.rb +38 -14
  222. data/lib/framework/rho/rhoapplication.rb +1 -1
  223. data/lib/framework/rho/rhocontroller.rb +3 -3
  224. data/lib/framework/rho/rhofsconnector.rb +18 -6
  225. data/lib/framework/rho/rhoviewhelpers.rb +1 -1
  226. data/lib/framework/rhoappmanifest.rb +44 -0
  227. data/lib/framework/rhodes.rb +1 -1
  228. data/lib/framework/rhoframework.rb +31 -11
  229. data/lib/framework/rholang/localization_simplified.rb +10 -6
  230. data/lib/framework/rhom/rhom_object_factory.rb +3 -3
  231. data/lib/framework/version.rb +1 -1
  232. data/lib/rhodes.rb +1 -1
  233. data/platform/android/Rhodes/AndroidManifest.xml +2 -2
  234. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesApplication.h +32 -8
  235. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +21 -21
  236. data/platform/android/Rhodes/jni/src/rhocryptimpl.cpp +1 -0
  237. data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -9
  238. data/platform/android/Rhodes/jni/src/sslimpl.cpp +1 -0
  239. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +7 -6
  240. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +19 -1
  241. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoCryptImpl.java +2 -2
  242. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +24 -15
  243. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +39 -47
  244. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -106
  245. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java +11 -0
  246. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +49 -0
  247. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +1 -1
  248. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +5 -1
  249. data/platform/android/build/RhodesSRC_build.files +1 -0
  250. data/platform/android/build/android.rake +93 -6
  251. data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +5 -4
  252. data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +10 -0
  253. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +16 -15
  254. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +2 -2
  255. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +21 -19
  256. data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +2 -2
  257. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +6 -1
  258. data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +10 -3
  259. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -1
  260. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  261. data/platform/iphone/Info.plist +1 -1
  262. data/platform/iphone/rbuild/iphone.rake +30 -1
  263. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +12 -0
  264. data/platform/shared/SyncClient/SyncClient.cpp +136 -20
  265. data/platform/shared/SyncClient/SyncClient.h +17 -0
  266. data/platform/shared/common/AppMenu.cpp +6 -1
  267. data/platform/shared/common/RhoConf.cpp +13 -1
  268. data/platform/shared/common/RhoConf.h +3 -1
  269. data/platform/shared/common/RhoDefs.h +10 -0
  270. data/platform/shared/common/RhoFile.cpp +15 -0
  271. data/platform/shared/common/RhoFile.h +1 -0
  272. data/platform/shared/common/RhodesApp.cpp +16 -3
  273. data/platform/shared/common/RhodesApp.h +1 -0
  274. data/platform/shared/common/RhodesAppBase.cpp +102 -62
  275. data/platform/shared/common/RhodesAppBase.h +7 -1
  276. data/platform/shared/curl/lib/rhossl.c +1 -0
  277. data/platform/shared/db/DBAdapter.cpp +14 -2
  278. data/platform/shared/logging/RhoLogConf.cpp +21 -0
  279. data/platform/shared/logging/RhoLogConf.h +11 -0
  280. data/platform/shared/logging/RhoLogSink.cpp +24 -0
  281. data/platform/shared/logging/RhoLogSink.h +20 -1
  282. data/platform/shared/net/HttpServer.cpp +8 -6
  283. data/platform/shared/net/RawSocket.cpp +130 -0
  284. data/platform/shared/net/RawSocket.h +74 -0
  285. data/platform/shared/ruby/ext/rho/rhoruby.c +37 -1
  286. data/platform/shared/ruby/ext/rho/rhosupport.c +74 -21
  287. data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +9 -1
  288. data/platform/shared/ruby/vm_eval.c +4 -3
  289. data/platform/shared/sync/SyncEngine.cpp +11 -12
  290. data/platform/shared/sync/SyncEngine.h +2 -2
  291. data/platform/shared/sync/SyncNotify.cpp +41 -13
  292. data/platform/shared/sync/SyncNotify.h +20 -3
  293. data/platform/shared/sync/SyncSource.cpp +21 -19
  294. data/platform/shared/sync/SyncThread.cpp +11 -1
  295. data/platform/shared/sync/SyncThread.h +3 -0
  296. data/platform/shared/test/test_helper.cpp +7 -0
  297. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  298. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  299. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  300. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  301. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  302. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  303. data/platform/win32/RhoSimulator/rhosimulator.exe +0 -0
  304. data/platform/wm/RhoLib/RhoLib.vcproj +762 -14
  305. data/platform/wm/build/wm.rake +87 -10
  306. data/platform/wm/rhodes.sln +155 -72
  307. data/platform/wm/rhodes/MainWindow.cpp +5 -2
  308. data/platform/wm/rhodes/MainWindow.h +9 -1
  309. data/platform/wm/rhodes/RhoNativeViewManager.cpp +4 -0
  310. data/platform/wm/rhodes/Rhodes.cpp +60 -6
  311. data/platform/wm/rhodes/emulator/ExternalWebView.cpp +20 -0
  312. data/platform/wm/rhodes/emulator/ExternalWebView.h +23 -0
  313. data/platform/wm/rhodes/emulator/ExternalWebView.ui +46 -0
  314. data/platform/wm/rhodes/emulator/MainWindowCallback.h +18 -0
  315. data/platform/wm/rhodes/emulator/MainWindowProxy.cpp +268 -0
  316. data/platform/wm/rhodes/emulator/MainWindowProxy.h +34 -0
  317. data/platform/wm/rhodes/emulator/MainWindowQt.cpp +345 -0
  318. data/platform/wm/rhodes/emulator/MainWindowQt.h +118 -0
  319. data/platform/wm/rhodes/emulator/NativeToolbarQt.cpp +57 -0
  320. data/platform/wm/rhodes/emulator/NativeToolbarQt.h +52 -0
  321. data/platform/wm/rhodes/emulator/QtMainWindow.cpp +219 -0
  322. data/platform/wm/rhodes/emulator/QtMainWindow.h +62 -0
  323. data/platform/wm/rhodes/emulator/QtMainWindow.ui +122 -0
  324. data/platform/wm/rhodes/{RhoCryptImpl.cpp → rho/common/RhoCryptImpl.cpp} +0 -0
  325. data/platform/wm/rhodes/{RhoCryptImpl.h → rho/common/RhoCryptImpl.h} +0 -0
  326. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -86
  327. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.cpp +87 -0
  328. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.h +6 -0
  329. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +60 -0
  330. data/platform/wm/rhodes/rhodes.vcproj +4025 -365
  331. data/platform/wm/rhodes/signature/Signature.cpp +29 -13
  332. data/platform/wm/rubylib/rubylib.vcproj +1167 -195
  333. data/platform/wm/shttpd/shttpd.vcproj +4 -4
  334. data/platform/wm/sqlite3/sqlite3.vcproj +441 -13
  335. data/platform/wm/syncengine/syncengine.vcproj +443 -15
  336. data/platform/wm/tcmalloc/tcmalloc.vcproj +0 -154
  337. data/platform/wm/tools/detool/LogServer.cpp +150 -0
  338. data/platform/wm/tools/detool/LogServer.h +23 -0
  339. data/platform/wm/tools/detool/detool.cpp +42 -4
  340. data/platform/wm/tools/detool/detool.vcproj +10 -1
  341. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  342. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.dll +0 -0
  343. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
  344. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
  345. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
  346. data/platform/wp7/RhoAppRunner/Program.cs +20 -3
  347. data/platform/wp7/RhoLogServer/Program.cs +22 -0
  348. data/platform/wp7/RhoLogServer/Properties/AssemblyInfo.cs +36 -0
  349. data/platform/wp7/RhoLogServer/RhoLogServer.csproj +65 -0
  350. data/platform/wp7/RhoLogServer/SocketServer.cs +210 -0
  351. data/platform/wp7/RhoRubyExtGen/RhoAsyncHttp.cs +6 -0
  352. data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +3 -2
  353. data/platform/wp7/RhoRubyLib/RhoRuby.cs +82 -0
  354. data/platform/wp7/RhoRubyLib/RhoRubyLib.csproj +7 -5
  355. data/platform/wp7/RhoRubyLib/WP_PlatformAdaptationLayer.cs +1 -1
  356. data/platform/wp7/RhoRubyLib/common/RhoParams.cs +1 -1
  357. data/platform/wp7/RhoRubyLib/common/ThreadQueue.cs +4 -1
  358. data/platform/wp7/RhoRubyLib/db/DBAdapter.cs +2 -2
  359. data/platform/wp7/RhoRubyLib/logging/IRhoLogSink.cs +1 -1
  360. data/platform/wp7/RhoRubyLib/logging/RhoEmptyLogger.cs +30 -0
  361. data/platform/wp7/RhoRubyLib/logging/RhoLogConf.cs +10 -0
  362. data/platform/wp7/RhoRubyLib/logging/RhoLogFileSink.cs +6 -1
  363. data/platform/wp7/RhoRubyLib/logging/RhoLogServerSink.cs +56 -0
  364. data/platform/wp7/RhoRubyLib/logging/RhoLogger.cs +24 -11
  365. data/platform/wp7/RhoRubyLib/net/AsyncHttp.cs +57 -14
  366. data/platform/wp7/RhoRubyLib/net/NetRequest.cs +32 -9
  367. data/platform/wp7/RhoRubyLib/rubyext/RhoAsyncHttp.cs +7 -0
  368. data/platform/wp7/RhoRubyLib/rubyext/RhoKernelOps.cs +6 -0
  369. data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +20 -16
  370. data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +2 -2
  371. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +138 -40
  372. data/platform/wp7/WPApplication/rho/apps/app/layout.erb +3 -1
  373. data/platform/wp7/build/wp.rake +151 -12
  374. data/platform/wp7/rhodes.sln +10 -0
  375. data/platform/wp7/rhodes/App.xaml.cs +6 -0
  376. data/platform/wp7/rhodes/MainPage.xaml +3 -0
  377. data/platform/wp7/rhodes/MainPage.xaml.cs +19 -0
  378. data/platform/wp7/rhodes/Rhodes.csproj +4 -2
  379. data/rakefile.rb +7 -36
  380. data/res/build-tools/RhoAppRunner.exe +0 -0
  381. data/res/build-tools/RhoLogServer.exe +0 -0
  382. data/res/build-tools/detool.exe +0 -0
  383. data/res/build-tools/wp7explorer.exe +0 -0
  384. data/res/generators/templates/application/app/layout.erb +3 -1
  385. data/res/generators/templates/application/public/jqtouch/jqtouch.js +1 -1
  386. data/rhodes.gemspec +1 -1
  387. data/spec/framework_spec/app/layout.erb +1 -1
  388. data/spec/framework_spec/build.yml +1 -0
  389. data/spec/perfomance_spec/app/layout.erb +3 -0
  390. data/spec/phone_spec/app/Account_s/account_s.rb +4 -1
  391. data/spec/phone_spec/app/spec/rhom_object_spec.rb +30 -1
  392. data/spec/phone_spec/app/spec_runner.rb +1 -1
  393. data/spec/phone_spec/build.yml +4 -1
  394. metadata +262 -10
  395. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/ConsoleStream.cs +0 -107
@@ -21,8 +21,10 @@
21
21
  package com.rhomobile.rhodes.alert;
22
22
 
23
23
  import android.content.Context;
24
+ import android.content.Intent;
24
25
  import android.media.MediaPlayer;
25
26
 
27
+ import android.os.Bundle;
26
28
  import android.os.Vibrator;
27
29
 
28
30
  import com.rhomobile.rhodes.Capabilities;
@@ -120,5 +122,14 @@ public class Alert {
120
122
  reportFail("playFile", e);
121
123
  }
122
124
  }
125
+ public static void showNotification(Context ctx, int id,
126
+ String title, String text,
127
+ Bundle extras)
128
+ {
129
+ Intent notificationIntent = new Intent(ctx, RhodesService.class);
130
+ if(extras != null)
131
+ notificationIntent.putExtras(extras);
132
+ StatusNotification.simpleNotification(TAG, id, ctx, notificationIntent, title, text);
133
+ }
123
134
 
124
135
  }
@@ -0,0 +1,49 @@
1
+ package com.rhomobile.rhodes.alert;
2
+
3
+ import com.rhomobile.rhodes.AndroidR;
4
+
5
+ import android.app.Notification;
6
+ import android.app.NotificationManager;
7
+ import android.app.PendingIntent;
8
+ import android.content.Context;
9
+ import android.content.Intent;
10
+
11
+ public class StatusNotification
12
+ {
13
+ public static Notification makeNotification(String text)
14
+ {
15
+ Notification notification = new Notification(
16
+ AndroidR.drawable.icon,
17
+ text,
18
+ System.currentTimeMillis());
19
+ return notification;
20
+ }
21
+ public static Notification simpleNotification(String tag, int notificationId, Context ctx, Intent intent, String title, String text)
22
+ {
23
+ Notification notification = makeNotification(text);
24
+ PendingIntent contentIntent = PendingIntent.getService(ctx, 0, intent, 0);
25
+
26
+ notification.setLatestEventInfo(ctx, title, text, contentIntent);
27
+ notification.defaults = Notification.DEFAULT_ALL;
28
+ notification.flags |= Notification.FLAG_AUTO_CANCEL;
29
+
30
+ customNotification(tag, notificationId, ctx,notification);
31
+
32
+ return notification;
33
+ }
34
+ public static void customNotification(String tag, int notificationId, Context ctx, Notification customNotification)
35
+ {
36
+ NotificationManager mNm = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
37
+ mNm.notify(tag, notificationId, customNotification);
38
+ }
39
+ public static void cancelNotification(String tag, int notificationId, Context ctx)
40
+ {
41
+ NotificationManager mNm = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
42
+ mNm.cancel(tag, notificationId);
43
+ }
44
+ public static void cancelAllNotifications(Context ctx)
45
+ {
46
+ NotificationManager mNm = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
47
+ mNm.cancelAll();
48
+ }
49
+ }
@@ -110,7 +110,7 @@ public class SimpleMainView implements MainView {
110
110
  private class ActionExit implements View.OnClickListener {
111
111
  public void onClick(View v) {
112
112
  restoreWebView();
113
- RhodesService.getInstance().getRhodesApplication().exit();
113
+ RhodesService.exit();
114
114
  }
115
115
  };
116
116
 
@@ -1,5 +1,6 @@
1
1
  package com.rhomobile.rhodes.socket;
2
2
 
3
+ import java.io.IOException;
3
4
  import java.io.InputStream;
4
5
  import java.io.OutputStream;
5
6
  import java.net.Socket;
@@ -53,7 +54,7 @@ public class SSLImpl {
53
54
  };
54
55
 
55
56
  private static void reportFail(String name, Exception e) {
56
- Logger.E(TAG, "Call of \"" + name + "\" failed: " + e.getMessage());
57
+ Logger.E(TAG, "Call of \"" + name + "\" failed: " + e.getClass().getSimpleName() + ": " + e.getMessage());
57
58
  }
58
59
 
59
60
  private static SSLSocketFactory getFactory(boolean verify) throws NoSuchAlgorithmException, KeyManagementException {
@@ -93,6 +94,9 @@ public class SSLImpl {
93
94
  if (sock != null)
94
95
  sock.close();
95
96
  }
97
+ catch (IOException e) {
98
+ Logger.I(TAG, "shutdown fails: IOException: " + e.getMessage());
99
+ }
96
100
  catch (Exception e) {
97
101
  reportFail("shutdown", e);
98
102
  }
@@ -24,6 +24,7 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/Utils.java
24
24
  platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java
25
25
  platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java
26
26
  platform/android/Rhodes/src/com/rhomobile/rhodes/alert/PopupActivity.java
27
+ platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java
27
28
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java
28
29
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java
29
30
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java
@@ -7,7 +7,7 @@ USE_TRACES = false
7
7
 
8
8
  ANDROID_API_LEVEL_TO_MARKET_VERSION = {}
9
9
  ANDROID_MARKET_VERSION_TO_API_LEVEL = {}
10
- {2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2", 9 => "2.3", 10 => "2.3.3", 11 => "3.0" }.each do |k,v|
10
+ {2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2", 9 => "2.3.1", 10 => "2.3.3", 11 => "3.0" }.each do |k,v|
11
11
  ANDROID_API_LEVEL_TO_MARKET_VERSION[k] = v
12
12
  ANDROID_MARKET_VERSION_TO_API_LEVEL[v] = k
13
13
  end
@@ -215,7 +215,7 @@ def set_app_name_android(newname)
215
215
 
216
216
  provider.add_element "grant-uri-permission", { "android:pathPrefix" => "/rhodes/apps/" }
217
217
 
218
- #manifest.elements.each('uses-permission') { |e| manifest.delete e }
218
+ manifest.elements.each('uses-permission') { |e| manifest.delete e }
219
219
 
220
220
  caps.sort.each do |cap|
221
221
  element = REXML::Element.new('uses-permission')
@@ -367,6 +367,9 @@ namespace "config" do
367
367
 
368
368
  puts "+++ Looking for platform..." if USE_TRACES
369
369
  napilevel = ANDROID_API_LEVEL
370
+
371
+ cur_api_levels = Array.new
372
+
370
373
  Dir.glob(File.join($androidsdkpath, "platforms", "*")).each do |platform|
371
374
  props = File.join(platform, "source.properties")
372
375
  unless File.file? props
@@ -384,6 +387,7 @@ namespace "config" do
384
387
  end
385
388
 
386
389
  puts "+++ API LEVEL of #{platform}: #{apilevel}" if USE_TRACES
390
+ cur_api_levels.push apilevel
387
391
 
388
392
  if apilevel > napilevel
389
393
  napilevel = apilevel
@@ -392,6 +396,36 @@ namespace "config" do
392
396
  end
393
397
  end
394
398
 
399
+ $emuversion = get_market_version($found_api_level) if $emuversion.nil?
400
+ requested_api_level = get_api_level($emuversion)
401
+
402
+ if USE_TRACES
403
+ puts "Found API levels:"
404
+ cur_api_levels.each do |level|
405
+ puts level
406
+ end
407
+ puts "Requested version: #{$emuversion}"
408
+ puts "Corresponding API level #{requested_api_level}"
409
+ end
410
+
411
+ if requested_api_level.nil?
412
+ puts "ERROR!!! Wrong Android API version: #{$emuversion}"
413
+ exit 1
414
+ end
415
+
416
+ is_api_level_installed = false
417
+ cur_api_levels.each do |level|
418
+ if level == requested_api_level
419
+ is_api_level_installed = true
420
+ break
421
+ end
422
+ end
423
+
424
+ if !is_api_level_installed
425
+ puts "ERROR!!! API version is not found in installed Android SDK: #{$emuversion}"
426
+ exit 1
427
+ end
428
+
395
429
  if $androidplatform.nil?
396
430
  ajar = File.join($androidsdkpath, 'platforms', 'android-' + ANDROID_API_LEVEL_TO_MARKET_VERSION[ANDROID_API_LEVEL], 'android.jar')
397
431
  $androidplatform = 'android-' + ANDROID_API_LEVEL_TO_MARKET_VERSION[ANDROID_API_LEVEL] if File.file?(ajar)
@@ -524,14 +558,13 @@ namespace "config" do
524
558
  end
525
559
  end
526
560
 
527
- $emuversion = get_market_version($found_api_level) if $emuversion.nil?
528
561
  $emuversion = $emuversion.to_s
529
562
  $avdname = "rhoAndroid" + $emuversion.gsub(/[^0-9]/, "")
530
563
  $avdname += "ext" if $use_google_addon_api
531
564
  $avdtarget = $androidtargets[get_api_level($emuversion)]
532
565
 
533
- $appavdname = $app_config["android"]["emulator"] if $app_config["android"] != nil
534
- $appavdname = $config["android"]["emulator"] if $appavdname.nil? and !$config["android"].nil?
566
+ $appavdname = $app_config["android"]["emulator"] if $app_config["android"] != nil && $app_config["android"].length > 0
567
+ $appavdname = $config["android"]["emulator"] if $appavdname.nil? and !$config["android"].nil? and $config["android"].length > 0
535
568
 
536
569
  setup_ndk($androidndkpath, ANDROID_API_LEVEL)
537
570
 
@@ -569,6 +602,13 @@ namespace "config" do
569
602
  $push_sender = $app_config["android"]["push"]["sender"] if !$app_config["android"].nil? and !$app_config["android"]["push"].nil?
570
603
  $push_sender = "support@rhomobile.com" if $push_sender.nil?
571
604
 
605
+ $push_notifications = nil
606
+ $push_notifications = $app_config["android"]["push"]["notifications"] if !$app_config["android"].nil? and !$app_config["android"]["push"].nil?
607
+ $push_notifications = "none" if $push_notifications.nil?
608
+ $push_notifications = $push_notifications
609
+
610
+
611
+
572
612
  mkdir_p $bindir if not File.exists? $bindir
573
613
  mkdir_p $rhobindir if not File.exists? $rhobindir
574
614
  mkdir_p $targetdir if not File.exists? $targetdir
@@ -941,6 +981,11 @@ namespace "build" do
941
981
  f.puts "package #{JAVA_PACKAGE_NAME};"
942
982
  f.puts "public class Push {"
943
983
  f.puts " public static final String SENDER = \"#{$push_sender}\";"
984
+ if $push_notifications.nil?
985
+ f.puts " public static final String PUSH_NOTIFICATIONS = \"none\";"
986
+ else
987
+ f.puts " public static final String PUSH_NOTIFICATIONS = \"#{$push_notifications}\";"
988
+ end
944
989
  f.puts "};"
945
990
  end
946
991
 
@@ -1490,7 +1535,7 @@ def logcat(device_flag = '-e', log_path = $applog_path)
1490
1535
  end
1491
1536
 
1492
1537
  def logclear(device_flag = '-e')
1493
- Thread.new { Jake.run($adb, [device_flag, 'logcat', '-c'], nil, true) }
1538
+ Jake.run($adb, [device_flag, 'logcat', '-c'], nil, true)
1494
1539
  end
1495
1540
 
1496
1541
  namespace "run" do
@@ -1585,6 +1630,48 @@ namespace "run" do
1585
1630
  load_app_and_run
1586
1631
  end
1587
1632
 
1633
+ task :get_info => "config:android" do
1634
+ $androidtargets.each do |level|
1635
+ puts "#{get_market_version(level[0])}"
1636
+ end
1637
+
1638
+ emu_version = $emuversion
1639
+
1640
+ puts ""
1641
+ cur_name = ""
1642
+
1643
+ `"#{$androidbin}" list avd`.split(/\n/).each do |line|
1644
+ line.each_line do |item|
1645
+ ar = item.split(':')
1646
+ ar[0].strip!
1647
+ if ar[0] == "Name"
1648
+ cur_name = ar[1].strip!
1649
+ puts "#{cur_name}"
1650
+ end
1651
+
1652
+ if $appavdname && cur_name == $appavdname && (ar[0] == "Target" || ar.length == 1)
1653
+
1654
+ text = ar[0] == "Target" ? ar[1] : ar[0]
1655
+
1656
+ nAnd = text.index("Android")
1657
+ if nAnd
1658
+ nAnd = text.index(" ", nAnd)
1659
+ nAnd1 = text.index("-", nAnd+1)
1660
+ nAnd1 = text.index(" ", nAnd+1) unless nAnd1
1661
+ emu_version = text[nAnd+1, nAnd1-nAnd-1]
1662
+ end
1663
+ end
1664
+
1665
+ end
1666
+ end
1667
+
1668
+ puts ""
1669
+
1670
+ puts "#{emu_version}"
1671
+ puts "#{$appavdname}"
1672
+
1673
+ end
1674
+
1588
1675
  def kill_adb
1589
1676
  # stop app
1590
1677
  if RUBY_PLATFORM =~ /windows|cygwin|mingw/
@@ -116,10 +116,11 @@ public class RhodesApp
116
116
 
117
117
  boolean isExternalUrl(String strUrl)
118
118
  {
119
- return strUrl.startsWith("http://") || strUrl.startsWith("https://") ||
120
- strUrl.startsWith("javascript:") || strUrl.startsWith("mailto:")
121
- || strUrl.startsWith("tel:")|| strUrl.startsWith("wtai:") ||
122
- strUrl.startsWith("sms:");
119
+ return strUrl.indexOf(':') != -1;
120
+ //strUrl.startsWith("http://") || strUrl.startsWith("https://") ||
121
+ // strUrl.startsWith("javascript:") || strUrl.startsWith("mailto:")
122
+ // || strUrl.startsWith("tel:")|| strUrl.startsWith("wtai:") ||
123
+ // strUrl.startsWith("sms:");
123
124
  }
124
125
 
125
126
  public String canonicalizeRhoUrl(String url)
@@ -97,4 +97,14 @@ public class RhoFile
97
97
  try{ oFile.close();}catch(Exception e){}
98
98
  }
99
99
  }
100
+
101
+ public static void deleteFile(String szFilePath)
102
+ {
103
+ try{
104
+ RhoClassFactory.createFile().delete(szFilePath);
105
+ }catch(Exception exc)
106
+ {
107
+ LOG.ERROR("deleteFile failed.", exc);
108
+ }
109
+ }
100
110
  }
@@ -908,7 +908,7 @@ public class SyncEngine implements NetRequest.IRhoSession
908
908
  FilePath oFilePath = new FilePath(strDbPath);
909
909
  return oFilePath.changeBaseName(strNewName+strExt);
910
910
  }
911
-
911
+ /*
912
912
  int getStartSource()
913
913
  {
914
914
  for( int i = 0; i < m_sources.size(); i++ )
@@ -920,15 +920,15 @@ public class SyncEngine implements NetRequest.IRhoSession
920
920
 
921
921
  return -1;
922
922
  }
923
-
924
- boolean syncOneSource(int i)throws Exception
923
+ */
924
+ void syncOneSource(int i)throws Exception
925
925
  {
926
926
  SyncSource src = null;
927
- boolean bError = false;
927
+ //boolean bError = false;
928
928
  try{
929
929
  src = (SyncSource)m_sources.elementAt(i);
930
930
  if ( src.getSyncType().compareTo("bulk_sync_only")==0 )
931
- return true;
931
+ return;
932
932
 
933
933
  if ( isSessionExist() && getState() != esStop )
934
934
  src.sync();
@@ -939,31 +939,32 @@ public class SyncEngine implements NetRequest.IRhoSession
939
939
  if ( src.m_nErrCode == RhoAppAdapter.ERR_NONE )
940
940
  src.m_nErrCode = RhoAppAdapter.ERR_RUNTIME;
941
941
 
942
- setState(esStop);
943
- throw exc;
942
+ //setState(esStop);
943
+ //throw exc;
944
+ LOG.ERROR("Sync of source '" + src.getName()+ "' failed.", exc);
944
945
  }finally{
945
946
  getNotify().onSyncSourceEnd( i, m_sources );
946
- bError = src.m_nErrCode != RhoAppAdapter.ERR_NONE;
947
+ //bError = src.m_nErrCode != RhoAppAdapter.ERR_NONE;
947
948
  }
948
949
 
949
- return !bError;
950
+ //return !bError;
950
951
  }
951
952
 
952
953
  void syncAllSources()throws Exception
953
954
  {
954
- boolean bError = false;
955
+ // boolean bError = false;
955
956
 
956
- int nStartSrc = getStartSource();
957
- if ( nStartSrc >= 0 )
958
- bError = !syncOneSource(nStartSrc);
957
+ // int nStartSrc = getStartSource();
958
+ // if ( nStartSrc >= 0 )
959
+ // bError = !syncOneSource(nStartSrc);
959
960
 
960
961
  //TODO: do not stop on error source
961
962
  for( int i = 0; i < (int)m_sources.size() && isContinueSync(); i++ )
962
963
  {
963
- bError = !syncOneSource(i);
964
+ /*bError = !*/syncOneSource(i);
964
965
  }
965
966
 
966
- if ( !bError && !isSchemaChanged() )
967
+ if ( !isSchemaChanged() )
967
968
  getNotify().fireSyncNotification(null, true, RhoAppAdapter.ERR_NONE, RhoAppAdapter.getMessageText("sync_completed"));
968
969
  }
969
970
 
@@ -277,7 +277,7 @@ public class SyncNotify {
277
277
  void onSyncSourceEnd( int nSrc, Vector/*Ptr<CSyncSource*>&*/ sources )
278
278
  {
279
279
  SyncSource src = (SyncSource)sources.elementAt(nSrc);
280
-
280
+ /*
281
281
  if ( getSync().getState() == SyncEngine.esStop && src.m_nErrCode != RhoAppAdapter.ERR_NONE )
282
282
  {
283
283
  SyncNotification pSN = getSyncNotifyBySrc(src);
@@ -286,7 +286,7 @@ public class SyncNotify {
286
286
  else
287
287
  fireAllSyncNotifications(true, src.m_nErrCode, src.m_strError, "" );
288
288
  }
289
- else
289
+ else*/
290
290
  fireSyncNotification( src, true, src.m_nErrCode, "");
291
291
 
292
292
  cleanCreateObjectErrors();
@@ -211,10 +211,10 @@ public class SyncSource
211
211
  //m_bIsSearch = false;
212
212
 
213
213
  try{
214
- if ( isTokenFromDB() && getToken() > 1 )
215
- syncServerChanges(); //sync only server changes, which was paused before
216
- else
217
- {
214
+ //if ( isTokenFromDB() && getToken() > 1 )
215
+ // syncServerChanges(); //sync only server changes, which was paused before
216
+ //else
217
+ //{
218
218
  if ( isEmptyToken() )
219
219
  processToken(1);
220
220
 
@@ -225,10 +225,10 @@ public class SyncSource
225
225
  if ( !bSyncedServer )
226
226
  syncServerChanges();
227
227
  */
228
- }
228
+ //}
229
229
  }catch(Exception exc)
230
230
  {
231
- getSync().stopSync();
231
+ //getSync().stopSync();
232
232
  throw exc;
233
233
  }finally{
234
234
  TimeInterval endTime = TimeInterval.getCurrentTime();
@@ -374,7 +374,7 @@ public class SyncSource
374
374
  try{
375
375
  checkIgnorePushObjects();
376
376
 
377
- for( i = 0; i < 3 && getSync().isContinueSync(); i++ )
377
+ for( i = 0; i < 3; i++ )
378
378
  {
379
379
  String strBody1;
380
380
  strBody1 = makePushBody_Ver3(arUpdateTypes[i], true);
@@ -404,7 +404,7 @@ public class SyncSource
404
404
  getDB().Unlock();
405
405
  }
406
406
 
407
- if ( bSend )
407
+ if ( bSend && getSync().isContinueSync() )
408
408
  {
409
409
  LOG.INFO( "Push client changes to server. Source: " + getName() + "Size :" + strBody.length() );
410
410
  LOG.TRACE("Push body: " + strBody);
@@ -421,7 +421,7 @@ public class SyncSource
421
421
  NetResponse resp = getNet().pushMultipartData( getProtocol().getClientChangesUrl(), m_arMultipartItems, getSync(), null );
422
422
  if ( !resp.isOK() )
423
423
  {
424
- getSync().setState(SyncEngine.esStop);
424
+ //getSync().stopSync();
425
425
  m_nErrCode = RhoAppAdapter.ERR_REMOTESERVER;
426
426
  m_strError = resp.getCharData();
427
427
  }
@@ -430,7 +430,7 @@ public class SyncSource
430
430
  NetResponse resp = getNet().pushData( getProtocol().getClientChangesUrl(), strBody, getSync());
431
431
  if ( !resp.isOK() )
432
432
  {
433
- getSync().setState(SyncEngine.esStop);
433
+ //getSync().stopSync();
434
434
  m_nErrCode = RhoAppAdapter.ERR_REMOTESERVER;
435
435
  m_strError = resp.getCharData();
436
436
  }
@@ -443,12 +443,12 @@ public class SyncSource
443
443
 
444
444
  }
445
445
 
446
- for( i = 0; i < 3 && getSync().isContinueSync(); i++ )
446
+ for( i = 0; i < 3 && m_nErrCode == RhoAppAdapter.ERR_NONE; i++ )
447
447
  {
448
448
  if ( arUpdateSent[i] )
449
449
  {
450
450
  //oo conflicts
451
- if ( i < 1 ) //create
451
+ if ( i < 1 && !getSync().getSourceOptions().getBoolProperty(getID(), "pass_through") ) //create
452
452
  getDB().executeSQL("UPDATE changed_values SET sent=2 WHERE source_id=? and update_type=? and sent=1", getID(), arUpdateTypes[i] );
453
453
  else
454
454
  //
@@ -584,7 +584,8 @@ public class SyncSource
584
584
  {
585
585
  LOG.INFO("Sync server changes source ID :" + getID() );
586
586
 
587
- while( getSync().isContinueSync() )
587
+ while( getSync().isContinueSync()&&
588
+ ( m_nErrCode == RhoAppAdapter.ERR_NONE || m_nErrCode == RhoAppAdapter.ERR_CUSTOMSYNCSERVER) )
588
589
  {
589
590
  setCurPageCount(0);
590
591
  String strUrl = getProtocol().getServerQueryUrl("");
@@ -603,7 +604,7 @@ public class SyncSource
603
604
 
604
605
  if ( !resp.isOK() )
605
606
  {
606
- getSync().stopSync();
607
+ //getSync().stopSync();
607
608
  m_nErrCode = RhoAppAdapter.getErrorFromResponse(resp);
608
609
  m_strError = resp.getCharData();
609
610
  continue;
@@ -837,7 +838,7 @@ public class SyncSource
837
838
  processServerCmd_Ver3_Schema(strCmd,strObject,attrIter);
838
839
  else
839
840
  {
840
- for( ; !attrIter.isEnd() && getSync().isContinueSync(); attrIter.next() )
841
+ for( ; !attrIter.isEnd(); attrIter.next() )
841
842
  {
842
843
  String strAttrib = attrIter.getCurKey();
843
844
  String strValue = attrIter.getCurString();
@@ -903,11 +904,11 @@ public class SyncSource
903
904
  {
904
905
  Vector/*<String>*/ vecValues = new Vector(), vecAttrs = new Vector();
905
906
  String strCols = "", strQuest = "", strSet = "";
906
- for( ; !attrIter.isEnd() && getSync().isContinueSync(); attrIter.next() )
907
+ for( ; !attrIter.isEnd(); attrIter.next() )
907
908
  {
908
909
  CAttrValue oAttrValue = new CAttrValue(attrIter.getCurKey(),attrIter.getCurString());
909
910
  if ( !processBlob(strCmd,strObject,oAttrValue) )
910
- continue;
911
+ break;
911
912
 
912
913
  if ( strCols.length() > 0 )
913
914
  strCols += ",";
@@ -979,7 +980,7 @@ public class SyncSource
979
980
  String strSqlUpdate = "UPDATE ";
980
981
  strSqlUpdate += getName() + " SET " + strSet + " WHERE object=?";
981
982
 
982
- if ( strSet.length() == 0 || !getSync().isContinueSync() )
983
+ if ( strSet.length() == 0 )
983
984
  return;
984
985
 
985
986
  getDB().executeSQL(strSqlUpdate, strObject);
@@ -1219,7 +1220,8 @@ public class SyncSource
1219
1220
  NetResponse resp = getNet().pullFile(url, fName, getSync(), null);
1220
1221
  if ( !resp.isOK() )
1221
1222
  {
1222
- getSync().stopSync();
1223
+ //getSync().stopSync();
1224
+ com.rho.file.RhoFile.deleteFile(fName);
1223
1225
  m_nErrCode = RhoAppAdapter.getErrorFromResponse(resp);
1224
1226
  return false;
1225
1227
  }