rhodes 7.4.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (305) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +319 -0
  3. data/CREDITS +3 -1
  4. data/LICENSE +1 -1
  5. data/README.md +6 -16
  6. data/Rakefile +55 -43
  7. data/SECURITY.md +19 -0
  8. data/appveyor.yml +66 -8
  9. data/azure-pipelines.yml +67 -0
  10. data/bin/rhodes-setup +22 -8
  11. data/extensions/emdk3-manager/ext/platform/android/src/com/rho/emdk3/EMDK3Extension.java +14 -5
  12. data/extensions/instrumentation/ext/platform/android/src/com/rho/instrumentation/Instrumentation.java +29 -15
  13. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.java +3 -3
  14. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/ElementsCore.java +12 -9
  15. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/graphics/BatteryIndicator.java +2 -2
  16. data/lib/commonAPI/barcode/ext/platform/android/AndroidManifest.xml +3 -1
  17. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeCaptureActivity.java +11 -13
  18. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeGraphicTracker.java +1 -1
  19. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSource.java +3 -3
  20. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSourcePreview.java +1 -1
  21. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro +1 -1
  22. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro.erb +2 -2
  23. data/lib/commonAPI/barcode/ext/platform/qt/src/qzxing/QZXing.pri +9 -21
  24. data/lib/commonAPI/barcode/ext.yml +5 -8
  25. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro +1 -1
  26. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro.erb +1 -1
  27. data/lib/commonAPI/bluetooth/ext/platform/qt/src/bluetooth/bluetoothhelper.h +1 -1
  28. data/lib/commonAPI/coreapi/RhoSystemApi.rb +6 -0
  29. data/lib/commonAPI/coreapi/ext/Intent.xml +4 -0
  30. data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +0 -12
  31. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/intent/IntentSingleton.java +6 -0
  32. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +5 -2
  33. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +4 -4
  34. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +1 -1
  35. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/webview/WebViewSingleton.java +40 -27
  36. data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +5 -6
  37. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.h +1 -1
  38. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.m +3 -1
  39. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +2 -1
  40. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +10 -0
  41. data/lib/commonAPI/coreapi/ext/platform/wm/src/IntentImpl.cpp +3 -0
  42. data/lib/commonAPI/coreapi/ext/push.xml +5 -2
  43. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.cpp +13 -0
  44. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.h +2 -0
  45. data/lib/commonAPI/coreapi/ext/system.xml +3 -0
  46. data/lib/commonAPI/mediacapture/ext/camera.xml +4 -9
  47. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationCameraActivity.erb +2 -2
  48. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
  49. data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +2 -9
  50. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraExtension.java +0 -2
  51. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraFactory.java +19 -24
  52. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +322 -730
  53. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +247 -433
  54. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/{CameraSingletonObject.java → CameraSingleton.java} +68 -74
  55. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java +6 -0
  56. data/lib/commonAPI/mediacapture/ext/platform/qt/MediaCapture.pro.erb +1 -1
  57. data/lib/commonAPI/mediacapture/ext/platform/qt/Mediacapture.pro +1 -1
  58. data/lib/commonAPI/printing_zebra/ext/platform/android/src/com/rhomobile/printing/zebra/impl/ZebraPrintingProviderImpl.java +2 -1
  59. data/lib/commonAPI/signature/ext/platform/iphone/impl/readme.txt +7 -0
  60. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro +3 -10
  61. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro.erb +2 -2
  62. data/lib/extensions/fcm-push/ext/android/ApplicationManifestAdds.erb +15 -17
  63. data/lib/extensions/fcm-push/ext/android/Rakefile +59 -34
  64. data/lib/extensions/fcm-push/ext/android/ext_java.files +0 -1
  65. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMFacade.java +13 -17
  66. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +81 -80
  67. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMListener.java +0 -16
  68. data/lib/extensions/fcm-push/ext/iphone/Podfile +15 -2
  69. data/lib/extensions/fcm-push/ext/iphone/fcm-push.xcodeproj/project.pbxproj +6 -7
  70. data/lib/extensions/fcm-push/ext.yml +1 -1
  71. data/lib/extensions/gmaps/ext/platform/android/ApplicationManifestAdds.erb +1 -0
  72. data/lib/extensions/gmaps/ext/platform/android/src/com/rhomobile/rhodes/gmaps/GMapActivity.java +12 -4
  73. data/lib/extensions/gmaps/ext.yml +3 -1
  74. data/lib/extensions/nfc/ext/platform/android/src/com/rhomobile/nfc/Nfc.java +2 -1
  75. data/lib/extensions/serialport/ext/serialport.pro +1 -1
  76. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +1 -0
  77. data/platform/android/Rhodes/jni/src/MethodResultJni.cpp +4 -0
  78. data/platform/android/Rhodes/jni/src/fileapi.cpp +4 -0
  79. data/platform/android/Rhodes/res/drawable/baseline_check_24.xml +5 -0
  80. data/platform/android/Rhodes/res/drawable/baseline_check_240.xml +5 -0
  81. data/platform/android/Rhodes/res/drawable/baseline_close_24.xml +5 -0
  82. data/platform/android/Rhodes/res/drawable/baseline_close_240.xml +5 -0
  83. data/platform/android/Rhodes/res/layout/overlay_layout.xml +39 -0
  84. data/platform/android/Rhodes/res/layout/perrmission_alert_dialog.xml +267 -0
  85. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +183 -66
  86. data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +38 -6
  87. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoFileProvider.java +32 -0
  88. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +532 -92
  89. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +26 -4
  90. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +259 -163
  91. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +1 -1
  92. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +14 -3
  93. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +4 -0
  94. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +5 -4
  95. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +79 -38
  96. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +20 -15
  97. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +18 -9
  98. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/CallReceiver.java +22 -0
  99. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/IKioskMode.java +11 -0
  100. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/KioskManager.java +18 -0
  101. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyAccessibilityService.java +230 -0
  102. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyNotificationListenerService.java +16 -0
  103. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyOverlayService.java +197 -0
  104. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/PermissionManager.java +232 -0
  105. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +34 -8
  106. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +1 -1
  107. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/CheckDrawable.java +53 -0
  108. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/PermissionListGenerate.java +366 -0
  109. data/platform/android/Rhodes/src/com/rhomobile/rhodes/rhodes.iml +11 -0
  110. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +1 -0
  111. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +782 -41
  112. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputConnectionWrapper.java +146 -0
  113. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputListener.java +21 -0
  114. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +92 -32
  115. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/TauWebViewOptions.java +118 -0
  116. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderBase.java +18 -17
  117. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderEclairMR1.java +4 -4
  118. data/platform/android/build/RhodesSRC_build.files +13 -0
  119. data/platform/android/build/{aab_builder.rb → aapt2_helper.rb} +94 -37
  120. data/platform/android/build/android-repack.rake +8 -1
  121. data/platform/android/build/android.rake +238 -238
  122. data/platform/android/build/android_tools.rb +10 -10
  123. data/platform/android/build/androidcommon.rb +31 -14
  124. data/platform/android/build/build_tools_finder.rb +46 -0
  125. data/platform/android/build/config.yml +8 -0
  126. data/platform/android/build/dex_builder.rb +88 -0
  127. data/platform/android/build/hostplatform.rb +9 -0
  128. data/platform/android/build/manifest_generator.rb +15 -10
  129. data/platform/android/build/maven_deps_extractor.rb +29 -22
  130. data/platform/android/build/ndkwrapper.rb +92 -51
  131. data/platform/android/proguard/proguard-base-rules.pro +5 -0
  132. data/platform/android/proguard/proguard.jar +0 -0
  133. data/platform/iphone/Classes/AppManager/AppManager.m +3 -1
  134. data/platform/iphone/Classes/Camera/PickImageDelegate.h +2 -0
  135. data/platform/iphone/Classes/Camera/PickImageDelegate.m +45 -23
  136. data/platform/iphone/Classes/CocoaServer/CCocoaServer.h +27 -0
  137. data/platform/iphone/Classes/CocoaServer/CCocoaServer.m +107 -0
  138. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.h +16 -0
  139. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.m +226 -0
  140. data/platform/iphone/Classes/RhoAppBaseLib-Bridging-Header.h +4 -0
  141. data/platform/iphone/Classes/RhoAppBaseStandaloneLib-Bridging-Header.h +4 -0
  142. data/platform/iphone/Classes/RhoCryptAESGCM.swift +105 -0
  143. data/platform/iphone/Classes/RhoUIWebView.h +1 -1
  144. data/platform/iphone/Classes/RhoUIWebView.m +1 -1
  145. data/platform/iphone/Classes/RhoWKWebView.h +1 -1
  146. data/platform/iphone/Classes/RhoWKWebView.mm +110 -15
  147. data/platform/iphone/Classes/RhoWebView.h +1 -1
  148. data/platform/iphone/Classes/RhoWebViewFabrique.m +13 -2
  149. data/platform/iphone/Classes/Rhodes.m +3 -0
  150. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  151. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +21 -10
  152. data/platform/iphone/Classes/rho/net/IPhoneNetRequest.mm +4 -0
  153. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.h +14 -0
  154. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.m +158 -0
  155. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.h +12 -0
  156. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.m +88 -0
  157. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.h +56 -0
  158. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.m +104 -0
  159. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.h +45 -0
  160. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.m +195 -0
  161. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.h +120 -0
  162. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.m +2708 -0
  163. data/platform/iphone/CocoaHTTPServer/Core/HTTPLogging.h +136 -0
  164. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.h +48 -0
  165. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.m +113 -0
  166. data/platform/iphone/CocoaHTTPServer/Core/HTTPResponse.h +149 -0
  167. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.h +205 -0
  168. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.m +772 -0
  169. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h +65 -0
  170. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.m +529 -0
  171. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h +33 -0
  172. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.m +86 -0
  173. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h +23 -0
  174. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.m +211 -0
  175. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h +75 -0
  176. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.m +405 -0
  177. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.h +13 -0
  178. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.m +79 -0
  179. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h +52 -0
  180. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.m +292 -0
  181. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.h +9 -0
  182. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.m +38 -0
  183. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.h +25 -0
  184. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.m +237 -0
  185. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h +12 -0
  186. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.m +73 -0
  187. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.h +105 -0
  188. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.m +791 -0
  189. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h +7 -0
  190. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.m +160 -0
  191. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h +11 -0
  192. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.m +372 -0
  193. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h +7 -0
  194. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.m +49 -0
  195. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h +8 -0
  196. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.m +69 -0
  197. data/platform/iphone/CocoaHTTPServer/LICENSE.txt +18 -0
  198. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/About.txt +4 -0
  199. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +1226 -0
  200. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +8528 -0
  201. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/About.txt +33 -0
  202. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.h +41 -0
  203. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.m +99 -0
  204. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  205. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m +727 -0
  206. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.h +334 -0
  207. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.m +1353 -0
  208. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.h +601 -0
  209. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.m +1083 -0
  210. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.h +167 -0
  211. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.m +1479 -0
  212. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
  213. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
  214. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
  215. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
  216. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/README.txt +7 -0
  217. data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +1 -1
  218. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +2 -2
  219. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +410 -1
  220. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +1 -1
  221. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -1
  222. data/platform/iphone/rbuild/iphone.rake +13 -8
  223. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
  224. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +1 -1
  225. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +1 -1
  226. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  227. data/platform/sailfish/build/{harbour-SailfishRhodes.pro.erb → SailfishRhodes.pro.erb} +10 -17
  228. data/platform/sailfish/build/rhodes.pro.erb +7 -17
  229. data/platform/sailfish/build/rpm/SailfishRhodes.desktop.erb +12 -0
  230. data/platform/sailfish/build/rpm/SailfishRhodes.erb +2 -0
  231. data/platform/sailfish/build/rpm/SailfishRhodes.spec.erb +43 -0
  232. data/platform/sailfish/build/rubylib.pro.erb +29 -29
  233. data/platform/sailfish/build/sailfish.rake +188 -180
  234. data/platform/sailfish/keys/regular_cert.pem +14 -0
  235. data/platform/sailfish/keys/regular_key.pem +4 -0
  236. data/platform/shared/common/RhodesApp.cpp +59 -10
  237. data/platform/shared/common/iphone/RhoCryptImpl.mm +130 -54
  238. data/platform/shared/net/HttpServer.cpp +20 -0
  239. data/platform/shared/qt/RhoSimulator.pro +1 -1
  240. data/platform/shared/qt/rhodes/rhodes.pro +4 -11
  241. data/platform/shared/qt/sailfish/SailfishRhodes.desktop +3 -4
  242. data/platform/shared/qt/sailfish/SailfishRhodes.pro +9 -10
  243. data/platform/shared/qt/sailfish/icons/108x108/108x108.png +0 -0
  244. data/platform/shared/qt/sailfish/privileges/sailfishrhodes +2 -0
  245. data/platform/shared/qt/sailfish/qml/pages/FirstPageWK.qml +7 -11
  246. data/platform/shared/qt/sailfish/qml/{harbour-sailfishrhodes.qml → sailfishrhodes.qml} +1 -1
  247. data/platform/shared/qt/sailfish/rpm/sailfishrhodes.spec +80 -0
  248. data/platform/shared/qt/sailfish/rpm/{harbour-sailfishrhodes.yaml → sailfishrhodes.yaml} +2 -2
  249. data/platform/shared/qt/sailfish/src/QtMainWindow.cpp +1 -1
  250. data/platform/shared/qt/sailfish/src/QtMainWindow.h +1 -1
  251. data/platform/shared/qt/sailfish/src/main.cpp +6 -38
  252. data/platform/shared/qt/sailfish/src/rootdelegate.h +2 -14
  253. data/platform/shared/ruby/aurora/ruby/config.h +386 -0
  254. data/platform/shared/ruby/aurora/ruby/constdefs.c +5866 -0
  255. data/platform/shared/ruby/aurora/ruby/constdefs.h +1788 -0
  256. data/platform/shared/ruby/osx/ruby/config.h +2 -0
  257. data/platform/shared/ruby/win32/win32.c +10 -3
  258. data/platform/shared/sqlite/crypto.c +14 -0
  259. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  260. data/platform/win32/build/rhodes.nsi +3 -3
  261. data/platform/win32/build/win32.rake +1 -1
  262. data/rakefile.rb +55 -43
  263. data/res/build-tools/RhoRuby.exe +0 -0
  264. data/res/build-tools/aapt2/linux/aapt2 +0 -0
  265. data/res/build-tools/aapt2/osx/aapt2 +0 -0
  266. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +4 -4
  267. data/res/generators/templates/application/AndroidManifest.erb +28 -6
  268. data/res/generators/templates/application/build.yml +18 -11
  269. data/res/generators/templates/application/resources/android/res/xml/provider_paths.xml +4 -0
  270. data/res/generators/templates/application/rhoconfig.txt +15 -1
  271. data/res/generators/templates/iphone_project/Bremen8.xcodeproj/project.pbxproj +24 -1
  272. data/res/generators/templates/iphone_project/Classes/SimpleSwiftClass.swift +20 -0
  273. data/res/generators/templates/iphone_project/Classes/rhorunner-Bridging-Header.h +4 -0
  274. data/rhobuild.yml.example +4 -4
  275. data/rhodes.gemspec +4 -3
  276. data/version +1 -1
  277. metadata +157 -57
  278. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/drawable/camera_btn.xml +0 -14
  279. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_land.xml +0 -23
  280. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_port.xml +0 -23
  281. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraActivity.java +0 -156
  282. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +0 -227
  283. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +0 -152
  284. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraPreview.java +0 -183
  285. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java +0 -14
  286. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java +0 -60
  287. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +0 -20
  288. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java +0 -8
  289. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMTokenRefresherService.java +0 -27
  290. data/platform/android/Rhodes/AndroidManifest.xml.erb +0 -89
  291. data/platform/sailfish/build/rho_build.cmd.erb +0 -14
  292. data/platform/sailfish/build/rho_clean.cmd.erb +0 -14
  293. data/platform/sailfish/build/rho_deploy.cmd.erb +0 -15
  294. data/platform/sailfish/build/rho_rpm.cmd.erb +0 -14
  295. data/platform/sailfish/build/rho_rpmvalidation.cmd.erb +0 -14
  296. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.desktop.erb +0 -7
  297. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.erb +0 -2
  298. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.yaml.erb +0 -37
  299. data/platform/shared/qt/sailfish/harbour-sailfishrhodes.desktop +0 -6
  300. data/platform/shared/qt/sailfish/icons/108x108/harbour-sailfishrhodes.png +0 -0
  301. data/platform/shared/qt/sailfish/privileges/harbour-sailfishrhodes +0 -2
  302. data/platform/shared/qt/sailfish/qml/pages/FirstPageWE.qml +0 -236
  303. /data/platform/shared/qt/sailfish/icons/128x128/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  304. /data/platform/shared/qt/sailfish/icons/172x172/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  305. /data/platform/shared/qt/sailfish/icons/86x86/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
@@ -10,14 +10,11 @@ android:
10
10
  exttype: rakefile
11
11
  sdk_addons: ['EMDK']
12
12
  maven_deps:
13
- - 'com.google.android.gms:play-services-vision:9.4.0'
14
- - 'com.android.support:support-v4:25.2.0'
15
- - 'com.android.support:design:25.2.0'
16
- # - 'com.android.support:support-compat:25.2.0'
17
- # - 'com.android.support:support-core-ui:25.2.0'
18
- # - 'com.android.support:support-media-compat:25.2.0'
19
- # - 'com.android.support:support-fragment:25.2.0'
20
- # - 'com.android.support:support-core-utils:25.2.0'
13
+ - 'com.google.android.gms:play-services-vision:20.1.3'
14
+ - 'androidx.core:core:1.5.0'
15
+ - 'androidx.appcompat:appcompat:1.3.0'
16
+ - 'androidx.lifecycle:lifecycle-common:2.3.1'
17
+ - 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
21
18
 
22
19
  sailfish:
23
20
  proerb: ext/platform/qt/Barcode.pro.erb
@@ -7,7 +7,7 @@ equals(QT_MAJOR_VERSION, 5) {
7
7
  equals(QT_MINOR_VERSION, 6): {
8
8
  QT += dbus
9
9
  DEFINES += OS_SAILFISH OS_LINUX
10
- CONFIG += sailfishapp c++14 sailfishapp_i18n
10
+ CONFIG += auroraapp c++14 auroraapp_i18n
11
11
  }
12
12
  greaterThan(QT_MINOR_VERSION, 7): {
13
13
  CONFIG += c++14
@@ -1,6 +1,6 @@
1
1
  QT += core bluetooth gui quick dbus
2
2
  DEFINES += OS_SAILFISH OS_LINUX
3
- CONFIG += sailfishapp c++14 sailfishapp_i18n
3
+ CONFIG += auroraapp c++14 auroraapp_i18n
4
4
 
5
5
  TARGET = bluetooth
6
6
  TEMPLATE = lib
@@ -58,7 +58,7 @@ public:
58
58
  QString getLastError() const{return lastError;}
59
59
  QString getDeviceName(){
60
60
  if (hostInfo.name().isEmpty()){
61
- hostInfo.setName("nemo");
61
+ hostInfo.setName("defaultuser");
62
62
  }
63
63
  return hostInfo.name();
64
64
 
@@ -28,4 +28,10 @@ class System
28
28
  return false if res == 'false'
29
29
  res
30
30
  end
31
+
32
+ def self.clear_start_params
33
+ if Rho::System.platform == 'ANDROID'
34
+ Rho::Intent.cleanStartParameters
35
+ end
36
+ end
31
37
  end
@@ -155,6 +155,10 @@ Notice that this looks very similar to a standard AndroidManifest.XML file secti
155
155
  <METHOD name="stopListening" hasCallback="none" productException="">
156
156
  <DESC>Stop listening for custom intents.</DESC>
157
157
  </METHOD>
158
+ <METHOD name="cleanStartParameters" hasCallback="none" productException="">
159
+ <PLATFORM>Android</PLATFORM>
160
+ <DESC>Stop listening for custom intents.</DESC>
161
+ </METHOD>
158
162
  </METHODS>
159
163
  <REMARKS>
160
164
  <REMARK title="Registering Intent Receiver">
@@ -50,8 +50,6 @@ TARGETLIB_x86 = File.join(TARGETDIR_x86,'libcoreapi.a')
50
50
  TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,'libcoreapi.a')
51
51
  TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,'libcoreapi.a')
52
52
 
53
- V4JAR = File.join(TARGETDIR, 'android-support-v4.jar')
54
-
55
53
  cd '../../..'
56
54
 
57
55
  namespace 'config' do
@@ -123,16 +121,6 @@ end
123
121
  multitask TARGETLIB_AARCH64 => OBJ_AARCH64
124
122
 
125
123
  multitask TARGETLIB_MIPS => OBJ_MIPS
126
- file V4JAR => [TARGETDIR] do
127
- v4jar = Dir.glob(File.join(ENV['ANDROID_SDK'],'extras','android','**','v4','android-support-v4.jar'))
128
-
129
- if v4jar.size != 1
130
- puts "Cannot locate android-support-v4.jar, check Android SDK (#{v4jar})" if v4jar.size != 1
131
- else
132
- v4jar = v4jar.first
133
- cp v4jar, TARGETDIR
134
- end
135
- end
136
124
 
137
125
  namespace 'arch' do
138
126
  task :arm => [TARGETLIB_ARM]
@@ -25,6 +25,7 @@ import com.rhomobile.rhodes.extmanager.IRhoExtManager;
25
25
  import com.rhomobile.rhodes.extmanager.IRhoListener;
26
26
  import com.rhomobile.rhodes.extmanager.RhoExtManager;
27
27
  import com.rhomobile.rhodes.util.ContextFactory;
28
+ import com.rhomobile.rhodes.RhodesApplication;
28
29
 
29
30
  public class IntentSingleton extends AbstractRhoListener implements IIntentSingleton, IIntentFactory, IRhoListener {
30
31
  private static final String TAG = IntentSingleton.class.getSimpleName();
@@ -442,6 +443,11 @@ public class IntentSingleton extends AbstractRhoListener implements IIntentSingl
442
443
  result.set(params);
443
444
  }
444
445
  }
446
+ @Override
447
+ public void cleanStartParameters(IMethodResult result){
448
+ RhodesApplication.setStartParametersApp("");
449
+
450
+ }
445
451
 
446
452
 
447
453
  }
@@ -320,7 +320,9 @@ public class Notification {
320
320
  }
321
321
 
322
322
  builder.setSmallIcon(R.drawable.ic_notification);
323
- builder.setContentIntent(PendingIntent.getActivity(ctx, id, new Intent(ctx, RhodesActivity.class), PendingIntent.FLAG_UPDATE_CURRENT));
323
+
324
+ builder.setContentIntent(PendingIntent.getActivity(ctx, id, new Intent(ctx, RhodesActivity.class),
325
+ /* PendingIntent.FLAG_UPDATE_CURRENT |*/ PendingIntent.FLAG_IMMUTABLE));
324
326
 
325
327
  builder.setDefaults(android.app.Notification.DEFAULT_VIBRATE | android.app.Notification.DEFAULT_SOUND);
326
328
 
@@ -347,7 +349,8 @@ public class Notification {
347
349
  resId = R.drawable.ic_action_cancel;
348
350
  }
349
351
 
350
- builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent, PendingIntent.FLAG_UPDATE_CURRENT));
352
+ builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent,
353
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE));
351
354
  }
352
355
  }
353
356
 
@@ -18,8 +18,8 @@ import com.rhomobile.rhodes.Logger;
18
18
  import android.os.SystemClock;
19
19
 
20
20
  import android.net.Uri;
21
- import android.support.v4.app.NotificationCompat;
22
- import android.support.v4.app.TaskStackBuilder;
21
+ import androidx.core.app.NotificationCompat;
22
+ import androidx.core.app.TaskStackBuilder;
23
23
  import android.media.RingtoneManager;
24
24
  import android.content.SharedPreferences;
25
25
 
@@ -175,7 +175,7 @@ public class NotificationScheduler {
175
175
 
176
176
  Intent new_intent = new Intent(context, cls);
177
177
  PendingIntent pendingIntent = PendingIntent.getBroadcast(context, RHO_NOTIFICATION_CODE, new_intent,
178
- PendingIntent.FLAG_UPDATE_CURRENT);
178
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
179
179
  AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);
180
180
 
181
181
  if (interval < 0) {
@@ -219,7 +219,7 @@ public class NotificationScheduler {
219
219
 
220
220
  Intent new_intent = new Intent(context, cls);
221
221
  PendingIntent pendingIntent = PendingIntent.getBroadcast(context, RHO_NOTIFICATION_CODE, new_intent,
222
- PendingIntent.FLAG_UPDATE_CURRENT);
222
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
223
223
  AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);
224
224
  am.cancel(pendingIntent);
225
225
  pendingIntent.cancel();
@@ -20,7 +20,7 @@ import android.media.AudioManager;
20
20
  import android.media.AudioTrack;
21
21
  import android.media.MediaPlayer;
22
22
  import android.os.Vibrator;
23
- import android.support.v4.app.NotificationCompat;
23
+ import androidx.core.app.NotificationCompat;
24
24
  import android.util.SparseArray;
25
25
  import android.view.Gravity;
26
26
  import android.view.View;
@@ -31,12 +31,12 @@ import java.util.Map;
31
31
  public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
32
32
 
33
33
  private static final String TAG = WebViewSingleton.class.getSimpleName();
34
-
34
+
35
35
  private static final String DISABLE_PAGE_LOADING_INDICATION = "disable_loading_indication";
36
36
  private static final String ENABLE_ZOOM = "enable_screen_zoom";
37
37
  private static final String ENABLE_WEB_PLUGINS = "enable_web_plugins";
38
38
  private static final String ENABLE_CACHE = "WebView.enableCache";
39
- private static final String DISABLE_SCANNER_NAVIGATION = "disable_scanner_during_navigation";
39
+ private static final String DISABLE_SCANNER_NAVIGATION = "disable_scanner_during_navigation";
40
40
  private static final String ENABLE_MEDIA_PLAYBACK_WITHOUT_GESTURE = "enable_media_playback_without_gesture";
41
41
  private WebViewConfig mConfig = new WebViewConfig();
42
42
 
@@ -57,9 +57,9 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
57
57
  originalProxyHost = Proxy.getDefaultHost();
58
58
  originalProxyPort = Proxy.getDefaultPort();
59
59
 
60
- readRhoConfig(extManager.getConfig("rhoconfig"));
60
+ readRhoConfig(extManager.getConfig("rhoconfig"));
61
61
  }
62
-
62
+
63
63
  @Override
64
64
  public void getFramework(IMethodResult result) {
65
65
  result.set(RhodesActivity.safeGetInstance().getMainView().getWebView(-1).getEngineId());
@@ -373,7 +373,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
373
373
  @Override
374
374
  public boolean onWebViewCreated(IRhoExtManager extManager, IRhoWebView ext, boolean res) {
375
375
  Logger.I(TAG, "Set config initially: " + (mConfig != null));
376
- ext.setConfig(mConfig);
376
+ ext.setConfig(mConfig);
377
377
 
378
378
  return res;
379
379
  }
@@ -404,9 +404,9 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
404
404
 
405
405
 
406
406
  if ( haveOriginalProxy ) {
407
- //we have system/rhoelements proxy settings so decide what to do with URL
407
+ //we have system/rhoelements proxy settings so decide what to do with URL
408
408
  if ( isLocalUrl ) {
409
- //local URL, we don't need proxy
409
+ //local URL, we don't need proxy
410
410
  dropProxySettings();
411
411
  } else {
412
412
  //set original proxy setting
@@ -426,7 +426,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
426
426
 
427
427
  if ( haveOriginalProxy ) {
428
428
  Logger.I( TAG, "Restoring proxy settings: " + originalProxyHost + ":" + String.valueOf(originalProxyPort) );
429
- ProxySettings.setProxy(ContextFactory.getAppContext(),originalProxyHost,originalProxyPort);
429
+ ProxySettings.setProxy(ContextFactory.getAppContext(),originalProxyHost,originalProxyPort);
430
430
  }
431
431
  }
432
432
 
@@ -485,6 +485,19 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
485
485
  return res;
486
486
  }
487
487
 
488
+ @Override
489
+ public boolean onGoBack(IRhoExtManager extManager, String current_url, String back_url, IRhoWebView ext, boolean res) {
490
+ // TODO Auto-generated method stub
491
+ return false;
492
+ }
493
+
494
+ @Override
495
+ public boolean onGoForward(IRhoExtManager extManager, String current_url, String forward_url, IRhoWebView ext, boolean res) {
496
+ // TODO Auto-generated method stub
497
+ return false;
498
+ }
499
+
500
+
488
501
  @Override
489
502
  public boolean onAlert(IRhoExtManager extManager, String message, IRhoWebView ext, IAlertResult alertResult, boolean res) {
490
503
  return res;
@@ -561,23 +574,23 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
561
574
  @Override
562
575
  public boolean onNewConfig(IRhoExtManager extManager, IRhoConfig config, String name, boolean res) {
563
576
 
564
- if(name.equalsIgnoreCase("rhoelementsext")) {
577
+ /*if(name.equalsIgnoreCase("rhoelementsext")) {
565
578
  readRhoelementsConfig(config);
566
- RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandler(true) {
567
- @Override public void run() {
579
+ RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandlerInUIThread(true) {
580
+ @Override public void runInUI() {
568
581
  MainView mainView = RhodesActivity.safeGetInstance().getMainView();
569
582
  for (int i = 0; i < mainView.getTabsCount(); ++i) {
570
583
  Logger.T(TAG, "Set WebView config: tab " + i);
571
584
  mainView.getWebView(i).setConfig(mConfig);
572
585
  }
573
586
  }});
574
- } else
587
+ } else*/
575
588
  if (name.equalsIgnoreCase("rhoconfig")) {
576
-
589
+
577
590
  readRhoConfig(config);
578
591
 
579
- RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandler(true) {
580
- @Override public void run() {
592
+ RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandlerInUIThread(true) {
593
+ @Override public void runInUI() {
581
594
  MainView mainView = RhodesActivity.safeGetInstance().getMainView();
582
595
  for (int i = 0; i < mainView.getTabsCount(); ++i) {
583
596
  Logger.T(TAG, "Set WebView config: tab " + i);
@@ -593,7 +606,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
593
606
  public String onGetProperty(IRhoExtManager extManager, String name) {
594
607
  return null;
595
608
  }
596
-
609
+
597
610
  private void readRhoelementsConfig(IRhoConfig config) {
598
611
  if (config.isExist("enablezoom")) {
599
612
  // mConfig.set(WebViewConfig.ENABLE_ZOOM, config.getBool("enable_screen_zoom", WebViewConfig.ENABLE_ZOOM_DEF));
@@ -605,7 +618,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
605
618
  double zoomValue = config.getDouble("pagezoom");
606
619
  mConfig.set(WebViewConfig.PAGE_ZOOM, zoomValue);
607
620
  }
608
-
621
+
609
622
  if (config.isExist("cache")) {
610
623
  String cache = config.getString("cache");
611
624
  cache=cache.toLowerCase();
@@ -614,17 +627,17 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
614
627
  if(endString==-1)
615
628
  endString=cache.indexOf("kb");
616
629
  int cacheInt =Integer.parseInt(cache.substring(0,endString ).toString());
617
-
630
+
618
631
  mConfig.set(WebViewConfig.ENABLE_CACHE, cacheInt!=0);
619
632
  }
620
-
633
+
621
634
  if(config.isExist("splashscreenpath")){
622
635
  String splashscreenpathValue = config.getString("splashscreenpath");
623
636
  if(splashscreenpathValue != null){
624
637
  mConfig.set(WebViewConfig.SETTING_SPLASHSCREEN_PATH, splashscreenpathValue);
625
638
  }
626
639
  }
627
-
640
+
628
641
  if(config.isExist("splashscreenduration")){
629
642
  String splashscreendurationValue = config.getString("splashscreenduration");
630
643
  if(splashscreendurationValue != null){
@@ -643,7 +656,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
643
656
 
644
657
  originalProxyHost = hostURL;
645
658
  originalProxyPort = port;
646
-
659
+
647
660
  ProxySettings.setProxy(RhodesActivity.getContext(),hostURL,port);
648
661
  }
649
662
  }
@@ -653,14 +666,14 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
653
666
  if(httpsProxy.length()!=0){
654
667
  int index = httpsProxy.lastIndexOf(":");
655
668
  if(index > -1)
656
- {
669
+ {
657
670
  String portNumber = httpsProxy.substring(index + 1, httpsProxy.length());
658
671
  String hostURL = httpsProxy.substring(0, index);
659
672
  int port = Integer.parseInt(portNumber);
660
673
 
661
674
  originalProxyHost = hostURL;
662
675
  originalProxyPort = port;
663
-
676
+
664
677
  ProxySettings.setProxy(RhodesActivity.getContext(),hostURL,port);
665
678
  }
666
679
  }
@@ -692,7 +705,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
692
705
  }
693
706
  }
694
707
  }
695
-
708
+
696
709
  if(config.isExist("usedwforscanning")){
697
710
  String _usedwforscanning = config.getString("usedwforscanning");
698
711
  if(_usedwforscanning != null){
@@ -708,12 +721,12 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
708
721
  mConfig.set(WebViewConfig.ENABLE_MEDIA_PLAYBACK_WITHOUT_GESTURE, false);
709
722
  }
710
723
  }
711
-
724
+
712
725
  private void readRhoConfig(IRhoConfig config) {
713
726
  if (RhoConf.isExist(DISABLE_PAGE_LOADING_INDICATION))
714
727
  mConfig.set(WebViewConfig.ENABLE_PAGE_LOADING_INDICATION, !RhoConf.getBool(DISABLE_PAGE_LOADING_INDICATION));
715
728
 
716
-
729
+
717
730
  if (RhoConf.isExist(ENABLE_ZOOM))
718
731
  mConfig.set(WebViewConfig.ENABLE_ZOOM, RhoConf.getBool(ENABLE_ZOOM));
719
732
 
@@ -722,7 +735,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
722
735
 
723
736
  if (RhoConf.isExist(ENABLE_CACHE))
724
737
  mConfig.set(WebViewConfig.ENABLE_CACHE, RhoConf.getBool(ENABLE_CACHE));
725
-
738
+
726
739
  if (RhoConf.isExist(DISABLE_SCANNER_NAVIGATION))
727
740
  mConfig.set(WebViewConfig.DISABLE_SCANNER_ON_NAVIGATION, RhoConf.getString(DISABLE_SCANNER_NAVIGATION));
728
741
  if (RhoConf.isExist("iswindowskey"))
@@ -17,6 +17,8 @@
17
17
  #include "unzip/zip.h"
18
18
  #include "db/DBAdapter.h"
19
19
 
20
+ #import "../impl/NotificationSingleton.h"
21
+
20
22
 
21
23
  #undef DEFAULT_LOGCATEGORY
22
24
  #define DEFAULT_LOGCATEGORY "System"
@@ -438,13 +440,10 @@ extern "C" void Init_System()
438
440
  {
439
441
  rho::CSystemFactoryBase::setInstance( new rho::CSystemImplIphoneAccessFactory() );
440
442
  Init_System_API();
441
-
443
+
444
+ [NotificationSingleton init_notification_object];
445
+
442
446
  #ifndef RHO_NO_RUBY_API
443
447
  RHODESAPP().getExtManager().requireRubyFile("RhoSystemApi");
444
448
  #endif
445
449
  }
446
-
447
-
448
-
449
-
450
-
@@ -5,7 +5,7 @@
5
5
  @interface Intent : IntentBase<IIntent> {
6
6
  }
7
7
 
8
-
8
+ -(void) cleanStartParameters:(id<IMethodResult>)methodResult;
9
9
 
10
10
 
11
11
  @end
@@ -6,7 +6,9 @@
6
6
 
7
7
 
8
8
 
9
-
9
+ -(void) cleanStartParameters:(id<IMethodResult>)methodResult{
10
+
11
+ }
10
12
 
11
13
 
12
14
  @end
@@ -18,7 +18,8 @@
18
18
  -(void) vibrate:(int)duration methodResult:(id<IMethodResult>)methodResult;
19
19
  -(void) setScheduler:(NSDictionary*)propertyMap methodResult:(id<IMethodResult>)methodResult;
20
20
 
21
+ +(void) init_notification_object;
21
22
 
22
23
 
24
+ @end
23
25
 
24
- @end
@@ -9,6 +9,7 @@
9
9
 
10
10
  #include "common/RhodesApp.h"
11
11
  #include "logging/RhoLog.h"
12
+ #import "common/RhoConf.h"
12
13
 
13
14
  #undef DEFAULT_LOGCATEGORY
14
15
  #define DEFAULT_LOGCATEGORY "Alert"
@@ -510,4 +511,13 @@ static NotificationReminder* reminder = nil;
510
511
  [Rhodes performOnUiThread:runnable wait:NO];
511
512
  }
512
513
 
514
+
515
+ +(void) init_notification_object {
516
+ if (rho_conf_is_property_exists("ios_request_notification_permission_on_start")!=0) {
517
+ if (rho_conf_getBool("ios_request_notification_permission_on_start")!=0 ) {
518
+ NotificationReminder* rem = [NotificationReminder instance];
519
+ }
520
+ }
521
+ }
522
+
513
523
  @end
@@ -40,6 +40,9 @@ namespace rho {
40
40
  virtual void stopListening(apiGenerator::CMethodResult& oResult) {
41
41
  stopApplicationMessageNotifications(oResult);
42
42
  }
43
+ virtual void cleanStartParameters(rho::apiGenerator::CMethodResult& oResult){
44
+
45
+ }
43
46
 
44
47
  private:
45
48
  void sendApplicationMessage(const String& appName, const String& params, apiGenerator::CMethodResult& oResult) {
@@ -15,8 +15,11 @@ For FCM:
15
15
  :::ruby
16
16
  capabilities: ["push"]
17
17
  extensions: ["fcm-push"]
18
- fcmSenderID: 'your_fcm_sender_id'
19
- fcmAppID: 'your_fcm_app_id'
18
+ fcm:
19
+ mobilesdk_app_id: "mobilesdk_app_id from google-services.json"
20
+ project_number: "project_number from google-services.json"
21
+ current_key: "current_key from google-services.json"
22
+ project_id: "project_id from google-services.json"
20
23
 
21
24
  **Supporting FCM Push on iOS** Download GoogleService-Info.plist and put it into the root of your application. Please read guide [Add Firebase to your iOS project](https://firebase.google.com/docs/ios/setup) for more details.
22
25
 
@@ -170,6 +170,19 @@ void CSystemImplBase::setLocalServerPort( int value, CMethodResult& oResult)
170
170
  //Local port can be set only in confuguration file
171
171
  }
172
172
 
173
+
174
+ void CSystemImplBase::getRubyLocalServerURL(CMethodResult& oResult)
175
+ {
176
+ oResult.set( RHODESAPP().getRubyHomeURL() );
177
+ }
178
+
179
+ void CSystemImplBase::setRubyLocalServerURL( const rho::String& value, CMethodResult& oResult)
180
+ {
181
+ //Local port can be set only in confuguration file
182
+ }
183
+
184
+
185
+
173
186
  void CSystemImplBase::getNodejsServerPort(CMethodResult& oResult)
174
187
  {
175
188
  oResult.set( atoi(RHODESAPP().getNodeJSListeningPort()) );
@@ -19,6 +19,8 @@ public:
19
19
  virtual void getIsSymbolDevice(CMethodResult& oResult);
20
20
  virtual void getLocalServerPort(CMethodResult& oResult);
21
21
  virtual void setLocalServerPort( int value, CMethodResult& oResult);
22
+ virtual void getRubyLocalServerURL(CMethodResult& oResult);
23
+ virtual void setRubyLocalServerURL( const rho::String& value, CMethodResult& oResult);
22
24
  virtual void getNodejsServerPort(CMethodResult& oResult);
23
25
  virtual void setNodejsServerPort( int value, CMethodResult& oResult);
24
26
  virtual void getFreeServerPort(rho::apiGenerator::CMethodResult& oResult);
@@ -174,6 +174,9 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
174
174
  <PROPERTY name="localServerPort" type="INTEGER" default="8080" readOnly="true">
175
175
  <DESC>Port of the local (embedded) HTTP server. This parameter is mainly for debug purposes. If not specified, the platform will detect a free port on the device and use that one.</DESC>
176
176
  </PROPERTY>
177
+ <PROPERTY name="RubyLocalServerURL" type="STRING" readOnly="true">
178
+ <DESC>Local server full URL prefix://ip:port</DESC>
179
+ </PROPERTY>
177
180
  <PROPERTY name="NodejsServerPort" type="INTEGER" default="3000" readOnly="true">
178
181
  <DESC>Port of the local (embedded) Node.js HTTP server if it started (only for Node.js type applications).</DESC>
179
182
  </PROPERTY>
@@ -219,11 +219,6 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
219
219
  <PLATFORM>WM, CE</PLATFORM>
220
220
  <DESC>In cases where the resident camera application on the device is not used this API is used to control the position of the viewfinder preview window when taking a photo.</DESC>
221
221
  </PROPERTY>
222
- <PROPERTY name="useSystemViewfinder" type="BOOLEAN" default="true">
223
- <VER_INTRODUCED>4.0.0</VER_INTRODUCED>
224
- <PLATFORM>Android</PLATFORM>
225
- <DESC>Setting the value of this property to "true", shall open the System ViewFinder with its properties. Applicable to takePicture() and choosePicture() both. None of the Rho camera properties shall be applicable except desiredWidth and desiredHeight (desired size aplly if useRealBitmapResize enabled).</DESC>
226
- </PROPERTY>
227
222
  <PROPERTY name="useRealBitmapResize" type="BOOLEAN" default="true">
228
223
  <VER_INTRODUCED>4.0.0</VER_INTRODUCED>
229
224
  <PLATFORM>Android</PLATFORM>
@@ -322,15 +317,15 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
322
317
  <DESC>If the specified 'outputFormat' was 'image' then this field is the URI to the taken image stored on the device.On wp8,wm when 'outputFormat' is 'image' then imageUri shall have only Image name with \ sign, on WP8 ImageName shall be suffixed by DTF when 'outputFormat' is 'image', this image will have an auto-generated name. If the specified 'outputFormat' was 'dataUri' then this field will be the image encoded as a Data URI, In Wp8 dataUri shall provide the thumbnail for the picture taken, It is recommended to use Image over dataUri. If the specified 'outputFormat' was 'imagePath' then this field will have the image path on the device. User can use image path to transfer image over http. </DESC>
323
318
  </PARAM>
324
319
  <PARAM name="image_height" type="INTEGER" deprecated="true">
325
- <PLATFORM>Android, WM, CE, iOS, WP8</PLATFORM>
320
+ <PLATFORM>WM, CE, iOS, WP8</PLATFORM>
326
321
  <DESC>It is recommended to use imageHeight in preference to this parameter.</DESC>
327
322
  </PARAM>
328
323
  <PARAM name="image_width" type="INTEGER" deprecated="true">
329
- <PLATFORM>Android, WM, CE, iOS, UWP</PLATFORM>
324
+ <PLATFORM>WM, CE, iOS, UWP</PLATFORM>
330
325
  <DESC>It is recommended to use imageWidth in preference to this parameter.</DESC>
331
326
  </PARAM>
332
327
  <PARAM name="image_format" type="STRING" deprecated="true">
333
- <PLATFORM>Android, WM, CE, iOS</PLATFORM>
328
+ <PLATFORM>WM, CE, iOS</PLATFORM>
334
329
  <DESC>It is recommended to use imageFormat in preference to this parameter.</DESC>
335
330
  </PARAM>
336
331
  </PARAMS>
@@ -384,7 +379,7 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
384
379
  <PARAM name="propertyMap" type="HASH" propertyHash="true">
385
380
  <PLATFORM>Android, WM, CE, UWP, iOS</PLATFORM>
386
381
  <DESC>
387
- Provide a set of properties to configure an image, for example to specify the image size or color mode. In WM/CE,Android and WP8 devices user can only specify the outputFormat in the property bag. In iOS devices user can specify next options: compressionFormat, desiredWidth, desiredHeight, outputFormat, colorModel, enableEditing.
382
+ Provide a set of properties to configure an image, for example to specify the image size or color mode. In WM/CE,Android and WP8 devices user can only specify the outputFormat in the property bag. In iOS devices user can specify next options: compressionFormat, desiredWidth, desiredHeight, outputFormat, colorModel, enableEditing.
388
383
  In UWP dataUri shall provide the thumbnail for the picture taken, It is recommended to use Image over dataUri.On wp8, wm when 'outputFormat' is 'image' then imageUri or image_uri shall have Image name with \ sign, on WP8 ImageName shall be suffixed by DTF when 'outputFormat' is 'image'</DESC>
389
384
  <CAN_BE_NIL>
390
385
  <DESC>Not providing properties to this function will use the Camera's default properties, or those previously set on the Camera instance.</DESC>
@@ -1,2 +1,2 @@
1
- <activity android:name="com.rho.camera.CameraActivity"/>
2
- <service android:name="com.rho.camera.OrientationListnerService"/>
1
+ <activity android:name="com.rho.camera.CameraActivity" android:exported='false'/>
2
+ <service android:name="com.rho.camera.OrientationListnerService" android:exported='false'/>
@@ -1,5 +1,5 @@
1
1
  <provider
2
- android:name="android.support.v4.content.FileProvider"
2
+ android:name="com.rho.mediacapture.RhoCameraFileProvider"
3
3
  android:authorities="<%= @appPackageName %>.fileprovider"
4
4
  android:exported="false"
5
5
  android:grantUriPermissions="true">
@@ -1,21 +1,14 @@
1
1
  ext/platform/android/src/com/rho/mediacapture/RhoListener.java
2
+ ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java
2
3
  ext/platform/android/generated/src/com/rho/camera/ICamera.java
3
4
  ext/platform/android/generated/src/com/rho/camera/ICameraSingleton.java
4
5
  ext/platform/android/generated/src/com/rho/camera/ICameraFactory.java
5
6
  ext/platform/android/generated/src/com/rho/camera/CameraBase.java
6
7
  ext/platform/android/generated/src/com/rho/camera/CameraSingletonBase.java
7
8
  ext/platform/android/generated/src/com/rho/camera/CameraFactorySingleton.java
8
- ext/platform/android/src/com/rho/camera/CameraActivity.java
9
9
  ext/platform/android/src/com/rho/camera/OrientationListnerService.java
10
- ext/platform/android/src/com/rho/camera/CameraPreview.java
11
- ext/platform/android/src/com/rho/camera/ICameraObject.java
12
- ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java
13
10
  ext/platform/android/src/com/rho/camera/CameraObject.java
14
- ext/platform/android/src/com/rho/camera/CameraEclair.java
15
- ext/platform/android/src/com/rho/camera/CameraGingerbread.java
16
- ext/platform/android/src/com/rho/camera/CameraSingletonObject.java
17
- ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java
18
- ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java
11
+ ext/platform/android/src/com/rho/camera/CameraSingleton.java
19
12
  ext/platform/android/src/com/rho/camera/CameraFactory.java
20
13
  ext/platform/android/src/com/rho/camera/CameraExtension.java
21
14
  ext/platform/android/src/com/rho/camera/CameraRhoListener.java
@@ -8,8 +8,6 @@ public class CameraExtension extends AbstractRhoExtension implements IRhoExtensi
8
8
 
9
9
  private static final String TAG = CameraExtension.class.getSimpleName();
10
10
 
11
- static final String INTENT_EXTRA_PREFIX = "com.rho.camera.";
12
-
13
11
  @Override
14
12
  public String onGetProperty(IRhoExtManager extManager, String name) {
15
13
  if (name.equalsIgnoreCase("has_camera")) {