rhodes 6.2.0 → 7.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (553) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +14 -10
  3. data/appveyor.yml +1 -1
  4. data/extensions/emdk3-manager/ext/platform/android/Rakefile +2 -0
  5. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +18 -1
  6. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/Rakefile +19 -1
  7. data/lib/commonAPI/RubyServer/ext.yml +21 -0
  8. data/lib/commonAPI/RubyServer/ext/RubyServer.xml +101 -0
  9. data/lib/commonAPI/RubyServer/ext/build +19 -0
  10. data/lib/commonAPI/RubyServer/ext/build.bat +29 -0
  11. data/lib/commonAPI/RubyServer/ext/platform/android/Rakefile +161 -0
  12. data/lib/commonAPI/RubyServer/ext/platform/android/ext_java.files +9 -0
  13. data/lib/commonAPI/RubyServer/ext/platform/android/ext_native.files +7 -0
  14. data/lib/commonAPI/RubyServer/ext/platform/iphone/Rakefile +73 -0
  15. data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer.xcodeproj/project.pbxproj +322 -0
  16. data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer_Prefix.pch +7 -0
  17. data/lib/commonAPI/RubyServer/ext/shared/RubyServerImpl.cpp +242 -0
  18. data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeFactory.java +23 -3
  19. data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeRhoExtension.java +68 -8
  20. data/lib/commonAPI/barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +24 -52
  21. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.h +38 -10
  22. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.m +300 -22
  23. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +6 -0
  24. data/lib/commonAPI/barcode/ext/platform/iphone/Classes/barcode.m +6 -2
  25. data/lib/commonAPI/barcode/ext/platform/iphone/impl/Barcode.m +7 -3
  26. data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +13 -0
  27. data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeSingleton.m +25 -3
  28. data/lib/commonAPI/bluetooth/ext/platform/android/Rakefile +29 -10
  29. data/lib/commonAPI/clipboard/ext/platform/android/Rakefile +29 -10
  30. data/lib/commonAPI/coreapi/ext/Notification.xml +47 -0
  31. data/lib/commonAPI/coreapi/ext/platform/android/ApplicationManifestAdds.erb +1 -0
  32. data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +19 -0
  33. data/lib/commonAPI/coreapi/ext/platform/android/ext_java.files +2 -0
  34. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/AlarmReceiver.java +27 -0
  35. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +28 -10
  36. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationFactory.java +14 -1
  37. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +260 -0
  38. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +23 -1
  39. data/lib/commonAPI/coreapi/ext/platform/iphone/Coreapi.xcodeproj/project.pbxproj +21 -19
  40. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +1 -0
  41. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +234 -1
  42. data/lib/commonAPI/coreapi/ext/platform/qt/coreapi.pro +2 -0
  43. data/lib/commonAPI/coreapi/ext/platform/qt/src/CNotificationImpl.cpp +7 -0
  44. data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +5 -0
  45. data/lib/commonAPI/coreapi/public/api/rhoapi.js +18 -8
  46. data/lib/commonAPI/devicesecurity/ext/platform/android/Rakefile +19 -0
  47. data/lib/commonAPI/devicesecurity/ext/platform/iphone/DeviceSecurity.xcodeproj/project.pbxproj +16 -0
  48. data/lib/commonAPI/hardwarekeys/ext/keycapture.xml +11 -9
  49. data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.h +5 -3
  50. data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.m +80 -67
  51. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +25 -14
  52. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +55 -25
  53. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +34 -9
  54. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +1 -0
  55. data/lib/commonAPI/printing_zebra/ext/platform/android/Rakefile +18 -0
  56. data/lib/commonAPI/sensor/ext/platform/android/src/com/rho/sensor/Sensor.java +4 -4
  57. data/lib/extensions/decrypt/ext/platform/android/Rakefile +19 -1
  58. data/lib/extensions/decryptstub/ext/platform/android/Rakefile +19 -0
  59. data/lib/extensions/decryptstub/ext/platform/iphone/Decryptstub.xcodeproj/project.pbxproj +4 -2
  60. data/lib/extensions/digest-md5/ext/android/Rakefile +18 -0
  61. data/lib/extensions/digest-sha1/ext/android/Rakefile +18 -0
  62. data/lib/extensions/digest-sha2/ext/android/Rakefile +18 -0
  63. data/lib/extensions/esri/ext/esri/platform/iphone/Classes/MapViewControllerESRI.h +19 -19
  64. data/lib/extensions/fcm-push/ext/android/Rakefile +18 -0
  65. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +38 -16
  66. data/lib/extensions/gcm-push/ext/android/Rakefile +19 -0
  67. data/lib/extensions/keyboard/ext.yml +15 -0
  68. data/lib/extensions/keyboard/ext/Keyboard.xml +28 -0
  69. data/lib/extensions/keyboard/ext/build +19 -0
  70. data/lib/extensions/keyboard/ext/build.bat +29 -0
  71. data/lib/extensions/keyboard/ext/platform/android/Rakefile +141 -0
  72. data/lib/extensions/keyboard/ext/platform/android/ext_java.files +9 -0
  73. data/lib/extensions/keyboard/ext/platform/android/ext_native.files +7 -0
  74. data/lib/extensions/keyboard/ext/platform/android/jni/Keyboard_impl.cpp +61 -0
  75. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/Keyboard.java +32 -0
  76. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardFactory.java +18 -0
  77. data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardSingleton.java +29 -0
  78. data/lib/extensions/keyboard/ext/platform/iphone/Keyboard.xcodeproj/project.pbxproj +368 -0
  79. data/lib/extensions/keyboard/ext/platform/iphone/Keyboard_Prefix.pch +7 -0
  80. data/lib/extensions/keyboard/ext/platform/iphone/Rakefile +73 -0
  81. data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.h +14 -0
  82. data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.m +24 -0
  83. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardFactorySingleton.m +16 -0
  84. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSetup.m +9 -0
  85. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.h +17 -0
  86. data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.m +23 -0
  87. data/lib/extensions/keyboard/ext/platform/iphone/impl/readme.txt +7 -0
  88. data/lib/extensions/keyboard/ext/platform/qt/Keyboard.pro +68 -0
  89. data/lib/extensions/keyboard/ext/platform/qt/Makefile +473 -0
  90. data/lib/extensions/keyboard/ext/platform/qt/Makefile.Release +408 -0
  91. data/lib/extensions/keyboard/ext/platform/qt/Rakefile +39 -0
  92. data/lib/extensions/keyboard/ext/platform/qt/src/Keyboard_impl.cpp +99 -0
  93. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.props +18 -0
  94. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj +197 -0
  95. data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj.filters +50 -0
  96. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.csproj +119 -0
  97. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.props +8 -0
  98. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.targets +7 -0
  99. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.props +18 -0
  100. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj +197 -0
  101. data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj.filters +58 -0
  102. data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cpp +76 -0
  103. data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cs +69 -0
  104. data/lib/extensions/keyboard/ext/platform/uwp/src/Properties/AssemblyInfo.cs +37 -0
  105. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.sln +52 -0
  106. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vcproj +714 -0
  107. data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vsprops +15 -0
  108. data/lib/extensions/keyboard/ext/platform/wm/src/Keyboard_impl.cpp +77 -0
  109. data/lib/extensions/openssl.so.src/ext/android/Rakefile +18 -0
  110. data/lib/extensions/openssl.so/ext/android/aarch64/libopenssl.so.a +0 -0
  111. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/howtobuild.txt +2 -0
  112. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libcrypto.a +0 -0
  113. data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libssl.a +0 -0
  114. data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
  115. data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
  116. data/lib/extensions/openssl/ext/android/Rakefile +18 -0
  117. data/lib/extensions/zlib/ext/zlib.c +5 -1
  118. data/lib/framework/autocomplete/Rhodes.rb +1 -1
  119. data/lib/framework/rhodes.rb +1 -1
  120. data/lib/framework/set.rb +799 -0
  121. data/lib/framework/version.rb +1 -1
  122. data/lib/rhodes.rb +1 -1
  123. data/platform/android/Rhodes/AndroidManifest.xml.erb +11 -2
  124. data/platform/android/Rhodes/jni/include/rhodes.h +6 -0
  125. data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +3 -0
  126. data/platform/android/Rhodes/jni/include/rhodes/SecurityTokenGenerator.h +30 -0
  127. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
  128. data/platform/android/Rhodes/jni/src/JNIRhoRubyCppWrapper.cpp +408 -0
  129. data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +7 -0
  130. data/platform/android/Rhodes/jni/src/SecurityTokenGenerator.cpp +60 -0
  131. data/platform/android/Rhodes/jni/src/fileapi.cpp +318 -12
  132. data/platform/android/Rhodes/jni/src/mapview.cpp +4 -0
  133. data/platform/android/Rhodes/res/drawable/ic_notification.png +0 -0
  134. data/platform/android/Rhodes/res/xml/network_security_config.xml +7 -0
  135. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +9 -0
  136. data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +1 -1
  137. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java +8 -0
  138. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java +33 -0
  139. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java +20 -0
  140. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java +115 -0
  141. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java +52 -0
  142. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java +15 -0
  143. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +25 -13
  144. data/platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java +57 -0
  145. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +1 -1
  146. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +9 -2
  147. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +3 -0
  148. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +7 -0
  149. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +13 -1
  150. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +105 -0
  151. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
  152. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +24 -4
  153. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +20 -1
  154. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -0
  155. data/platform/android/build/Rakefile +30 -1
  156. data/platform/android/build/RhodesSRC_build.files +8 -0
  157. data/platform/android/build/android.rake +326 -22
  158. data/platform/android/build/android_tools.rb +36 -3
  159. data/platform/android/build/androidcommon.rb +97 -44
  160. data/platform/android/build/librhocommon_build.files +11 -0
  161. data/platform/android/build/librhodes_build.files +2 -0
  162. data/platform/android/build/manifest_generator.rb +9 -2
  163. data/platform/android/build/maven_deps_extractor.rb +96 -15
  164. data/platform/android/build/ndkwrapper.rb +111 -16
  165. data/platform/android/build/pom.erb +2 -2
  166. data/platform/iphone/Classes/AppManager/AppManager.m +31 -1
  167. data/platform/iphone/Classes/MapView/GoogleGeocoder.h +3 -3
  168. data/platform/iphone/Classes/RhoMainViewStubImpl.h +38 -0
  169. data/platform/iphone/Classes/RhoMainViewStubImpl.m +88 -0
  170. data/platform/iphone/Classes/RhoUIWebView.h +5 -0
  171. data/platform/iphone/Classes/RhoUIWebView.m +14 -6
  172. data/platform/iphone/Classes/{RhoWKWebView.m → RhoWKWebView.mm} +98 -18
  173. data/platform/iphone/Classes/RhoWebView.h +1 -1
  174. data/platform/iphone/Classes/RhoWebViewFabrique.m +24 -12
  175. data/platform/iphone/Classes/Rhodes.h +7 -2
  176. data/platform/iphone/Classes/Rhodes.m +46 -8
  177. data/platform/iphone/Classes/SimpleMainView.m +22 -13
  178. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +32 -3
  179. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +93 -61
  180. data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.h +22 -0
  181. data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.m +246 -0
  182. data/platform/iphone/Classes/WebView.m +14 -2
  183. data/platform/iphone/Entitlements.plist +1 -1
  184. data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +399 -0
  185. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1208 -0
  186. data/platform/iphone/Framework/Rhodes/Rhodes/Info.plist +24 -0
  187. data/platform/iphone/Framework/Rhodes/Rhodes/Rhodes.h +21 -0
  188. data/platform/iphone/Framework/Rhodes/Rhodes/StubCode.m +15 -0
  189. data/platform/iphone/Info.plist +1 -3
  190. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +511 -4
  191. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +467 -1
  192. data/platform/iphone/Rhodes.xcodeproj/project.pbxproj +51 -274
  193. data/platform/iphone/RhodesBaseDelegate.h +1 -1
  194. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +85 -3
  195. data/platform/iphone/rbuild/ApplicationPlist.erb +1 -1
  196. data/platform/iphone/rbuild/iphone.rake +497 -25
  197. data/platform/iphone/rbuild/iphonecommon.rb +15 -6
  198. data/platform/iphone/rhodes_stub.cpp +15 -0
  199. data/platform/iphone/rhodeslib/api/RhodesLib.h +28 -0
  200. data/platform/iphone/rhodeslib/impl/RhodesLib.m +52 -0
  201. data/platform/iphone/rhodesruby/api/IRefCountedObject.h +20 -0
  202. data/platform/iphone/rhodesruby/api/IRhoRuby.h +72 -0
  203. data/platform/iphone/rhodesruby/api/IRhoRubyArray.h +12 -0
  204. data/platform/iphone/rhodesruby/api/IRhoRubyBoolean.h +11 -0
  205. data/platform/iphone/rhodesruby/api/IRhoRubyFloat.h +10 -0
  206. data/platform/iphone/rhodesruby/api/IRhoRubyHash.h +15 -0
  207. data/platform/iphone/rhodesruby/api/IRhoRubyInteger.h +10 -0
  208. data/platform/iphone/rhodesruby/api/IRhoRubyMutableArray.h +9 -0
  209. data/platform/iphone/rhodesruby/api/IRhoRubyMutableBoolean.h +10 -0
  210. data/platform/iphone/rhodesruby/api/IRhoRubyMutableFloat.h +10 -0
  211. data/platform/iphone/rhodesruby/api/IRhoRubyMutableHash.h +10 -0
  212. data/platform/iphone/rhodesruby/api/IRhoRubyMutableInteger.h +10 -0
  213. data/platform/iphone/rhodesruby/api/IRhoRubyMutableString.h +10 -0
  214. data/platform/iphone/rhodesruby/api/IRhoRubyNativeCallback.h +9 -0
  215. data/platform/iphone/rhodesruby/api/IRhoRubyNil.h +10 -0
  216. data/platform/iphone/rhodesruby/api/IRhoRubyObject.h +37 -0
  217. data/platform/iphone/rhodesruby/api/IRhoRubyRunnable.h +8 -0
  218. data/platform/iphone/rhodesruby/api/IRhoRubyString.h +10 -0
  219. data/platform/iphone/rhodesruby/api/RhoRuby.h +26 -0
  220. data/platform/iphone/rhodesruby/api/RhoRubySingletone.h +14 -0
  221. data/platform/iphone/rhodesruby/impl/RhoRubyFabrique.h +10 -0
  222. data/platform/iphone/rhodesruby/impl/RhoRubyImpl.h +56 -0
  223. data/platform/iphone/rhodesruby/impl/RhoRubyImpl.mm +432 -0
  224. data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.h +24 -0
  225. data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.mm +43 -0
  226. data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.h +23 -0
  227. data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.mm +38 -0
  228. data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.h +23 -0
  229. data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.mm +35 -0
  230. data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.h +24 -0
  231. data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.mm +48 -0
  232. data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.h +23 -0
  233. data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.mm +35 -0
  234. data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.h +23 -0
  235. data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.mm +35 -0
  236. data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.h +22 -0
  237. data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.mm +11 -0
  238. data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.h +31 -0
  239. data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.mm +49 -0
  240. data/platform/iphone/rhodesruby/impl/RhoRubySingletone.m +19 -0
  241. data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.h +21 -0
  242. data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.mm +32 -0
  243. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +79 -0
  244. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +91 -0
  245. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +85 -0
  246. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  247. data/platform/shared/common/IRhoClassFactory.h +2 -0
  248. data/platform/shared/common/ISecurityTokenGenerator.h +16 -0
  249. data/platform/shared/common/RhoFile.cpp +11 -0
  250. data/platform/shared/common/RhoMath.h +14 -0
  251. data/platform/shared/common/RhoMutexLock.h +13 -0
  252. data/platform/shared/common/RhoSystem.h +1 -1
  253. data/platform/shared/common/RhoThread.cpp +25 -0
  254. data/platform/shared/common/RhodesApp.cpp +52 -6
  255. data/platform/shared/common/RhodesApp.h +25 -1
  256. data/platform/shared/common/RhodesAppBase.cpp +4 -2
  257. data/platform/shared/common/RhodesAppBase.h +5 -0
  258. data/platform/shared/common/iphone/RhoClassfactory.h +6 -0
  259. data/platform/shared/common/iphone/RhoCryptImpl.mm +21 -2
  260. data/platform/shared/common/map/BaseMapEngine.cpp +2 -2
  261. data/platform/shared/common/map/GeocodingMapEngine.cpp +1 -1
  262. data/platform/shared/common/map/GoogleMapEngine.cpp +1 -1
  263. data/platform/shared/common/map/OSMMapEngine.cpp +1 -1
  264. data/platform/shared/curl/lib/curl_config.h +28 -0
  265. data/platform/shared/db/DBAdapter.cpp +18 -10
  266. data/platform/shared/json.new/JSONIterator.cpp +2 -2
  267. data/platform/shared/net/HttpServer.cpp +32 -0
  268. data/platform/shared/net/HttpServer.h +15 -0
  269. data/platform/shared/net/INetRequest.cpp +54 -0
  270. data/platform/shared/qt/RhoRubylib.pro +10 -0
  271. data/platform/shared/qt/rhodes/impl/AlertImpl.cpp +13 -0
  272. data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +6 -0
  273. data/platform/shared/qt/rhodes/impl/DateTimePickerImpl.cpp +4 -0
  274. data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +36 -7
  275. data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +12 -1
  276. data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.cpp +21 -2
  277. data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.h +1 -0
  278. data/platform/shared/qt/rhodes/impl/NativeToolbarImpl.cpp +10 -0
  279. data/platform/shared/qt/rhodes/impl/QtSystemImpl.cpp +55 -3
  280. data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +11 -0
  281. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +71 -7
  282. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.h +79 -2
  283. data/platform/shared/qt/rhodes/impl/RhodesImpl.cpp +16 -6
  284. data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.cpp +37 -0
  285. data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.h +25 -0
  286. data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +2 -0
  287. data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +27 -0
  288. data/platform/shared/qt/rhodes/impl/notificationsound.cpp +16 -2
  289. data/platform/shared/qt/rhodes/impl/notificationsound.h +11 -1
  290. data/platform/shared/qt/rhodes/newVersion/QtMainWindow.cpp +25 -16
  291. data/platform/shared/qt/rhodes/newVersion/QtMainWindow.h +3 -0
  292. data/platform/shared/qt/rhodes/newVersion/WebUrlRequestInterceptor.cpp +17 -0
  293. data/platform/shared/qt/rhodes/rhodes.pro +68 -14
  294. data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.cpp +148 -0
  295. data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.h +12 -0
  296. data/platform/shared/qt/rholib/rholib.pro +33 -5
  297. data/platform/shared/qt/rhoruby_win32_build.bat +19 -0
  298. data/platform/shared/qt/rhoruby_win32_build_debug.bat +19 -0
  299. data/platform/shared/qt/rhosimulator_win32_build_debug.bat +19 -0
  300. data/platform/shared/qt/rubylib/rubylib.pro +1 -0
  301. data/platform/shared/qt/sqlite3/sqlite3.pro +1 -0
  302. data/platform/shared/qt/syncengine/syncengine.pro +1 -0
  303. data/platform/shared/rhoruby/api/IArray.h +20 -0
  304. data/platform/shared/rhoruby/api/IBoolean.h +17 -0
  305. data/platform/shared/rhoruby/api/IFloat.h +17 -0
  306. data/platform/shared/rhoruby/api/IHash.h +23 -0
  307. data/platform/shared/rhoruby/api/IInteger.h +18 -0
  308. data/platform/shared/rhoruby/api/IMutableArray.h +18 -0
  309. data/platform/shared/rhoruby/api/IMutableBoolean.h +18 -0
  310. data/platform/shared/rhoruby/api/IMutableFloat.h +17 -0
  311. data/platform/shared/rhoruby/api/IMutableHash.h +18 -0
  312. data/platform/shared/rhoruby/api/IMutableInteger.h +17 -0
  313. data/platform/shared/rhoruby/api/IMutableString.h +17 -0
  314. data/platform/shared/rhoruby/api/INil.h +16 -0
  315. data/platform/shared/rhoruby/api/IObject.h +46 -0
  316. data/platform/shared/rhoruby/api/IRefCountedObject.h +20 -0
  317. data/platform/shared/rhoruby/api/IRhoRuby.h +78 -0
  318. data/platform/shared/rhoruby/api/IRunnable.h +17 -0
  319. data/platform/shared/rhoruby/api/IString.h +17 -0
  320. data/platform/shared/rhoruby/api/RhoRuby.h +29 -0
  321. data/platform/shared/rhoruby/api/RhoRubySingletone.h +19 -0
  322. data/platform/shared/rhoruby/api/SmartPointer.h +27 -0
  323. data/platform/shared/rhoruby/impl/MutableArrayImpl.cpp +54 -0
  324. data/platform/shared/rhoruby/impl/MutableArrayImpl.h +48 -0
  325. data/platform/shared/rhoruby/impl/MutableBooleanImpl.cpp +44 -0
  326. data/platform/shared/rhoruby/impl/MutableBooleanImpl.h +44 -0
  327. data/platform/shared/rhoruby/impl/MutableFloatImpl.cpp +41 -0
  328. data/platform/shared/rhoruby/impl/MutableFloatImpl.h +44 -0
  329. data/platform/shared/rhoruby/impl/MutableHashImpl.cpp +64 -0
  330. data/platform/shared/rhoruby/impl/MutableHashImpl.h +49 -0
  331. data/platform/shared/rhoruby/impl/MutableIntegerImpl.cpp +41 -0
  332. data/platform/shared/rhoruby/impl/MutableIntegerImpl.h +44 -0
  333. data/platform/shared/rhoruby/impl/MutableStringImpl.cpp +52 -0
  334. data/platform/shared/rhoruby/impl/MutableStringImpl.h +44 -0
  335. data/platform/shared/rhoruby/impl/NilImpl.cpp +23 -0
  336. data/platform/shared/rhoruby/impl/NilImpl.h +32 -0
  337. data/platform/shared/rhoruby/impl/ObjectImpl.cpp +77 -0
  338. data/platform/shared/rhoruby/impl/ObjectImpl.h +53 -0
  339. data/platform/shared/rhoruby/impl/RefCountedObjectImpl.cpp +28 -0
  340. data/platform/shared/rhoruby/impl/RefCountedObjectImpl.h +33 -0
  341. data/platform/shared/rhoruby/impl/RhoRubyImpl.cpp +799 -0
  342. data/platform/shared/rhoruby/impl/RhoRubyImpl.h +81 -0
  343. data/platform/shared/rhoruby/impl/RhoRubySingletone.cpp +20 -0
  344. data/platform/shared/rhoruby/impl/RubyServerResponceImpl.cpp +32 -0
  345. data/platform/shared/rhoruby/impl/RubyServerResponceImpl.h +21 -0
  346. data/platform/shared/ruby/android/ruby/config.h +55 -3
  347. data/platform/shared/ruby/error.c +1 -1
  348. data/platform/shared/ruby/ext/rho/rhoruby.c +60 -7
  349. data/platform/shared/ruby/ext/rho/rhoruby.h +3 -0
  350. data/platform/shared/rubyext/NativeToolbarExt.h +1 -0
  351. data/platform/uwp/rhodes/rhodes_TemporaryKey.pfx +0 -0
  352. data/platform/uwp/rhoruntime/common/RhoClassFactory.h +6 -0
  353. data/platform/win32/RhoSimulator/Qt5Core.dll +0 -0
  354. data/platform/win32/RhoSimulator/Qt5Gui.dll +0 -0
  355. data/platform/win32/RhoSimulator/Qt5Multimedia.dll +0 -0
  356. data/platform/win32/RhoSimulator/Qt5Network.dll +0 -0
  357. data/platform/win32/RhoSimulator/Qt5Positioning.dll +0 -0
  358. data/platform/win32/RhoSimulator/Qt5PrintSupport.dll +0 -0
  359. data/platform/win32/RhoSimulator/Qt5Qml.dll +0 -0
  360. data/platform/win32/RhoSimulator/Qt5Quick.dll +0 -0
  361. data/platform/win32/RhoSimulator/Qt5QuickWidgets.dll +0 -0
  362. data/platform/win32/RhoSimulator/Qt5SerialPort.dll +0 -0
  363. data/platform/win32/RhoSimulator/Qt5Svg.dll +0 -0
  364. data/platform/win32/RhoSimulator/Qt5WebChannel.dll +0 -0
  365. data/platform/win32/RhoSimulator/Qt5WebEngine.dll +0 -0
  366. data/platform/win32/RhoSimulator/Qt5WebEngineCore.dll +0 -0
  367. data/platform/win32/RhoSimulator/Qt5WebEngineWidgets.dll +0 -0
  368. data/platform/win32/RhoSimulator/Qt5Widgets.dll +0 -0
  369. data/platform/win32/RhoSimulator/QtWebEngineProcess.exe +0 -0
  370. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  371. data/platform/win32/RhoSimulator/audio/qtaudio_wasapi.dll +0 -0
  372. data/platform/win32/RhoSimulator/audio/qtaudio_windows.dll +0 -0
  373. data/platform/win32/RhoSimulator/bearer/qgenericbearer.dll +0 -0
  374. data/platform/win32/RhoSimulator/iconengines/qsvgicon.dll +0 -0
  375. data/platform/win32/RhoSimulator/imageformats/qgif.dll +0 -0
  376. data/platform/win32/RhoSimulator/imageformats/qicns.dll +0 -0
  377. data/platform/win32/RhoSimulator/imageformats/qico.dll +0 -0
  378. data/platform/win32/RhoSimulator/imageformats/qjpeg.dll +0 -0
  379. data/platform/win32/RhoSimulator/imageformats/qsvg.dll +0 -0
  380. data/platform/win32/RhoSimulator/imageformats/qtga.dll +0 -0
  381. data/platform/win32/RhoSimulator/imageformats/qtiff.dll +0 -0
  382. data/platform/win32/RhoSimulator/imageformats/qwbmp.dll +0 -0
  383. data/platform/win32/RhoSimulator/imageformats/qwebp.dll +0 -0
  384. data/platform/win32/RhoSimulator/libEGL.dll +0 -0
  385. data/platform/win32/RhoSimulator/libGLESV2.dll +0 -0
  386. data/platform/win32/RhoSimulator/mediaservice/dsengine.dll +0 -0
  387. data/platform/win32/RhoSimulator/mediaservice/qtmedia_audioengine.dll +0 -0
  388. data/platform/win32/RhoSimulator/mediaservice/wmfengine.dll +0 -0
  389. data/platform/win32/RhoSimulator/platforms/qwindows.dll +0 -0
  390. data/platform/win32/RhoSimulator/playlistformats/qtmultimedia_m3u.dll +0 -0
  391. data/platform/win32/RhoSimulator/position/qtposition_geoclue.dll +0 -0
  392. data/platform/win32/RhoSimulator/position/qtposition_positionpoll.dll +0 -0
  393. data/platform/win32/RhoSimulator/position/qtposition_serialnmea.dll +0 -0
  394. data/platform/win32/RhoSimulator/position/qtposition_winrt.dll +0 -0
  395. data/platform/win32/RhoSimulator/printsupport/windowsprintersupport.dll +0 -0
  396. data/platform/wm/build/wm.rake +110 -5
  397. data/platform/wm/rhodes/rho/common/ExtManager.cpp +30 -0
  398. data/platform/wm/rhodes/rho/common/RhoClassFactory.h +6 -0
  399. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +3 -0
  400. data/platform/wm/rubylib/rubylib.vcxproj +6 -0
  401. data/platform/wp8/rhoruntime/common/RhoClassFactory.h +6 -0
  402. data/rakefile.rb +14 -10
  403. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +23 -15
  404. data/res/build-tools/maven/LICENSE +18 -89
  405. data/res/build-tools/maven/NOTICE +1 -1
  406. data/res/build-tools/maven/README.txt +12 -12
  407. data/res/build-tools/maven/bin/m2.conf +2 -2
  408. data/res/build-tools/maven/bin/mvn +122 -125
  409. data/res/build-tools/maven/bin/mvn.cmd +205 -0
  410. data/res/build-tools/maven/bin/mvnDebug +10 -176
  411. data/res/build-tools/maven/bin/mvnDebug.cmd +33 -0
  412. data/res/build-tools/maven/bin/mvnyjp +9 -181
  413. data/res/build-tools/maven/boot/plexus-classworlds-2.6.0.jar +0 -0
  414. data/res/build-tools/maven/conf/logging/simplelogger.properties +8 -1
  415. data/res/build-tools/maven/conf/settings.xml +1 -1
  416. data/res/build-tools/maven/conf/toolchains.xml +103 -0
  417. data/res/build-tools/maven/lib/animal-sniffer-annotations-1.14.jar +0 -0
  418. data/res/build-tools/maven/lib/animal-sniffer-annotations.license +14 -0
  419. data/res/build-tools/maven/lib/checker-compat-qual-2.0.0.jar +0 -0
  420. data/res/build-tools/maven/lib/checker-compat-qual.license +14 -0
  421. data/res/build-tools/maven/lib/commons-cli-1.4.jar +0 -0
  422. data/res/build-tools/maven/lib/commons-io-2.5.jar +0 -0
  423. data/res/build-tools/maven/lib/commons-lang3-3.8.1.jar +0 -0
  424. data/res/build-tools/maven/lib/error_prone_annotations-2.1.3.jar +0 -0
  425. data/res/build-tools/maven/lib/guava-25.1-android.jar +0 -0
  426. data/res/build-tools/maven/lib/guice-4.2.1-no_aop.jar +0 -0
  427. data/res/build-tools/maven/lib/j2objc-annotations-1.1.jar +0 -0
  428. data/res/build-tools/maven/lib/jansi-1.17.1.jar +0 -0
  429. data/res/build-tools/maven/lib/jansi-native/README.txt +7 -0
  430. data/res/build-tools/maven/lib/jansi-native/freebsd32/libjansi.so +0 -0
  431. data/res/build-tools/maven/lib/jansi-native/freebsd64/libjansi.so +0 -0
  432. data/res/build-tools/maven/lib/jansi-native/linux32/libjansi.so +0 -0
  433. data/res/build-tools/maven/lib/jansi-native/linux64/libjansi.so +0 -0
  434. data/res/build-tools/maven/lib/jansi-native/osx/libjansi.jnilib +0 -0
  435. data/res/build-tools/maven/lib/jansi-native/windows32/jansi.dll +0 -0
  436. data/res/build-tools/maven/lib/jansi-native/windows64/jansi.dll +0 -0
  437. data/res/build-tools/maven/lib/jcl-over-slf4j-1.7.25.jar +0 -0
  438. data/res/build-tools/maven/lib/jcl-over-slf4j.license +14 -0
  439. data/res/build-tools/maven/lib/jsr250-api.license +383 -405
  440. data/res/build-tools/maven/lib/jsr305-3.0.2.jar +0 -0
  441. data/res/build-tools/maven/lib/maven-artifact-3.6.1.jar +0 -0
  442. data/res/build-tools/maven/lib/maven-builder-support-3.6.1.jar +0 -0
  443. data/res/build-tools/maven/lib/maven-compat-3.6.1.jar +0 -0
  444. data/res/build-tools/maven/lib/maven-core-3.6.1.jar +0 -0
  445. data/res/build-tools/maven/lib/maven-embedder-3.6.1.jar +0 -0
  446. data/res/build-tools/maven/lib/maven-model-3.6.1.jar +0 -0
  447. data/res/build-tools/maven/lib/maven-model-builder-3.6.1.jar +0 -0
  448. data/res/build-tools/maven/lib/maven-plugin-api-3.6.1.jar +0 -0
  449. data/res/build-tools/maven/lib/maven-repository-metadata-3.6.1.jar +0 -0
  450. data/res/build-tools/maven/lib/maven-resolver-api-1.3.3.jar +0 -0
  451. data/res/build-tools/maven/lib/maven-resolver-connector-basic-1.3.3.jar +0 -0
  452. data/res/build-tools/maven/lib/maven-resolver-impl-1.3.3.jar +0 -0
  453. data/res/build-tools/maven/lib/maven-resolver-provider-3.6.1.jar +0 -0
  454. data/res/build-tools/maven/lib/maven-resolver-spi-1.3.3.jar +0 -0
  455. data/res/build-tools/maven/lib/maven-resolver-transport-wagon-1.3.3.jar +0 -0
  456. data/res/build-tools/maven/lib/maven-resolver-util-1.3.3.jar +0 -0
  457. data/res/build-tools/maven/lib/maven-settings-3.6.1.jar +0 -0
  458. data/res/build-tools/maven/lib/maven-settings-builder-3.6.1.jar +0 -0
  459. data/res/build-tools/maven/lib/maven-shared-utils-3.2.1.jar +0 -0
  460. data/res/build-tools/maven/lib/maven-slf4j-provider-3.6.1.jar +0 -0
  461. data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.3.jar +0 -0
  462. data/res/build-tools/maven/lib/org.eclipse.sisu.inject.license +210 -261
  463. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar +0 -0
  464. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus.license +210 -261
  465. data/res/build-tools/maven/lib/plexus-component-annotations-1.7.1.jar +0 -0
  466. data/res/build-tools/maven/lib/plexus-interpolation-1.25.jar +0 -0
  467. data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.4.jar +0 -0
  468. data/res/build-tools/maven/lib/plexus-utils-3.2.0.jar +0 -0
  469. data/res/build-tools/maven/lib/slf4j-api-1.7.25.jar +0 -0
  470. data/res/build-tools/maven/lib/slf4j-api.license +10 -186
  471. data/res/build-tools/maven/lib/wagon-file-3.3.2.jar +0 -0
  472. data/res/build-tools/maven/lib/wagon-http-3.3.2-shaded.jar +0 -0
  473. data/res/build-tools/maven/lib/wagon-provider-api-3.3.2.jar +0 -0
  474. data/res/generators/rhogen.rb +150 -0
  475. data/res/generators/templates/application/AndroidManifest.erb +13 -4
  476. data/res/generators/templates/application/build.yml +9 -0
  477. data/res/generators/templates/application/nodejs_build.yml +1 -1
  478. data/res/generators/templates/application/resources/android/res/xml/network_security_config.xml +7 -0
  479. data/res/generators/templates/application/rhoconfig.txt +13 -6
  480. data/res/generators/templates/application/rhoconfig_rubynode.txt +139 -0
  481. data/res/generators/templates/application/rubynodejs_build.yml +95 -0
  482. data/res/generators/templates/extension/extensions/montana/ext/platform/android/Rakefile +19 -0
  483. data/res/generators/templates/iphone_project/root/Entitlements.plist +1 -1
  484. data/res/generators/templates/iphone_project/root/Info.plist +1 -3
  485. data/res/generators/templates/iphone_project/root/rhorunner_development.entitlements +1 -1
  486. data/res/generators/templates/iphone_project/root/rhorunner_production.entitlements +1 -1
  487. data/rhodes.gemspec +2 -2
  488. data/version +1 -1
  489. metadata +244 -71
  490. data/res/build-tools/maven/bin/mvn.bat +0 -197
  491. data/res/build-tools/maven/bin/mvnDebug.bat +0 -200
  492. data/res/build-tools/maven/boot/plexus-classworlds-2.5.2.jar +0 -0
  493. data/res/build-tools/maven/lib/aether-api-1.0.0.v20140518.jar +0 -0
  494. data/res/build-tools/maven/lib/aether-api.license +0 -261
  495. data/res/build-tools/maven/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
  496. data/res/build-tools/maven/lib/aether-connector-basic.license +0 -261
  497. data/res/build-tools/maven/lib/aether-impl-1.0.0.v20140518.jar +0 -0
  498. data/res/build-tools/maven/lib/aether-impl.license +0 -261
  499. data/res/build-tools/maven/lib/aether-spi-1.0.0.v20140518.jar +0 -0
  500. data/res/build-tools/maven/lib/aether-spi.license +0 -261
  501. data/res/build-tools/maven/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
  502. data/res/build-tools/maven/lib/aether-transport-wagon.license +0 -261
  503. data/res/build-tools/maven/lib/aether-util-1.0.0.v20140518.jar +0 -0
  504. data/res/build-tools/maven/lib/aether-util.license +0 -261
  505. data/res/build-tools/maven/lib/cdi-api.license +0 -445
  506. data/res/build-tools/maven/lib/commons-cli-1.2.jar +0 -0
  507. data/res/build-tools/maven/lib/commons-io-2.2.jar +0 -0
  508. data/res/build-tools/maven/lib/commons-lang-2.6.jar +0 -0
  509. data/res/build-tools/maven/lib/guava-18.0.jar +0 -0
  510. data/res/build-tools/maven/lib/jsoup-1.7.2.jar +0 -0
  511. data/res/build-tools/maven/lib/jsoup.license +0 -66
  512. data/res/build-tools/maven/lib/maven-aether-provider-3.2.5.jar +0 -0
  513. data/res/build-tools/maven/lib/maven-aether-provider.license +0 -202
  514. data/res/build-tools/maven/lib/maven-artifact-3.2.5.jar +0 -0
  515. data/res/build-tools/maven/lib/maven-artifact.license +0 -202
  516. data/res/build-tools/maven/lib/maven-compat-3.2.5.jar +0 -0
  517. data/res/build-tools/maven/lib/maven-compat.license +0 -202
  518. data/res/build-tools/maven/lib/maven-core-3.2.5.jar +0 -0
  519. data/res/build-tools/maven/lib/maven-core.license +0 -202
  520. data/res/build-tools/maven/lib/maven-embedder-3.2.5.jar +0 -0
  521. data/res/build-tools/maven/lib/maven-embedder.license +0 -202
  522. data/res/build-tools/maven/lib/maven-model-3.2.5.jar +0 -0
  523. data/res/build-tools/maven/lib/maven-model-builder-3.2.5.jar +0 -0
  524. data/res/build-tools/maven/lib/maven-model-builder.license +0 -202
  525. data/res/build-tools/maven/lib/maven-model.license +0 -202
  526. data/res/build-tools/maven/lib/maven-plugin-api-3.2.5.jar +0 -0
  527. data/res/build-tools/maven/lib/maven-plugin-api.license +0 -202
  528. data/res/build-tools/maven/lib/maven-repository-metadata-3.2.5.jar +0 -0
  529. data/res/build-tools/maven/lib/maven-repository-metadata.license +0 -202
  530. data/res/build-tools/maven/lib/maven-settings-3.2.5.jar +0 -0
  531. data/res/build-tools/maven/lib/maven-settings-builder-3.2.5.jar +0 -0
  532. data/res/build-tools/maven/lib/maven-settings-builder.license +0 -202
  533. data/res/build-tools/maven/lib/maven-settings.license +0 -202
  534. data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
  535. data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
  536. data/res/build-tools/maven/lib/plexus-cipher.license +0 -445
  537. data/res/build-tools/maven/lib/plexus-component-annotations-1.5.5.jar +0 -0
  538. data/res/build-tools/maven/lib/plexus-interpolation-1.21.jar +0 -0
  539. data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.3.jar +0 -0
  540. data/res/build-tools/maven/lib/plexus-sec-dispatcher.license +0 -445
  541. data/res/build-tools/maven/lib/plexus-utils-3.0.20.jar +0 -0
  542. data/res/build-tools/maven/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
  543. data/res/build-tools/maven/lib/slf4j-api-1.7.5.jar +0 -0
  544. data/res/build-tools/maven/lib/slf4j-simple-1.7.5.jar +0 -0
  545. data/res/build-tools/maven/lib/slf4j-simple.license +0 -190
  546. data/res/build-tools/maven/lib/wagon-file-2.8.jar +0 -0
  547. data/res/build-tools/maven/lib/wagon-file.license +0 -202
  548. data/res/build-tools/maven/lib/wagon-http-2.8-shaded.jar +0 -0
  549. data/res/build-tools/maven/lib/wagon-http-shared-2.8.jar +0 -0
  550. data/res/build-tools/maven/lib/wagon-http-shared.license +0 -202
  551. data/res/build-tools/maven/lib/wagon-http.license +0 -202
  552. data/res/build-tools/maven/lib/wagon-provider-api-2.8.jar +0 -0
  553. data/res/build-tools/maven/lib/wagon-provider-api.license +0 -202
@@ -52,6 +52,7 @@ ARGS = ['-Iext/platform/android/generated/jni',
52
52
  OBJDIR_ARM = File.join(OBJDIR,'arm')
53
53
  OBJDIR_x86 = File.join(OBJDIR,'x86')
54
54
  OBJDIR_MIPS = File.join(OBJDIR,'mips')
55
+ OBJDIR_AARCH64 = File.join(OBJDIR,'aarch64')
55
56
 
56
57
 
57
58
  SRC = get_sources File.join(SOURCELIST)
@@ -59,14 +60,17 @@ SRC = get_sources File.join(SOURCELIST)
59
60
  OBJ_ARM = FileList.new(get_objects(SRC, OBJDIR_ARM))
60
61
  OBJ_x86 = FileList.new(get_objects(SRC, OBJDIR_x86))
61
62
  OBJ_MIPS = FileList.new(get_objects(SRC, OBJDIR_MIPS))
63
+ OBJ_AARCH64 = FileList.new(get_objects(SRC, OBJDIR_AARCH64))
62
64
 
63
65
  TARGETDIR_ARM = File.join(TARGETDIR,'armeabi')
64
66
  TARGETDIR_x86 = File.join(TARGETDIR,'x86')
65
67
  TARGETDIR_MIPS = File.join(TARGETDIR,'mips')
68
+ TARGETDIR_AARCH64 = File.join(TARGETDIR,'aarch64')
66
69
 
67
70
  TARGETLIB_ARM = File.join(TARGETDIR_ARM,TARGETLIB)
68
71
  TARGETLIB_x86 = File.join(TARGETDIR_x86,TARGETLIB)
69
72
  TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,TARGETLIB)
73
+ TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,TARGETLIB)
70
74
 
71
75
  cd '../../..'
72
76
 
@@ -82,14 +86,20 @@ namespace 'config' do
82
86
  task :mips do
83
87
  setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'mips')
84
88
  end
89
+
90
+ task :aarch64 do
91
+ setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'aarch64')
92
+ end
85
93
  end
86
94
 
87
95
  directory TARGETDIR_ARM
88
96
  directory TARGETDIR_x86
89
97
  directory TARGETDIR_MIPS
98
+ directory TARGETDIR_AARCH64
90
99
  directory OBJDIR_ARM
91
100
  directory OBJDIR_x86
92
101
  directory OBJDIR_MIPS
102
+ directory OBJDIR_AARCH64
93
103
 
94
104
  rule '.o' => lambda {|obj| find_source(obj) } do |t|
95
105
  abi = File.basename(File.dirname(t.name))
@@ -100,6 +110,7 @@ end
100
110
  task OBJ_ARM => OBJDIR_ARM
101
111
  task OBJ_x86 => OBJDIR_x86
102
112
  task OBJ_MIPS => OBJDIR_MIPS
113
+ task OBJ_AARCH64 => OBJDIR_AARCH64
103
114
 
104
115
  def find_source(objfile)
105
116
  base = File.basename(objfile, '.o')
@@ -125,17 +136,25 @@ file TARGETLIB_MIPS => TARGETDIR_MIPS do |t|
125
136
  end
126
137
  multitask TARGETLIB_MIPS => OBJ_MIPS
127
138
 
139
+ file TARGETLIB_AARCH64 => TARGETDIR_AARCH64 do |t|
140
+ Rake::Task["config:aarch64"].invoke
141
+ cc_ar t.name, OBJ_AARCH64 or raise "\e[31mCreating library failed: #{t.name}\e[0m"
142
+ end
143
+ multitask TARGETLIB_AARCH64 => OBJ_AARCH64
144
+
128
145
 
129
146
  namespace 'build' do
130
147
  task :arm => OBJ_ARM
131
148
  task :x86 => OBJ_x86
132
149
  task :mips => OBJ_MIPS
150
+ task :aarch64 => OBJ_AARCH64
133
151
  end
134
152
 
135
153
  namespace 'arch' do
136
154
  task :arm => TARGETLIB_ARM
137
155
  task :x86 => TARGETLIB_x86
138
156
  task :mips => TARGETLIB_MIPS
157
+ task :aarch64 => TARGETLIB_AARCH64
139
158
  end
140
159
 
141
160
  task :generate_inbuilt_values do
@@ -219,6 +219,8 @@
219
219
  /* Begin PBXProject section */
220
220
  0867D690FE84028FC02AAC07 /* Project object */ = {
221
221
  isa = PBXProject;
222
+ attributes = {
223
+ };
222
224
  buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "DeviceSecurity" */;
223
225
  compatibilityVersion = "Xcode 3.1";
224
226
  developmentRegion = English;
@@ -265,6 +267,7 @@
265
267
  1DEB922308733DC00010E9CD /* Debug */ = {
266
268
  isa = XCBuildConfiguration;
267
269
  buildSettings = {
270
+ ENABLE_BITCODE = YES;
268
271
  GCC_C_LANGUAGE_STANDARD = c99;
269
272
  GCC_OPTIMIZATION_LEVEL = 0;
270
273
  GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -275,6 +278,12 @@
275
278
  "$(RHO_ROOT)/platform/shared/ruby/include",
276
279
  "$(RHO_ROOT)/platform/shared/ruby/iphone",
277
280
  "$(RHO_ROOT)/platform/shared",
281
+ ../../../../../../platform/shared/common,
282
+ ../../../../../../platform/shared/rubyext,
283
+ ../../../../../../platform/shared/ruby/include,
284
+ ../../../../../../platform/shared/ruby/iphone,
285
+ ../../../../../../platform/shared,
286
+ ../../../../../../platform/iphone/Classes,
278
287
  );
279
288
  IPHONEOS_DEPLOYMENT_TARGET = 8.0;
280
289
  ONLY_ACTIVE_ARCH = NO;
@@ -287,6 +296,7 @@
287
296
  1DEB922408733DC00010E9CD /* Release */ = {
288
297
  isa = XCBuildConfiguration;
289
298
  buildSettings = {
299
+ ENABLE_BITCODE = YES;
290
300
  GCC_C_LANGUAGE_STANDARD = c99;
291
301
  GCC_WARN_ABOUT_RETURN_TYPE = YES;
292
302
  GCC_WARN_UNUSED_VARIABLE = YES;
@@ -296,6 +306,12 @@
296
306
  "$(RHO_ROOT)/platform/shared/ruby/include",
297
307
  "$(RHO_ROOT)/platform/shared/ruby/iphone",
298
308
  "$(RHO_ROOT)/platform/shared",
309
+ ../../../../../../platform/shared/common,
310
+ ../../../../../../platform/shared/rubyext,
311
+ ../../../../../../platform/shared/ruby/include,
312
+ ../../../../../../platform/shared/ruby/iphone,
313
+ ../../../../../../platform/shared,
314
+ ../../../../../../platform/iphone/Classes,
299
315
  );
300
316
  IPHONEOS_DEPLOYMENT_TARGET = 8.0;
301
317
  ONLY_ACTIVE_ARCH = NO;
@@ -25,12 +25,15 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
25
25
  </TEMPLATES>
26
26
 
27
27
  <CONSTANTS>
28
- <CONSTANT name="IPHONE_VOLUME_UP" value="10" type="INTEGER" productException="eb">
28
+ <CONSTANT name="IPHONE_VOLUME_UP" value="IPHONE_VOLUME_UP" type="STRING" productException="eb">
29
29
  <DESC>IPhone volume up keyCode. Used to capture the volume up key when it is pressed.</DESC>
30
30
  </CONSTANT>
31
- <CONSTANT name="IPHONE_VOLUME_DOWN" value="11" type="INTEGER" productException="eb">
31
+ <CONSTANT name="IPHONE_VOLUME_DOWN" value="IPHONE_VOLUME_DOWN" type="STRING" productException="eb">
32
32
  <DESC>IPhone volume down keyCode. Used to capture the volume down key when it is pressed.</DESC>
33
33
  </CONSTANT>
34
+ <CONSTANT name="ALL_KEYS" value="ALL" type="STRING" productException="eb">
35
+ <DESC>all keys captured</DESC>
36
+ </CONSTANT>
34
37
  </CONSTANTS>
35
38
 
36
39
  <PROPERTIES access="STATIC">
@@ -254,13 +257,12 @@ end
254
257
  <RUBY>
255
258
  <![CDATA[
256
259
  def keyCallback
257
- {
258
- if(@params["keyValue"] == Rho::KeyCapture.IPHONE_VOLUME_UP){
260
+ if @params["keyValue"] == Rho::KeyCapture::IPHONE_VOLUME_UP
259
261
  //do something
260
- }
261
- }
262
+ end
263
+ end
262
264
 
263
- Rho::KeyCapture.captureKey true, Rho::KeyCapture.IPHONE_VOLUME_UP, url_for(:action => :key_Callback)
265
+ Rho::KeyCapture.captureKey true, Rho::KeyCapture::IPHONE_VOLUME_UP, url_for(:action => :key_Callback)
264
266
  ]]>
265
267
  </RUBY>
266
268
  </CODE>
@@ -311,7 +313,7 @@ When the specified key is pressed, the event will fire but the homeKey event wil
311
313
  <REMARK title="Capturing Function">
312
314
  <DESC>If you have enabled the function key in the configuration settings and that function key has some special behavior in the Operating system the key will not be capturable unless you also set the 'FunctionKeysCapturable' option (see RhoElements Configuration Settings). An example of special behavior is the F6 and F7 keys on the MC75a (non QWERTY) which control the volume up and volume down. Although 'FunctionKeysCapturable' will allow you to capture Function keys it will also disable the special Function key behavior. Which buttons map to which function keys will differ from device to device, some devices such as the MC9500 have dedicated, labeled function keys whereas other devices such as the MC75a do not label the fact that their volume / red phone / green phone keys all behave as function keys internally.</DESC>
313
315
  </REMARK>
314
-
316
+
315
317
  <REMARK title="Keys with multiple functionalities">
316
318
  <DESC>Some keys which are meant for performing multiple functionalities but performs the single functionality may return the single code value. In that case it is recommended to remap the key code value with the expected desired keycode value.</DESC>
317
319
  </REMARK>
@@ -327,7 +329,7 @@ When the specified key is pressed, the event will fire but the homeKey event wil
327
329
  <REMARK title="F5 Key">
328
330
  <DESC>In Internet Explorer the F5 key is used to refresh the current page. It is not recommended to rely on this functionality on Windows Mobile and it is not supported.</DESC>
329
331
  </REMARK>
330
-
332
+
331
333
  <REMARK title="PTT Keys">
332
334
  <DESC>On Android, PTT keys are capturable using captureTrigger method only.</DESC>
333
335
  </REMARK>
@@ -7,13 +7,14 @@ typedef void (^SomeFunction)();
7
7
 
8
8
  @interface KeyCaptureSingleton : KeyCaptureSingletonBase<IKeyCaptureSingleton> {
9
9
  float launchVolume;
10
+ float savedLaunchVolume;
10
11
  BOOL hadToLowerVolume;
11
12
  BOOL hadToRaiseVolume;
12
-
13
+
13
14
  BOOL _isCapturingVolumeButtons;
14
15
  BOOL _suspended;
15
16
  UIView *_volumeView;
16
-
17
+
17
18
  id<IMethodResult> callbackHolder;
18
19
  NSMutableDictionary *keyCaptureCallbacks;
19
20
  }
@@ -30,4 +31,5 @@ typedef void (^SomeFunction)();
30
31
  -(void) remapKey:(NSString*)keyValue remapTo:(NSString*)remapTo methodResult:(id<IMethodResult>)methodResult;
31
32
  -(void) captureTrigger:(id<IMethodResult>)methodResult;
32
33
 
33
- @end
34
+
35
+ @end
@@ -21,6 +21,10 @@ NSString* keyUp = @"up";
21
21
  NSString* keyDown = @"down";
22
22
  NSString* allKeys = @"all";
23
23
 
24
+ #define IPHONE_VOLUME_UP_CODE = 10
25
+ #define IPHONE_VOLUME_DOWN_CODE = 11
26
+
27
+
24
28
  @implementation KeyCaptureSingleton
25
29
 
26
30
  // capture volume buttons
@@ -46,8 +50,8 @@ void volumeListenerCallback (
46
50
  ){
47
51
  const float *volumePointer = inData;
48
52
  float volume = *volumePointer;
49
-
50
-
53
+
54
+ //NSLog(@" VOLUME = [%@], VOLUME FROM PLAYER = [%@], LAUNCH_VOLUME = [%@]", [NSNumber numberWithDouble:volume], [NSNumber numberWithDouble:[[MPMusicPlayerController applicationMusicPlayer] volume]], [NSNumber numberWithDouble:[(KeyCaptureSingleton*)inClientData launchVolume]]);
51
55
  if( volume > [(KeyCaptureSingleton*)inClientData launchVolume] )
52
56
  {
53
57
  [(KeyCaptureSingleton*)inClientData volumeUp];
@@ -56,18 +60,24 @@ void volumeListenerCallback (
56
60
  {
57
61
  [(KeyCaptureSingleton*)inClientData volumeDown];
58
62
  }
59
-
63
+
60
64
  }
61
65
 
62
66
  -(void)volumeDown
63
67
  {
64
68
  AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self);
65
-
66
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume];
67
-
68
- [self performSelector:@selector(initializeVolumeButtonCapture) withObject:self afterDelay:0.1];
69
-
70
-
69
+
70
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
71
+ //NSLog(@" GET VOLUME= [%@]", [NSNumber numberWithDouble:[[MPMusicPlayerController applicationMusicPlayer] volume]]);
72
+ [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume];
73
+ //NSLog(@" SET VOLUME TO = [%@]", [NSNumber numberWithDouble:launchVolume]);
74
+ //NSLog(@" GET VOLUME= [%@]", [NSNumber numberWithDouble:[[MPMusicPlayerController applicationMusicPlayer] volume]]);
75
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
76
+ [self initializeVolumeButtonCapture];
77
+ });
78
+ });
79
+
80
+
71
81
  if( self.downBlock )
72
82
  {
73
83
  self.downBlock();
@@ -77,17 +87,26 @@ void volumeListenerCallback (
77
87
  -(void)volumeUp
78
88
  {
79
89
  AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self);
80
-
81
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume];
82
-
83
- [self performSelector:@selector(initializeVolumeButtonCapture) withObject:self afterDelay:0.1];
84
-
85
-
90
+
91
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
92
+ //NSLog(@" GET VOLUME= [%@]", [NSNumber numberWithDouble:[[MPMusicPlayerController applicationMusicPlayer] volume]]);
93
+ [[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume];
94
+ //NSLog(@" SET VOLUME TO = [%@]", [NSNumber numberWithDouble:launchVolume]);
95
+ //NSLog(@" GET VOLUME= [%@]", [NSNumber numberWithDouble:[[MPMusicPlayerController applicationMusicPlayer] volume]]);
96
+
97
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
98
+ [self initializeVolumeButtonCapture];
99
+ });
100
+ });
101
+
102
+ //[[MPMusicPlayerController applicationMusicPlayer] setVolume:launchVolume];
103
+ //[self performSelector:@selector(initializeVolumeButtonCapture) withObject:self afterDelay:0.05];
104
+
86
105
  if( self.upBlock )
87
106
  {
88
107
  self.upBlock();
89
108
  }
90
-
109
+
91
110
  }
92
111
 
93
112
  -(id)init
@@ -98,15 +117,15 @@ void volumeListenerCallback (
98
117
  self.isCapturingVolumeButtons = NO;
99
118
  self.suspended = NO;
100
119
  callbackHolder = nil;
101
-
120
+
102
121
  [self setKeyCaptureCallbacks:[NSMutableDictionary new]];
103
-
122
+
104
123
  self.upBlock = ^{
105
124
  id<IMethodResult> cb = [keyCaptureCallbacks objectForKey:keyUp];
106
125
  if ( cb != nil)
107
126
  {
108
127
  NSMutableDictionary *res = [[NSMutableDictionary alloc] init];
109
- [res setObject:[NSNumber numberWithInt:IPHONE_VOLUME_UP] forKey:HK_KEY_VALUE];
128
+ [res setObject:IPHONE_VOLUME_UP forKey:HK_KEY_VALUE];
110
129
  [cb setResult:res];
111
130
  }
112
131
  };
@@ -115,7 +134,7 @@ void volumeListenerCallback (
115
134
  if ( cb != nil)
116
135
  {
117
136
  NSMutableDictionary *res = [NSMutableDictionary new];
118
- [res setObject:[NSNumber numberWithInt:IPHONE_VOLUME_DOWN] forKey:HK_KEY_VALUE];
137
+ [res setObject:IPHONE_VOLUME_DOWN forKey:HK_KEY_VALUE];
119
138
  [cb setResult:res];
120
139
  }
121
140
  };
@@ -123,55 +142,57 @@ void volumeListenerCallback (
123
142
  return self;
124
143
  }
125
144
 
145
+
126
146
  -(void)startCapturingVolumeButtonEvents
127
147
  {
128
148
  NSAssert([[NSThread currentThread] isMainThread], @"This must be called from the main thread");
129
-
149
+
130
150
  if(self.isCapturingVolumeButtons) {
131
151
  return;
132
152
  }
133
-
153
+
134
154
  self.isCapturingVolumeButtons = YES;
135
-
155
+
136
156
  AudioSessionInitialize(NULL, NULL, NULL, NULL);
137
157
  AudioSessionSetActive(YES);
138
-
158
+
139
159
  launchVolume = [[MPMusicPlayerController applicationMusicPlayer] volume];
140
- hadToLowerVolume = launchVolume == 1.0;
141
- hadToRaiseVolume = launchVolume == 0.0;
142
-
160
+ savedLaunchVolume = launchVolume;
161
+ hadToLowerVolume = launchVolume > 0.8750;
162
+ hadToRaiseVolume = launchVolume < 0.1250;
163
+
143
164
  // Avoid flashing the volume indicator
144
165
  if (hadToLowerVolume || hadToRaiseVolume)
145
166
  {
146
167
  dispatch_async(dispatch_get_current_queue(), ^{
147
168
  if( hadToLowerVolume )
148
169
  {
149
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.95];
150
- launchVolume = 0.95;
170
+ [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.8750];
171
+ launchVolume = 0.8750;
151
172
  }
152
-
173
+
153
174
  if( hadToRaiseVolume )
154
175
  {
155
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.05];
156
- launchVolume = 0.05;
176
+ [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.1250];
177
+ launchVolume = 0.1250;
157
178
  }
158
179
  });
159
180
  }
160
-
181
+
161
182
  CGRect frame = CGRectMake(0, -100, 10, 0);
162
183
  self.volumeView = [[[MPVolumeView alloc] initWithFrame:frame] autorelease];
163
184
  [self.volumeView sizeToFit];
164
185
  [[[[UIApplication sharedApplication] windows] objectAtIndex:0] addSubview:self.volumeView];
165
-
186
+
166
187
  [self initializeVolumeButtonCapture];
167
-
188
+
168
189
  if (!self.suspended)
169
190
  {
170
191
  [[NSNotificationCenter defaultCenter] addObserver:self
171
192
  selector:@selector(suspendCapturingVolumeButtonEvents:)
172
193
  name:UIApplicationWillResignActiveNotification // -> Inactive
173
194
  object:nil];
174
-
195
+
175
196
  // Observe notifications that trigger resume
176
197
  [[NSNotificationCenter defaultCenter] addObserver:self
177
198
  selector:@selector(resumeCapturingVolumeButtonEvents:)
@@ -201,35 +222,37 @@ void volumeListenerCallback (
201
222
  -(void)stopCapturingVolumeButtonEvents
202
223
  {
203
224
  NSAssert([[NSThread currentThread] isMainThread], @"This must be called from the main thread");
204
-
225
+
205
226
  if(!self.isCapturingVolumeButtons)
206
227
  {
207
228
  return;
208
229
  }
209
-
230
+
210
231
  // Stop observing all notifications
211
232
  if (!self.suspended)
212
233
  {
213
234
  [[NSNotificationCenter defaultCenter] removeObserver:self];
214
235
  }
215
-
236
+
216
237
  AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self);
217
-
238
+
239
+
240
+ [[MPMusicPlayerController applicationMusicPlayer] setVolume:savedLaunchVolume];
241
+
218
242
  if( hadToLowerVolume )
219
243
  {
220
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];
244
+ //[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];
221
245
  }
222
-
223
246
  if( hadToRaiseVolume )
224
247
  {
225
- [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0];
248
+ //[[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0];
226
249
  }
227
-
250
+
228
251
  [self.volumeView removeFromSuperview];
229
252
  self.volumeView = nil;
230
-
253
+
231
254
  AudioSessionSetActive(NO);
232
-
255
+
233
256
  self.isCapturingVolumeButtons = NO;
234
257
  }
235
258
 
@@ -237,15 +260,15 @@ void volumeListenerCallback (
237
260
  {
238
261
  self.suspended = NO;
239
262
  [self stopCapturingVolumeButtonEvents];
240
-
263
+
241
264
  [keyCaptureCallbacks removeObjectForKey:keyUp];
242
265
  [keyCaptureCallbacks removeObjectForKey:keyDown];
243
266
  [self setKeyCaptureCallbacks:nil];
244
267
 
245
-
268
+
246
269
  self.upBlock = nil;
247
270
  self.downBlock = nil;
248
-
271
+
249
272
  [super dealloc];
250
273
  }
251
274
 
@@ -264,7 +287,7 @@ void volumeListenerCallback (
264
287
  }
265
288
 
266
289
  -(void) captureKey:(BOOL)dispatch keyValue:(NSString*)keyValue methodResult:(id<IMethodResult>)methodResult {
267
-
290
+
268
291
  if ([keyValue caseInsensitiveCompare:@"all"]==NSOrderedSame)
269
292
  {
270
293
  if ([methodResult hasCallback])
@@ -279,26 +302,16 @@ void volumeListenerCallback (
279
302
  }
280
303
  }
281
304
  else
282
- {
283
- int outVal = 0;
284
- NSScanner* intScanner = [NSScanner scannerWithString:keyValue];
285
- if (!([intScanner scanInt:&outVal] && [intScanner isAtEnd]))
286
- {
287
- NSScanner* hexScanner = [NSScanner scannerWithString:keyValue];
288
- if (!([hexScanner scanHexInt:&outVal] && [hexScanner isAtEnd]))
289
- {
290
- outVal = 0;
291
- }
292
- }
293
-
305
+ {
306
+
294
307
  NSString* key = @"";
295
-
296
- if (outVal==IPHONE_VOLUME_UP)
308
+
309
+ if ( [keyValue caseInsensitiveCompare:IPHONE_VOLUME_UP]==NSOrderedSame )
297
310
  {
298
311
  key = keyUp;
299
312
  }
300
313
  else
301
- if (outVal==IPHONE_VOLUME_DOWN)
314
+ if ( [keyValue caseInsensitiveCompare:IPHONE_VOLUME_DOWN]==NSOrderedSame )
302
315
  {
303
316
  key = keyDown;
304
317
  }
@@ -314,7 +327,7 @@ void volumeListenerCallback (
314
327
  }
315
328
  }
316
329
  }
317
-
330
+
318
331
  if ([keyCaptureCallbacks count] > 0)
319
332
  {
320
333
  if (!self.isCapturingVolumeButtons)
@@ -345,4 +358,4 @@ void volumeListenerCallback (
345
358
 
346
359
 
347
360
 
348
- @end
361
+ @end