rhodes 3.3.3.beta.4 → 3.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. data/CHANGELOG +7 -5
  2. data/CREDITS +2215 -0
  3. data/Rakefile +225 -59
  4. data/bin/c2dm.rb +0 -0
  5. data/bin/get-rhodes-info.bat +0 -0
  6. data/bin/migrate-rhodes-app +0 -0
  7. data/bin/migrate-rhodes-app.bat +0 -0
  8. data/bin/rhodes +0 -0
  9. data/bin/rhodes-setup +0 -0
  10. data/bin/rhodes-setup.bat +0 -0
  11. data/bin/rhogen +0 -0
  12. data/bin/rhogen.bat +0 -0
  13. data/bin/set-rhodes-sdk +0 -0
  14. data/bin/set-rhodes-sdk.bat +0 -0
  15. data/bin/upgrade-rhodes-app +0 -0
  16. data/bin/upgrade-rhodes-app.bat +0 -0
  17. data/doc/build.txt +20 -9
  18. data/doc/configuration.txt +8 -8
  19. data/doc/connect-to-web-services.txt +1 -1
  20. data/doc/device-caps.txt +63 -26
  21. data/doc/extensions.txt +14 -2
  22. data/doc/install.txt +28 -19
  23. data/doc/introduction.txt +6 -3
  24. data/doc/jqt-jqm-transition.txt +10 -9
  25. data/doc/release.txt +5 -1
  26. data/doc/rhodes-command-line.txt +130 -0
  27. data/doc/rhom.txt +16 -11
  28. data/doc/rhostudio-eclipse.txt +3 -3
  29. data/doc/simulator.txt +28 -31
  30. data/doc/syncengine-ajax-api.txt +246 -0
  31. data/doc/synchronization.txt +21 -3
  32. data/doc/test-log-debug.txt +3 -1
  33. data/doc/ui.txt +16 -16
  34. data/ext/extconf.rb +8 -0
  35. data/lib/build/jake.rb +5 -5
  36. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +9 -9
  37. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +81 -1
  38. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/CaptureActivityHandler.java +6 -13
  39. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/DecodeHandler.java +2 -6
  40. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +12 -1
  41. data/lib/extensions/barcode/ext/barcode/platform/bb/run.bat +0 -0
  42. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h +2 -0
  43. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +36 -0
  44. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h +0 -0
  45. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +15 -5
  46. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +64 -1
  47. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode.i +35 -1
  48. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +126 -2
  49. data/lib/extensions/barcode/ext/barcode/shared/src/zbar.c +18 -1
  50. data/lib/extensions/barcode/ext/build +0 -0
  51. data/lib/extensions/barcode/ext/build.bat +0 -0
  52. data/lib/extensions/digest-md5/ext/Rakefile +12 -10
  53. data/lib/extensions/digest-md5/ext/build +0 -0
  54. data/lib/extensions/digest-md5/ext/build.bat +0 -0
  55. data/lib/extensions/digest-md5/ext/digest-md5.sln +2 -2
  56. data/lib/extensions/digest-md5/ext/digest-md5.vcproj +41 -28
  57. data/lib/extensions/digest-sha1/ext/Rakefile +11 -10
  58. data/lib/extensions/digest-sha1/ext/build +0 -0
  59. data/lib/extensions/digest-sha1/ext/build.bat +0 -0
  60. data/lib/extensions/digest-sha1/ext/digest-sha1.sln +2 -2
  61. data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +41 -28
  62. data/lib/extensions/digest/ext/Rakefile +12 -11
  63. data/lib/extensions/digest/ext/build +0 -0
  64. data/lib/extensions/digest/ext/build.bat +0 -0
  65. data/lib/extensions/digest/ext/digest.sln +44 -0
  66. data/lib/extensions/digest/ext/digest.vcproj +40 -27
  67. data/lib/extensions/esri/ext/build +0 -0
  68. data/lib/extensions/esri/ext/build.bat +0 -0
  69. data/lib/extensions/fcntl/ext/Rakefile +10 -9
  70. data/lib/extensions/fcntl/ext/build +0 -0
  71. data/lib/extensions/fcntl/ext/build.bat +0 -0
  72. data/lib/extensions/fcntl/ext/fcntl.vcproj +1 -1
  73. data/lib/extensions/nfc/ext/build +0 -0
  74. data/lib/extensions/nfc/ext/build.bat +0 -0
  75. data/lib/extensions/nfc/ext/nfc/platform/android/Rakefile +11 -11
  76. data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +0 -0
  77. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/Nfc.java +12 -10
  78. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +16 -9
  79. data/lib/extensions/pdf-writer/color.rb +145 -0
  80. data/lib/extensions/pdf-writer/color/cmyk.rb +279 -0
  81. data/lib/extensions/pdf-writer/color/css.rb +28 -0
  82. data/lib/extensions/pdf-writer/color/grayscale.rb +212 -0
  83. data/lib/extensions/pdf-writer/color/hsl.rb +221 -0
  84. data/lib/extensions/pdf-writer/color/palette.rb +16 -0
  85. data/lib/extensions/pdf-writer/color/palette/adobecolor.rb +272 -0
  86. data/lib/extensions/pdf-writer/color/palette/gimp.rb +116 -0
  87. data/lib/extensions/pdf-writer/color/palette/monocontrast.rb +180 -0
  88. data/lib/extensions/pdf-writer/color/rgb-colors.rb +355 -0
  89. data/lib/extensions/pdf-writer/color/rgb.rb +453 -0
  90. data/lib/extensions/pdf-writer/color/rgb/metallic.rb +43 -0
  91. data/lib/extensions/pdf-writer/color/yiq.rb +84 -0
  92. data/lib/extensions/pdf-writer/ext/LICENSES/color/Licence.txt +27 -0
  93. data/lib/extensions/pdf-writer/ext/LICENSES/color/README.txt +32 -0
  94. data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/LICENCE +131 -0
  95. data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/README +33 -0
  96. data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Licence.txt +25 -0
  97. data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Readme.txt +204 -0
  98. data/lib/extensions/pdf-writer/pdf/charts.rb +13 -0
  99. data/lib/extensions/pdf-writer/pdf/charts/stddev.rb +430 -0
  100. data/lib/extensions/pdf-writer/pdf/math.rb +108 -0
  101. data/lib/extensions/pdf-writer/pdf/quickref.rb +332 -0
  102. data/lib/extensions/pdf-writer/pdf/simpletable.rb +947 -0
  103. data/lib/extensions/pdf-writer/pdf/techbook.rb +901 -0
  104. data/lib/extensions/pdf-writer/pdf/writer.rb +2729 -0
  105. data/lib/extensions/pdf-writer/pdf/writer/arc4.rb +63 -0
  106. data/lib/extensions/pdf-writer/pdf/writer/fontmetrics.rb +203 -0
  107. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Bold.afm +342 -0
  108. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
  109. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Oblique.afm +342 -0
  110. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier.afm +342 -0
  111. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
  112. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
  113. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
  114. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica.afm +3051 -0
  115. data/lib/extensions/pdf-writer/pdf/writer/fonts/MustRead.html +19 -0
  116. data/lib/extensions/pdf-writer/pdf/writer/fonts/Symbol.afm +213 -0
  117. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Bold.afm +2588 -0
  118. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
  119. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Italic.afm +2667 -0
  120. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Roman.afm +2419 -0
  121. data/lib/extensions/pdf-writer/pdf/writer/fonts/ZapfDingbats.afm +225 -0
  122. data/lib/extensions/pdf-writer/pdf/writer/graphics.rb +813 -0
  123. data/lib/extensions/pdf-writer/pdf/writer/graphics/imageinfo.rb +365 -0
  124. data/lib/extensions/pdf-writer/pdf/writer/lang.rb +43 -0
  125. data/lib/extensions/pdf-writer/pdf/writer/lang/en.rb +99 -0
  126. data/lib/extensions/pdf-writer/pdf/writer/object.rb +23 -0
  127. data/lib/extensions/pdf-writer/pdf/writer/object/action.rb +35 -0
  128. data/lib/extensions/pdf-writer/pdf/writer/object/annotation.rb +42 -0
  129. data/lib/extensions/pdf-writer/pdf/writer/object/catalog.rb +39 -0
  130. data/lib/extensions/pdf-writer/pdf/writer/object/contents.rb +65 -0
  131. data/lib/extensions/pdf-writer/pdf/writer/object/destination.rb +40 -0
  132. data/lib/extensions/pdf-writer/pdf/writer/object/encryption.rb +53 -0
  133. data/lib/extensions/pdf-writer/pdf/writer/object/font.rb +72 -0
  134. data/lib/extensions/pdf-writer/pdf/writer/object/fontdescriptor.rb +34 -0
  135. data/lib/extensions/pdf-writer/pdf/writer/object/fontencoding.rb +40 -0
  136. data/lib/extensions/pdf-writer/pdf/writer/object/image.rb +304 -0
  137. data/lib/extensions/pdf-writer/pdf/writer/object/info.rb +51 -0
  138. data/lib/extensions/pdf-writer/pdf/writer/object/outline.rb +30 -0
  139. data/lib/extensions/pdf-writer/pdf/writer/object/outlines.rb +30 -0
  140. data/lib/extensions/pdf-writer/pdf/writer/object/page.rb +195 -0
  141. data/lib/extensions/pdf-writer/pdf/writer/object/pages.rb +115 -0
  142. data/lib/extensions/pdf-writer/pdf/writer/object/procset.rb +46 -0
  143. data/lib/extensions/pdf-writer/pdf/writer/object/viewerpreferences.rb +74 -0
  144. data/lib/extensions/pdf-writer/pdf/writer/ohash.rb +58 -0
  145. data/lib/extensions/pdf-writer/pdf/writer/oreader.rb +25 -0
  146. data/lib/extensions/pdf-writer/pdf/writer/state.rb +48 -0
  147. data/lib/extensions/pdf-writer/pdf/writer/strokestyle.rb +138 -0
  148. data/lib/extensions/pdf-writer/transaction/simple.rb +486 -0
  149. data/lib/extensions/pdf-writer/transaction/simple/group.rb +146 -0
  150. data/lib/extensions/pdf-writer/transaction/simple/threadsafe.rb +68 -0
  151. data/lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb +36 -0
  152. data/lib/framework/builtinME.rb +0 -0
  153. data/lib/framework/dateOrig.rb +8 -2
  154. data/lib/framework/rational.rb +0 -0
  155. data/lib/framework/res/esri.wm.png +0 -0
  156. data/lib/framework/rho/rho.rb +6 -0
  157. data/lib/framework/rho/rhobluetooth.rb +0 -0
  158. data/lib/framework/rho/rhofsconnector.rb +0 -0
  159. data/lib/framework/rho/rhonativeviewmanager.rb +0 -0
  160. data/lib/framework/rhofsconnector.rb +0 -0
  161. data/lib/framework/rhom/rhom_object_factory.rb +8 -0
  162. data/lib/framework/rhomotoapi.rb +3 -2
  163. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +9 -1
  164. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
  165. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_file_RhoFileApi.h +26 -2
  166. data/platform/android/Rhodes/jni/src/callbacks.cpp +0 -5
  167. data/platform/android/Rhodes/jni/src/camera.cpp +1 -1
  168. data/platform/android/Rhodes/jni/src/fileapi.cpp +39 -19
  169. data/platform/android/Rhodes/jni/src/geolocation.cpp +3 -3
  170. data/platform/android/Rhodes/jni/src/mapview.cpp +206 -64
  171. data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
  172. data/platform/android/Rhodes/jni/src/rhodes.cpp +13 -0
  173. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +20 -0
  174. data/platform/android/Rhodes/jni/src/rhodessystem.cpp +36 -3
  175. data/platform/android/Rhodes/jni/src/signature.cpp +22 -2
  176. data/platform/android/Rhodes/res/drawable/alert_info.png +0 -0
  177. data/platform/android/Rhodes/res/drawable/esri.png +0 -0
  178. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +17 -16
  179. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java +4 -1
  180. data/platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java +67 -0
  181. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +139 -114
  182. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +106 -13
  183. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +11 -3
  184. data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +71 -16
  185. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +4 -1
  186. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +4 -1
  187. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +22 -1
  188. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +243 -0
  189. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +19 -1
  190. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +9 -1
  191. data/platform/android/Rhodes/src/com/rhomobile/rhodes/{RhodesActivityListener.java → extmanager/IRhoListener.java} +16 -12
  192. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManager.java +63 -1
  193. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +239 -14
  194. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhodesStartupListeners.java +9 -0
  195. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/WebkitExtension.java +53 -0
  196. data/platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java +27 -12
  197. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +124 -62
  198. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +49 -137
  199. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +84 -114
  200. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +75 -82
  201. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +3 -2
  202. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Callout.java +4 -0
  203. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java +124 -0
  204. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +232 -43
  205. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java +193 -0
  206. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/IRhoCustomView.java +13 -0
  207. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +32 -23
  208. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoVideoView.java +74 -0
  209. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +6 -7
  210. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +37 -0
  211. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +14 -1
  212. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +51 -38
  213. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +9 -1
  214. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +48 -31
  215. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +15 -16
  216. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +52 -15
  217. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java +20 -2
  218. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +1 -0
  219. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +77 -34
  220. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/IRhoWebView.java +9 -0
  221. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebChromeClient.java +105 -0
  222. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +1 -1
  223. data/platform/android/build/RhodesSRC_build.files +8 -7
  224. data/platform/android/build/android.rake +326 -216
  225. data/platform/android/build/androidcommon.rb +27 -13
  226. data/platform/bb/RubyVM/src/com/rho/file/SimpleFile.java +27 -1
  227. data/platform/bb/RubyVM/src/j2me/io/File.java +104 -38
  228. data/platform/bb/build/bb.rake +1 -0
  229. data/platform/bb/build/runRAPC.bat +0 -0
  230. data/platform/bb/rhodes/resources/background.png +0 -0
  231. data/platform/bb/rhodes/resources/esri.png +0 -0
  232. data/platform/bb/rhodes/resources/mappin.png +0 -0
  233. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +5 -1
  234. data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +2 -2
  235. data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapField.java +0 -0
  236. data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapProvider.java +0 -0
  237. data/platform/bb/rhodes/src/rhomobile/mapview/GeoCoding.java +0 -0
  238. data/platform/bb/rhodes/src/rhomobile/mapview/GoogleGeoCoding.java +0 -0
  239. data/platform/bb/rhodes/src/rhomobile/mapview/MapTools.java +0 -0
  240. data/platform/iphone/Classes/AppManager/AppManager.m +7 -1
  241. data/platform/iphone/Classes/Camera/PickImageDelegate.h +9 -0
  242. data/platform/iphone/Classes/Camera/PickImageDelegate.m +75 -4
  243. data/platform/iphone/Classes/GeoLocation/LocationController.h +8 -2
  244. data/platform/iphone/Classes/GeoLocation/LocationController.m +74 -76
  245. data/platform/iphone/Classes/InitMemoryInfoCollector.h +33 -0
  246. data/platform/iphone/Classes/InitMemoryInfoCollector.mm +52 -0
  247. data/platform/iphone/Classes/NativeView/NVViewController.h +0 -0
  248. data/platform/iphone/Classes/NativeView/NVViewController.m +34 -2
  249. data/platform/iphone/Classes/Rhodes.m +22 -2
  250. data/platform/iphone/Classes/Signature/SignatureDelegate.m +19 -0
  251. data/platform/iphone/Classes/Signature/SignatureViewController.h +0 -0
  252. data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -0
  253. data/platform/iphone/Classes/SimpleMainView.h +0 -0
  254. data/platform/iphone/Classes/SimpleMainView.m +3 -3
  255. data/platform/iphone/ESRI/BluePushpin.png +0 -0
  256. data/platform/iphone/ESRI/BluePushpin@2x.png +0 -0
  257. data/platform/iphone/ESRI/esri.png +0 -0
  258. data/platform/iphone/ESRI/esri@2x.png +0 -0
  259. data/platform/iphone/rbuild/iphone.rake +75 -7
  260. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +13 -4
  261. data/platform/linux/target/compiler/rubylinux +0 -0
  262. data/platform/mac/target/compiler/RubyMac +0 -0
  263. data/platform/osx/Rhodes Launcher/rhorunner.app/rhorunner b/data/platform/osx/Rhodes → Launcher/rhorunner.app/rhorunner +0 -0
  264. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +0 -0
  265. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Resources/qt_menu.nib/keyedobjects.nib +0 -0
  266. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui +0 -0
  267. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork +0 -0
  268. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit +0 -0
  269. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
  270. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
  271. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib +0 -0
  272. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqcorewlanbearer.dylib +0 -0
  273. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqgenericbearer.dylib +0 -0
  274. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqcncodecs.dylib +0 -0
  275. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqjpcodecs.dylib +0 -0
  276. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqkrcodecs.dylib +0 -0
  277. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqtwcodecs.dylib +0 -0
  278. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/graphicssystems/libqtracegraphicssystem.dylib +0 -0
  279. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqgif.dylib +0 -0
  280. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqico.dylib +0 -0
  281. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqjpeg.dylib +0 -0
  282. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqmng.dylib +0 -0
  283. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtga.dylib +0 -0
  284. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtiff.dylib +0 -0
  285. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_inspector.dylib +0 -0
  286. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_tcp.dylib +0 -0
  287. data/platform/osx/build/osx.rake +6 -8
  288. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +165 -33
  289. data/platform/shared/RhoConnectClient/RhoConnectClient.h +10 -1
  290. data/platform/shared/common/BundleManager.cpp +27 -16
  291. data/platform/shared/common/ExtManager.h +15 -2
  292. data/platform/shared/common/RhoConf.cpp +17 -2
  293. data/platform/shared/common/RhoConf.h +3 -1
  294. data/platform/shared/common/RhoDefs.h +6 -6
  295. data/platform/shared/common/RhoFatalError.h +1 -1
  296. data/platform/shared/common/RhoFile.cpp +9 -9
  297. data/platform/shared/common/RhoFilePath.h +7 -3
  298. data/platform/shared/common/RhoPort.h +3 -3
  299. data/platform/shared/common/RhoSystem.h +1 -1
  300. data/platform/shared/common/RhodesApp.cpp +426 -26
  301. data/platform/shared/common/RhodesApp.h +11 -3
  302. data/platform/shared/common/RhodesAppBase.cpp +4 -1
  303. data/platform/shared/common/StringConverter.h +3 -3
  304. data/platform/shared/common/app_build_capabilities.h +8 -0
  305. data/platform/shared/common/map/BaseMapEngine.cpp +302 -21
  306. data/platform/shared/common/map/BaseMapEngine.h +132 -6
  307. data/platform/shared/common/map/ESRIMapEngine.cpp +2 -1
  308. data/platform/shared/common/map/GeocodingMapEngine.cpp +22 -4
  309. data/platform/shared/common/map/GeocodingMapEngine.h +40 -0
  310. data/platform/shared/common/map/GoogleMapEngine.cpp +13 -1
  311. data/platform/shared/common/map/MapEngine.h +7 -0
  312. data/platform/shared/common/map/OSMMapEngine.cpp +12 -1
  313. data/platform/shared/json/JSONIterator.cpp +1 -1
  314. data/platform/shared/json/RJSONTokener.c +2 -0
  315. data/platform/shared/json/config.h +3 -3
  316. data/platform/shared/logging/RhoLog.cpp +12 -3
  317. data/platform/shared/logging/RhoLog.h +2 -1
  318. data/platform/shared/logging/RhoLogConf.cpp +147 -11
  319. data/platform/shared/logging/RhoLogConf.h +39 -1
  320. data/platform/shared/logging/RhoLogSink.cpp +1 -1
  321. data/platform/shared/net/HttpServer.cpp +8 -4
  322. data/platform/shared/net/INetRequest.cpp +7 -0
  323. data/platform/shared/net/INetRequest.h +2 -0
  324. data/platform/shared/net/RawSocket.cpp +1 -1
  325. data/platform/shared/qt/pbxproj2pro.pl +0 -0
  326. data/platform/shared/qt/pro_vcproj_diff.pl +0 -0
  327. data/platform/shared/qt/rhodes/QtMainWindow.cpp +1 -1
  328. data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +2 -2
  329. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +2 -2
  330. data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +11 -1
  331. data/platform/shared/qt/rhodes/main.cpp +5 -5
  332. data/platform/shared/ruby/ext/alert/alert_wrap.c +8 -8
  333. data/platform/shared/ruby/ext/bluetooth/bluetooth.i +0 -0
  334. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +16 -9
  335. data/platform/shared/ruby/ext/camera/camera.i +2 -2
  336. data/platform/shared/ruby/ext/camera/camera_wrap.c +18 -3
  337. data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +37 -8
  338. data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +8 -8
  339. data/platform/shared/ruby/ext/mapview/mapview_wrap.c +16 -9
  340. data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +16 -9
  341. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager.i +0 -0
  342. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +16 -9
  343. data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +8 -1
  344. data/platform/shared/ruby/ext/rho/rhoruby.c +7 -1
  345. data/platform/shared/ruby/ext/rho/rhoruby.h +1 -0
  346. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +16 -9
  347. data/platform/shared/ruby/ext/signature/signature.i +0 -0
  348. data/platform/shared/ruby/ext/signature/signature_wrap.c +9 -9
  349. data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +16 -9
  350. data/platform/shared/ruby/ext/system/system_wrap.c +16 -9
  351. data/platform/shared/ruby/ext/webview/webview_wrap.c +16 -9
  352. data/platform/shared/ruby/gc.c +1 -0
  353. data/platform/shared/ruby/regint.h +6 -4
  354. data/platform/shared/ruby/vm.c +1 -0
  355. data/platform/shared/ruby/wince/wince.h +1 -1
  356. data/platform/shared/rubyext/System.cpp +1 -1
  357. data/platform/shared/shttpd/src/rdispatcher.c +3 -3
  358. data/platform/shared/shttpd/src/std_includes.h +1 -1
  359. data/platform/shared/sqlite/sqlite3.c +1 -0
  360. data/platform/shared/statistic/test/TestProfiling.cpp +1 -1
  361. data/platform/shared/stlport/build/lib/configure +0 -0
  362. data/platform/shared/stlport/build/lib/configure.bat +0 -0
  363. data/platform/shared/sync/SyncEngine.cpp +9 -12
  364. data/platform/shared/sync/SyncNotify.cpp +36 -3
  365. data/platform/shared/sync/SyncNotify.h +11 -4
  366. data/platform/shared/sync/SyncSource.cpp +32 -16
  367. data/platform/shared/sync/SyncSource.h +2 -3
  368. data/platform/shared/sync/SyncThread.cpp +13 -4
  369. data/platform/shared/sync/SyncThread.h +4 -0
  370. data/platform/shared/tcmalloc/page_heap.h +1 -1
  371. data/platform/shared/tcmalloc/rhomem.h +1 -1
  372. data/platform/shared/tcmalloc/windows/port.cpp +12 -3
  373. data/platform/shared/test/Tests.cpp +4 -4
  374. data/platform/shared/test/test_helper.cpp +4 -4
  375. data/platform/symbian/sqlite3/src/sqlite3.h +1 -1
  376. data/platform/win32/RhoSimulator/Microsoft.VC90.CRT.manifest +6 -0
  377. data/platform/win32/RhoSimulator/Microsoft.VC90.OpenMP.manifest +6 -0
  378. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  379. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  380. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  381. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  382. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  383. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  384. data/platform/win32/RhoSimulator/imageformats/qico4.dll +0 -0
  385. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  386. data/platform/win32/RhoSimulator/imageformats/qmng4.dll +0 -0
  387. data/platform/win32/RhoSimulator/imageformats/qsvg4.dll +0 -0
  388. data/platform/win32/RhoSimulator/imageformats/qtiff4.dll +0 -0
  389. data/platform/win32/RhoSimulator/libeay32.dll +0 -0
  390. data/platform/win32/RhoSimulator/msvcm90.dll +0 -0
  391. data/platform/win32/RhoSimulator/msvcp90.dll +0 -0
  392. data/platform/win32/RhoSimulator/msvcr90.dll +0 -0
  393. data/platform/win32/RhoSimulator/phonon4.dll +0 -0
  394. data/platform/win32/RhoSimulator/ssleay32.dll +0 -0
  395. data/platform/win32/RhoSimulator/vcomp90.dll +0 -0
  396. data/platform/win32/target/replaceicon/replaceicon.exe +0 -0
  397. data/platform/win32/target/updateresstring/updateresstring.exe +0 -0
  398. data/platform/wm/RhoLib/RhoLib.vcproj +394 -69
  399. data/platform/wm/build/build_inf.js +83 -23
  400. data/platform/wm/build/wm.rake +127 -81
  401. data/platform/wm/rhodes.sln +6 -6
  402. data/platform/wm/rhodes/DateTimePicker.h +2 -2
  403. data/platform/wm/rhodes/IBrowserEngine.h +3 -0
  404. data/platform/wm/rhodes/IEBrowserEngine.cpp +34 -2
  405. data/platform/wm/rhodes/IEBrowserEngine.h +4 -1
  406. data/platform/wm/rhodes/LicenseStub.cpp +73 -0
  407. data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientNew.java → wm/rhodes/LogMemory.cpp} +32 -20
  408. data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java → wm/rhodes/LogMemory.h} +11 -8
  409. data/platform/wm/rhodes/LogOptionsDlg.h +1 -1
  410. data/platform/wm/rhodes/LogView.cpp +10 -10
  411. data/platform/wm/rhodes/LogView.h +10 -10
  412. data/platform/wm/rhodes/MainWindow.cpp +431 -173
  413. data/platform/wm/rhodes/MainWindow.h +37 -19
  414. data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
  415. data/platform/wm/rhodes/OkCancelModalDialog.h +1 -1
  416. data/platform/wm/rhodes/Rhodes.cpp +210 -47
  417. data/platform/wm/rhodes/Rhodes.rc +38 -0
  418. data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +2 -2
  419. data/platform/wm/rhodes/bluetooth/Bluetooth.h +3 -3
  420. data/platform/wm/rhodes/camera/Camera.cpp +2 -1
  421. data/platform/wm/rhodes/camera/Camera.h +1 -1
  422. data/platform/wm/rhodes/resource.h +1 -1
  423. data/platform/wm/rhodes/rho/common/ExtManager.cpp +93 -5
  424. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +2 -2
  425. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -2
  426. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +13 -7
  427. data/platform/wm/rhodes/rhodes.vcproj +1409 -1008
  428. data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
  429. data/platform/wm/rhodes/stdafx.h +2 -2
  430. data/platform/wm/rhoelements.sln +7 -9
  431. data/platform/wm/rubylib/rubylib.vcproj +62 -1
  432. data/platform/wm/sqlite3/sqlite3.vcproj +62 -1
  433. data/platform/wm/syncengine/syncengine.vcproj +62 -1
  434. data/platform/wm/tcmalloc/tcmalloc.vcproj +72 -53
  435. data/platform/wm/tools/detool/detool.cpp +1435 -1357
  436. data/platform/wp7/RhoRubyExtGen/GenerateInitializers.cmd +0 -0
  437. data/platform/wp7/RhoRubyLib/common/RhoLicense.cs +105 -0
  438. data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +23 -5
  439. data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +5 -0
  440. data/platform/wp7/RhoRubyLib/views/RhoView.xaml.cs +22 -3
  441. data/platform/wp7/build/wp.rake +1 -0
  442. data/platform/wp7/rhodes/MainPage.xaml.cs +11 -0
  443. data/rakefile.rb +225 -59
  444. data/res/build-tools/7za.exe +0 -0
  445. data/res/build-tools/RhoAppRunner.exe +0 -0
  446. data/res/build-tools/RhoLogServer.exe +0 -0
  447. data/res/build-tools/RhoRuby.exe +0 -0
  448. data/res/build-tools/RubyMac +0 -0
  449. data/res/build-tools/detool.exe +0 -0
  450. data/res/build-tools/iphonesim/Source/iPhoneSimulator.m +1 -1
  451. data/res/build-tools/iphonesim/build/Release/iphonesim +0 -0
  452. data/res/build-tools/iphonesim/build/Release/iphonesim_43 +0 -0
  453. data/res/build-tools/license_rc.dll +0 -0
  454. data/res/build-tools/make.exe +0 -0
  455. data/res/build-tools/rubylinux +0 -0
  456. data/res/build-tools/swig_patch/Lib/typemaps/fragments.swg +235 -0
  457. data/res/build-tools/wmdc_connect.exe +0 -0
  458. data/res/build-tools/wp7explorer.exe +0 -0
  459. data/res/generators/rhogen.rb +2 -2
  460. data/res/generators/templates/application/app/Settings/controller.rb +1 -1
  461. data/res/generators/templates/application/app/layout.erb +1 -1
  462. data/res/generators/templates/application/app/loading.png +0 -0
  463. data/res/generators/templates/application/public/css/re_webkit.css +736 -0
  464. data/res/generators/templates/application/public/css/windows_mobile.css +0 -0
  465. data/res/generators/templates/application/public/images/listArrow.png +0 -0
  466. data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
  467. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  468. data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
  469. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  470. data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
  471. data/res/generators/templates/application/public/js/syncengine.js +409 -52
  472. data/res/generators/templates/extension/extensions/montana/ext/build +0 -0
  473. data/res/generators/templates/extension/extensions/montana/ext/build.bat +0 -0
  474. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile +10 -10
  475. data/res/generators/templates/spec/app/SpecRunner/controller.rb +2 -0
  476. data/res/libs/motorolalicence/android/MotorolaLicence.h +13 -0
  477. data/res/libs/motorolalicence/android/libMotorolaLicence.a +0 -0
  478. data/res/libs/motorolalicence/iphone/MotorolaLicence.h +13 -0
  479. data/res/libs/motorolalicence/iphone/libMotorolaLicence.a +0 -0
  480. data/rhodes.gemspec +1 -1
  481. data/spec/framework_spec/app/SpecRunner/controller.rb +2 -0
  482. data/spec/phone_spec/app/SpecRunner/controller.rb +2 -0
  483. data/version +1 -1
  484. metadata +487 -412
  485. data/Manifest.txt +0 -7960
  486. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivityStartupListeners.java +0 -12
  487. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java +0 -52
  488. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +0 -62
  489. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/phonon.framework/Versions/4/phonon +0 -0
  490. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/phonon_backend/libphonon_qt7.dylib +0 -0
  491. data/platform/win32/RhoSimulator/Microsoft.VC80.CRT.manifest +0 -8
  492. data/platform/win32/RhoSimulator/Microsoft.VC80.OpenMP.manifest +0 -7
  493. data/platform/win32/RhoSimulator/msvcm80.dll +0 -0
  494. data/platform/win32/RhoSimulator/msvcp80.dll +0 -0
  495. data/platform/win32/RhoSimulator/msvcr80.dll +0 -0
  496. data/platform/win32/RhoSimulator/vcomp.dll +0 -0
  497. data/rhomobile-debug-1.0.6.gem +0 -0
@@ -144,8 +144,19 @@ These parameters are included in all notifications.
144
144
  * `@params["cumulative_count"]` - Number of records the `SyncEngine` has processed so far for this source.
145
145
 
146
146
  #### "in_progress" - bulk sync
147
- * `@params["bulk_status"]` - The state of the bulk sync process: "start", "download", "change_db".
148
-
147
+ * `@params["bulk_status"]` - The state of the bulk sync process:
148
+
149
+ "start": when bulk sync start and when specific partition is start syncing
150
+
151
+ "download": when client start downloading database from server
152
+
153
+ "change_db": when client start applying new database
154
+
155
+ "ok": when sync of partition finished without error
156
+
157
+ "complete": when bulk sync finished for all partitions without errors
158
+
159
+ * `@params["partition"]` - Current bulk sync partition.
149
160
 
150
161
  #### "error"
151
162
  * `@params["error_code"]` - HTTP response code of the RhoConnect server error: 401, 500, 404, etc.
@@ -677,4 +688,11 @@ For example:
677
688
 
678
689
  Parameters are the same as for ModelName.search with an additional parameter:
679
690
 
680
- * `:source_names` - Sends a list of source adapter names to RhoConnect to search across.
691
+ * `:source_names` - Sends a list of source adapter names to RhoConnect to search across.
692
+
693
+ ## SyncEngine AJAX API
694
+ [Sync engine AJAX API](syncengine-ajax-api) has been implemented to provide access to low-level control on
695
+ synchronization process right from plain HTML/javascript UI pages.
696
+
697
+ It isn't intended to be used in every application. It requires deep knowledge of SyncEngine functionality and operations.
698
+ It may broke your application if used improperly so use it with care please.
@@ -94,6 +94,8 @@ Call the RhoLog error or info methods from a method in your Rhodes app:
94
94
  RhoLog.error("Some Category", "Some message")
95
95
  end
96
96
 
97
+ Additionally all common ruby output routines (like puts, print) are redirected to rhodes log with INFO level.
98
+
97
99
  In rholog.txt the lines appear as follows:
98
100
 
99
101
  <Timestamp> <category> | <message>
@@ -128,6 +130,6 @@ See [Login/Logout Manager]() as an example.
128
130
 
129
131
  ## Debugging
130
132
 
131
- You can use the [RhoStudio debugger](rhostudio.tutorial#using-the-debugger) to debug your Rhodes app.
133
+ You can use the [RhoStudio debugger](/rhostudio.tutorial#using-the-debugger) to debug your Rhodes app.
132
134
 
133
135
 
data/doc/ui.txt CHANGED
@@ -184,11 +184,11 @@ You can control how image presented by modifying splash_screen options in [rhoco
184
184
 
185
185
  Examples:
186
186
 
187
- Place splash screen in the center and show it for 5 seconds:
187
+ Place the splash screen in the center and show it for 5 seconds:
188
188
  :::ruby
189
189
  splash_screen='delay=5;center'
190
190
 
191
- Center splash screen horizontally, scale it vertically to file all available space, and show it for 5 seconds:
191
+ Center the splash screen horizontally, scale it vertically to file all available space, and show it for 5 seconds:
192
192
  :::ruby
193
193
  splash_screen='delay=5;hcenter;vzoom'
194
194
 
@@ -199,7 +199,7 @@ You can customize you loading image (showed on start of application) for each pl
199
199
  * WM `loading.wm.png`
200
200
  * BB `loading.bb.png`
201
201
 
202
- If application doesn't have platform specific `loading.png`, then Rhodes'll try to load default `loading.png`.
202
+ If application doesn't have platform specific `loading.png`, then Rhodes will try to load default `loading.png`.
203
203
 
204
204
  For iPhone you may define a set of loading images. See Apple documentation about these images, [section Application Launch Images in Build-Time Configuration Details](http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BuildTimeConfiguration/BuildTimeConfiguration.html).
205
205
 
@@ -263,15 +263,15 @@ Force WebView refresh current page on tab with specified index. If no tab bar pr
263
263
  :::ruby
264
264
  WebView.refresh(index)
265
265
 
266
- Force WebView navigate to provided location (url)
266
+ Force WebView to navigate to provided location (url)
267
267
  :::ruby
268
268
  WebView.navigate(url)
269
269
 
270
- Since 1.2.2 WebView.navigate supports an optional index parameter (defaults to 0, useful for tabbed applications)
270
+ WebView.navigate supports an optional index parameter (defaults to 0, useful for tabbed applications)
271
271
  :::ruby
272
272
  WebView.navigate(url, index)
273
273
 
274
- Force WebView navigate to previouse page using Browser back
274
+ Force WebView to navigate to previous page using Browser back
275
275
  :::ruby
276
276
  WebView.navigate_back
277
277
 
@@ -279,12 +279,12 @@ Get location (url) of the currently displayed page
279
279
  :::ruby
280
280
  WebView.current_location
281
281
 
282
- The same as above but for specified tab (if tab bar present)
282
+ The same as above, but for specified tab (if tab bar is present)
283
283
  :::ruby
284
284
  WebView.current_location(index)
285
285
 
286
286
  Execute javascript string in the context of the currently displayed page. Supported on iPhone, Android, Windows Mobile and Blackberry 5.0 in full browser mode.
287
- Suppose that current page has js method:
287
+ Suppose that current page has the Javascript method:
288
288
  :::html
289
289
  function test() {
290
290
  alert("Test");
@@ -300,7 +300,7 @@ The same as above but for specified tab (if tab bar present)
300
300
  WebView.execute_js("test();", index)
301
301
 
302
302
 
303
- Returns index of @tabs array for currently selected tab
303
+ Returns index of @tabs array for the currently selected tab
304
304
  :::ruby
305
305
  WebView.active_tab
306
306
 
@@ -308,7 +308,7 @@ Switch to/from full screen mode
308
308
  :::ruby
309
309
  WebView.full_screen_mode(enable)
310
310
 
311
- Set cookie to be used by WebView for specified url. Each time when WebView load specified url (either by selecting link or in result of calling WebView.navigate), it will add this cookie to the HTTP request. Cookie should be in format "NAME=VALUE". Multiple name/value pairs allowed. In this case they need to be split by semicolon: "NAME1=VALUE1; NAME2=VALUE2".
311
+ Set cookie is to be used by WebView to load a specified url. Each time WebView loads specified url (either by selecting link or as a result of calling WebView.navigate), it will add this cookie to the HTTP request. The cookie should be in format "NAME=VALUE, with multiple name/value pairs allowed. If more than one is set, they need to be split by semicolon: "NAME1=VALUE1; NAME2=VALUE2".
312
312
  :::ruby
313
313
  WebView.set_cookie(url, cookie)
314
314
 
@@ -316,7 +316,7 @@ Set cookie to be used by WebView for specified url. Each time when WebView load
316
316
  See controller and view in the /app/Image folder of the [system API sample application](http://github.com/rhomobile/rhodes-system-api-samples/tree/master/app/Image/controller.rb#L30) for some of the examples of how to use WebView in the callbacks.
317
317
 
318
318
  ## Application Menu
319
- For platforms which support menus Rhodes framework provides ability to change the native application menu items through the following simple API:
319
+ For platforms which support menus, Rhodes framework provides the ability to change the native application menu items through the following simple API:
320
320
 
321
321
  :::ruby
322
322
  @default_menu = {
@@ -418,7 +418,7 @@ Action can be also URL of user-defined controller method. URL can be prefixed wi
418
418
 
419
419
  Some examples:
420
420
 
421
- Calling of this action will be done by UI WebView component so result of the do_that method will be rendered in UI
421
+ Calling of this action will be done by UI WebView component so the result of the do_that method will be rendered in UI
422
422
  :::ruby
423
423
  :action => url_for(:action => :do_that)
424
424
 
@@ -436,14 +436,14 @@ The same as above but for another controller
436
436
 
437
437
  ## Redefine back action
438
438
 
439
- Use :back parameter in render:
439
+ Use the :back parameter in render:
440
440
 
441
441
  :::ruby
442
442
  render :action => :index, :back =>
443
443
  url_for( :controller => :Settings, :action => :main_page )
444
444
  render :back => '/app'
445
445
 
446
- Use back with callback:
446
+ Use :back with callback:
447
447
 
448
448
  :::ruby
449
449
  render :action => :page_alert, :back =>
@@ -588,7 +588,7 @@ For the tabbar:
588
588
  :::ruby
589
589
  class AppApplication < Rho::RhoApplication
590
590
  def initialize
591
- # Tab items are loaded left->right, @tabs[0] is leftmost tab in the tab-bar
591
+ # Tab items are loaded left->right, @tabs[0] is the leftmost tab in the tab-bar
592
592
  @tabs = [
593
593
  { :label => "Dashboard", :action => '/app',
594
594
  :icon => "/public/images/tabs/dashboard.png", :reload => true, :web_bkg_color => 0x7F7F7F },
@@ -636,7 +636,7 @@ Each tabbar item defined in the above sample defines the following tab elements:
636
636
  * :reload => true - (optional) tells rhodes to reload the tab's :action, default is false
637
637
  * :selected_color => 0xFFFF00 - (optional) change selected color of this tab (if you use it on Android, you should define it for all tabs, and also define :background_color for TabBar)
638
638
  * :disabled => true - (optional) disable this tab
639
- * :web_bkg_color = > int hex value (0x7F7F7F for example) - background color for the tab (use when your app bkg is not white to remove blink when switching tabs)
639
+ * :web_bkg_color = > hex value (0x7F7F7F for example) - background color for the tab (use when your app background is not white to remove the blink while switching tabs)
640
640
  * :use_current_view_for_tab => true - (optional) tells rhodes to smooth transfer WebView from current view into this Tab and make this Tab active. Defaults to false. Only one Tab can have this parameter.
641
641
 
642
642
 
data/ext/extconf.rb CHANGED
@@ -9,6 +9,14 @@ cp File.dirname(__FILE__) +"/../rhobuild.yml.example", File.dirname(__FILE__) +"
9
9
  #Only because iphone sim doesn work if you run it with sudo
10
10
  chmod_R 0777, File.dirname(__FILE__) + "/.."
11
11
 
12
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/get-rhodes-info"
13
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/migrate-rhodes-app"
14
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/rhodes"
15
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/rhodes-setup"
16
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/rhogen"
17
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/set-rhodes-sdk"
18
+ File.chmod 0755, File.dirname(__FILE__) + "/../bin/upgrade-rhodes-app"
19
+
12
20
  #This is the hack, we make all the things to make it look like an extension has compiled
13
21
 
14
22
  File.open('Makefile', 'w') { |f| f.write "all:\n\ninstall:\n\n" }
data/lib/build/jake.rb CHANGED
@@ -172,9 +172,9 @@ class Jake
172
172
  reset_spec_server(platform) if appname =~ /phone_spec/
173
173
 
174
174
  rhobuildyml = File.join(basedir,'rhobuild.yml')
175
- rhobuild = YAML::load_file(rhobuildyml)
176
- rhobuild['env']['app'] = app_expanded_path(appname)
177
- File.open(rhobuildyml,'w') {|f| f.write rhobuild.to_yaml}
175
+ #rhobuild = YAML::load_file(rhobuildyml)
176
+ #rhobuild['env']['app'] = app_expanded_path(appname)
177
+ #File.open(rhobuildyml,'w') {|f| f.write rhobuild.to_yaml}
178
178
  $app_path = File.expand_path(File.join(basedir,'spec',appname))
179
179
  $app_config = Jake.config(File.open(File.join($app_path, "build.yml")))
180
180
  $config = Jake.config(File.open(rhobuildyml,'r'))
@@ -497,7 +497,7 @@ class Jake
497
497
  old_content = File.exists?(file_name) ? File.read(file_name) : ""
498
498
 
499
499
  if old_content != content
500
- puts "Modify #{file_name}"
500
+ puts "!!!MODIFY #{file_name}"
501
501
  File.open(file_name, "w"){|file| file.write(content)}
502
502
  end
503
503
 
@@ -609,7 +609,7 @@ class Jake
609
609
  puts "EXC: #{e}"
610
610
  end
611
611
 
612
- system("START rake run:webrickrhologserver[#{app_path}]")
612
+ system("START rake run:webrickrhologserver[\"#{app_path}\"]")
613
613
  end
614
614
 
615
615
  end
@@ -14,20 +14,20 @@ def build_extension(name, arch, src_files)
14
14
  #Dir.glob("*.c").each do |f|
15
15
  src_files.each do |f|
16
16
  objname = File.join( $tempdir, File.basename( f.gsub(/\.c$/, '.o') ) )
17
- objects << objname
17
+ objects << ('"'+objname+'"')
18
18
 
19
19
  args = []
20
20
  args << "-I."
21
- args << "-I#{$rootdir}/platform/shared/ruby/include"
22
- args << "-I#{$rootdir}/platform/shared"
21
+ args << "-I\"#{$rootdir}/platform/shared/ruby/include\""
22
+ args << "-I\"#{$rootdir}/platform/shared\""
23
23
 
24
- args << "-I#{$std_includes}" unless $std_includes.nil?
24
+ args << "-I\"#{$std_includes}\"" unless $std_includes.nil?
25
25
  args << "-D__NEW__" if use_own_stlport
26
- args << "-I#{$stlport_includes}" if use_own_stlport
26
+ args << "-I\"#{$stlport_includes}\"" if use_own_stlport
27
27
 
28
- args << "-I#{$rootdir}/platform/shared/ruby/android"
29
- args << "-I#{$rootdir}/platform/shared/ruby/generated"
30
- args << "-I#{$rootdir}/platform/android/Rhodes/jni/include"
28
+ args << "-I\"#{$rootdir}/platform/shared/ruby/android\""
29
+ args << "-I\"#{$rootdir}/platform/shared/ruby/generated\""
30
+ args << "-I\"#{$rootdir}/platform/android/Rhodes/jni/include\""
31
31
 
32
32
  cc_compile f, $tempdir, args or exit 1
33
33
 
@@ -35,7 +35,7 @@ def build_extension(name, arch, src_files)
35
35
 
36
36
  mkdir_p $targetdir unless File.exist? $targetdir
37
37
 
38
- cc_ar File.join( $targetdir, 'lib' + name + '.a' ), Dir.glob($tempdir + "/**/*.o") or exit 1
38
+ cc_ar ('"'+File.join( $targetdir, 'lib' + name + '.a' )+'"'), Dir.glob($tempdir + "/**/*.o").collect{|x| '"'+x+'"'} or exit 1
39
39
 
40
40
  end
41
41
 
@@ -1,6 +1,6 @@
1
1
  //#include "rhodes/JNIRhodes.h"
2
2
  #include <rhodes.h>
3
- //#include <android/log.h>
3
+ #include <android/log.h>
4
4
  #include <common/RhodesApp.h>
5
5
  #include <logging/RhoLog.h>
6
6
  #include <stdlib.h>
@@ -85,3 +85,83 @@ RHO_GLOBAL void JNICALL Java_com_rhomobile_barcode_Barcode_callback
85
85
  rho_net_request_with_data(url, rho_cast<std::string>(env, body).c_str());
86
86
  rho_http_free(url);
87
87
  }
88
+
89
+
90
+
91
+ class RhoScannersListContainer : public rho::ICallbackObject
92
+ {
93
+ public:
94
+ RhoScannersListContainer() {
95
+ }
96
+
97
+ virtual ~RhoScannersListContainer() {
98
+ }
99
+
100
+ virtual unsigned long getObjectValue() {
101
+ VALUE b_array = rho_ruby_create_array();
102
+ VALUE b_hash = rho_ruby_createHash();
103
+ rho_ruby_add_to_hash(b_hash, rho_ruby_create_string("friendlyName"), rho_ruby_create_string("RhoBarcode based on ZXing"));
104
+ rho_ruby_add_to_hash(b_hash, rho_ruby_create_string("deviceName"), rho_ruby_create_string("RhoBarcode"));
105
+ rho_ruby_add_to_array(b_array, b_hash);
106
+ return b_array;
107
+ }
108
+ };
109
+
110
+
111
+
112
+
113
+
114
+ RHO_GLOBAL void JNICALL Java_com_rhomobile_barcode_Barcode_enumeratecallback
115
+ (JNIEnv *env, jclass, jstring callback_url) {
116
+ char* url = rho_http_normalizeurl(rho_cast<std::string>(env, callback_url).c_str());
117
+
118
+ char body[2048];
119
+
120
+ strcpy(body, "&status=ok&rho_callback=1&");
121
+ strcat(body, (RHODESAPP().addCallbackObject( new RhoScannersListContainer(), "scannerArray")).c_str());
122
+ char* norm_url = rho_http_normalizeurl(url);
123
+
124
+ rho_net_request_with_data(norm_url, body);
125
+ rho_http_free(norm_url);
126
+
127
+
128
+
129
+ }
130
+
131
+ extern "C" void rho_motobarcode_enumerate(const char* callback) {
132
+
133
+ JNIEnv *env = jnienv();
134
+ jclass cls = rho_find_class(env, "com/rhomobile/barcode/Barcode");
135
+ if (!cls) return;
136
+ jmethodID mid = env->GetStaticMethodID( cls, "callMotoEnumerateCallback", "(Ljava/lang/String;)V");
137
+ if (!mid) return;
138
+
139
+ jstring objCallback = env->NewStringUTF(callback);
140
+ if(objCallback != NULL)
141
+ {
142
+ env->CallStaticObjectMethod(cls, mid, objCallback);
143
+ env->DeleteLocalRef(objCallback);
144
+ }
145
+
146
+ //VALUE b_array = rho_ruby_create_array();
147
+ //rho_ruby_add_to_array(b_array, rho_ruby_create_string("RhoBarcode based on ZXing"));
148
+ //return b_array;
149
+
150
+ }
151
+
152
+ extern "C" void rho_motobarcode_enable(const char* callback, rho_param* p) {
153
+ __android_log_write(ANDROID_LOG_INFO, "RhoBarcode", "Barcode::enable() DO NOT SUPPORT BY RHODES SW SCANNER !");
154
+ }
155
+
156
+ extern "C" void rho_motobarcode_disable() {
157
+ __android_log_write(ANDROID_LOG_INFO, "RhoBarcode", "Barcode::disable() DO NOT SUPPORT BY RHODES SW SCANNER !");
158
+ }
159
+
160
+ extern "C" void rho_motobarcode_start() {
161
+ __android_log_write(ANDROID_LOG_INFO, "RhoBarcode", "Barcode::start() DO NOT SUPPORT BY RHODES SW SCANNER !");
162
+ }
163
+
164
+ extern "C" void rho_motobarcode_stop() {
165
+ __android_log_write(ANDROID_LOG_INFO, "RhoBarcode", "Barcode::stop() DO NOT SUPPORT BY RHODES SW SCANNER !");
166
+ }
167
+
@@ -67,44 +67,37 @@ public final class CaptureActivityHandler extends Handler {
67
67
 
68
68
  @Override
69
69
  public void handleMessage(Message message) {
70
- switch (message.what) {
71
- case R.id.auto_focus:
70
+ if (message.what == R.id.auto_focus) {
72
71
  //Log.d(TAG, "Got auto-focus message");
73
72
  // When one auto focus pass finishes, start another. This is the closest thing to
74
73
  // continuous AF. It does seem to hunt a bit, but I'm not sure what else to do.
75
74
  if (state == State.PREVIEW) {
76
75
  CameraManager.get().requestAutoFocus(this, R.id.auto_focus);
77
76
  }
78
- break;
79
- case R.id.restart_preview:
77
+ } else if (message.what == R.id.restart_preview) {
80
78
  Log.d(TAG, "Got restart preview message");
81
79
  restartPreviewAndDecode();
82
- break;
83
- case R.id.decode_succeeded:
80
+ } else if (message.what == R.id.decode_succeeded) {
84
81
  Log.d(TAG, "Got decode succeeded message");
85
82
  state = State.SUCCESS;
86
83
  Bundle bundle = message.getData();
87
84
  Bitmap barcode = bundle == null ? null :
88
85
  (Bitmap) bundle.getParcelable(DecodeThread.BARCODE_BITMAP);
89
86
  activity.handleDecode((Result) message.obj, barcode);
90
- break;
91
- case R.id.decode_failed:
87
+ } else if (message.what == R.id.decode_failed) {
92
88
  // We're decoding as fast as possible, so when one decode fails, start another.
93
89
  state = State.PREVIEW;
94
90
  CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
95
- break;
96
- case R.id.return_scan_result:
91
+ } else if (message.what == R.id.return_scan_result) {
97
92
  Log.d(TAG, "Got return scan result message");
98
93
  activity.setResult(Activity.RESULT_OK, (Intent) message.obj);
99
94
  activity.finish();
100
- break;
101
- case R.id.launch_product_query:
95
+ } else if (message.what == R.id.launch_product_query) {
102
96
  Log.d(TAG, "Got product query message");
103
97
  String url = (String) message.obj;
104
98
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
105
99
  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
106
100
  activity.startActivity(intent);
107
- break;
108
101
  }
109
102
  }
110
103
 
@@ -49,14 +49,10 @@ final class DecodeHandler extends Handler {
49
49
 
50
50
  @Override
51
51
  public void handleMessage(Message message) {
52
- switch (message.what) {
53
- case R.id.decode:
54
- //Log.d(TAG, "Got decode message");
52
+ if (message.what == R.id.decode) {
55
53
  decode((byte[]) message.obj, message.arg1, message.arg2);
56
- break;
57
- case R.id.quit:
54
+ } else if (message.what == R.id.quit) {
58
55
  Looper.myLooper().quit();
59
- break;
60
56
  }
61
57
  }
62
58
 
@@ -79,7 +79,18 @@ public class Barcode {
79
79
  }
80
80
 
81
81
  public static native void callback(String callbackUrl, String body);
82
-
82
+
83
+ public static native void enumeratecallback(String callback_url);
84
+
85
+ public static void callMotoEnumerateCallback(String callbackUrl) {
86
+ final String cb = callbackUrl;
87
+ PerformOnUiThread.exec(new Runnable() {
88
+ public void run() {
89
+ enumeratecallback(cb);
90
+ }
91
+ });
92
+ }
93
+
83
94
  public static void callCancelCallback() {
84
95
  StringBuffer body = new StringBuffer();
85
96
  body.append("&rho_callback=1");
@@ -19,6 +19,8 @@ void Barcode_executeRhoCallBackWithParams(NSString* callbackURL,
19
19
  NSString* str3Name, NSString* str3Value,
20
20
  NSString* dataName, NSData* dataValue
21
21
  );
22
+
23
+ void Barcode_executeEnumerateCallback(NSString* url);
22
24
 
23
25
  #ifdef __cplusplus
24
26
  }