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
@@ -73,6 +73,13 @@ bool rho_wmimpl_is_browser_ieforwm();
73
73
  void rho_file_set_fs_mode(int mode);
74
74
  #endif
75
75
 
76
+ #ifdef OS_MACOSX
77
+ #ifndef RHODES_EMULATOR
78
+ void rho_cocoa_server_init();
79
+ void rho_cocoa_server_start();
80
+ #endif
81
+ #endif
82
+
76
83
  }
77
84
 
78
85
  // Copy-paste from ApplicationBase.cpp
@@ -196,10 +203,14 @@ void CAppCallbacksQueue::callCallback(const String& strCallback)
196
203
  strUrl += strCallback;
197
204
 
198
205
  boolean force_https = false;
206
+ boolean force_custom_protocol = false;
199
207
  #ifdef OS_MACOSX
200
208
  if (rho_conf_is_property_exists("ios_https_local_server")!=0) {
201
209
  force_https = rho_conf_getBool("ios_https_local_server")!=0;
202
210
  }
211
+ if (rho_conf_is_property_exists("ios_direct_local_requests_with_custom_protocol")!=0) {
212
+ force_custom_protocol = rho_conf_getBool("ios_direct_local_requests_with_custom_protocol")!=0;
213
+ }
203
214
  #endif
204
215
 
205
216
  NetResponse resp = getNetRequest().pullData( strUrl, NULL );
@@ -215,13 +226,19 @@ void CAppCallbacksQueue::callCallback(const String& strCallback)
215
226
  #else
216
227
  String addr_number;
217
228
  String addr_local;
218
- if (force_https) {
219
- addr_number = "https";
220
- addr_local = "https";
229
+ if (force_custom_protocol) {
230
+ addr_number = "rhoctp";
231
+ addr_local = "rhoctp";
221
232
  }
222
233
  else {
223
- addr_number = "http";
224
- addr_local = "http";
234
+ if (force_https) {
235
+ addr_number = "https";
236
+ addr_local = "https";
237
+ }
238
+ else {
239
+ addr_number = "http";
240
+ addr_local = "http";
241
+ }
225
242
  }
226
243
  addr_number = addr_number + "://127.0.0.1:";
227
244
  addr_local = addr_local + "://localhost:";
@@ -561,14 +578,31 @@ void CRhodesApp::run()
561
578
 
562
579
  #ifdef OS_MACOSX
563
580
  bool shouldRunDirectQueue = false;
581
+ bool shouldUseCocoaServer = true;
582
+
564
583
  net::CDirectHttpRequestQueue directQueue(*m_httpServer, *this );
565
584
 
566
585
  if (RHOCONF().isExist("ios_direct_local_requests")) {
567
586
  shouldRunDirectQueue = RHOCONF().getBool("ios_direct_local_requests");
568
587
  }
588
+ if (RHOCONF().isExist("ios_direct_local_requests_with_custom_protocol")) {
589
+ shouldRunDirectQueue = shouldRunDirectQueue || RHOCONF().getBool("ios_direct_local_requests_with_custom_protocol");
590
+
591
+ }
592
+ if (RHOCONF().isExist("ios_use_old_legacy_socket")) {
593
+ shouldUseCocoaServer = !RHOCONF().getBool("ios_use_old_legacy_socket");
594
+ }
569
595
  #ifdef RHODES_EMULATOR
570
596
  shouldRunDirectQueue = false;
597
+ shouldUseCocoaServer = false;
571
598
  #endif
599
+
600
+ if ((shouldUseCocoaServer) && (!shouldRunDirectQueue)) {
601
+ #ifndef RHODES_EMULATOR
602
+ rho_cocoa_server_init();
603
+ #endif
604
+ }
605
+
572
606
  #endif
573
607
 
574
608
 
@@ -576,8 +610,13 @@ void CRhodesApp::run()
576
610
  if(!m_isJSFSApp)
577
611
  {
578
612
  #ifdef OS_MACOSX
579
- if ( shouldRunDirectQueue )
613
+ if ( shouldRunDirectQueue || shouldUseCocoaServer)
580
614
  {
615
+ if ((shouldUseCocoaServer) && (!shouldRunDirectQueue)) {
616
+ #ifndef RHODES_EMULATOR
617
+ rho_cocoa_server_start();
618
+ #endif
619
+ }
581
620
  directQueue.run();
582
621
  }
583
622
  else
@@ -1807,10 +1846,14 @@ void CRhodesApp::initAppUrls()
1807
1846
  #endif
1808
1847
 
1809
1848
  boolean force_https = false;
1849
+ boolean force_custom_protocol = false;
1810
1850
  #ifdef OS_MACOSX
1811
1851
  if (rho_conf_is_property_exists("ios_https_local_server")!=0) {
1812
1852
  force_https = rho_conf_getBool("ios_https_local_server")!=0;
1813
1853
  }
1854
+ if (rho_conf_is_property_exists("ios_direct_local_requests_with_custom_protocol")!=0) {
1855
+ force_custom_protocol = rho_conf_getBool("ios_direct_local_requests_with_custom_protocol")!=0;
1856
+ }
1814
1857
  #endif
1815
1858
 
1816
1859
  #ifdef OS_ANDROID
@@ -1818,12 +1861,18 @@ void CRhodesApp::initAppUrls()
1818
1861
  force_https = value && strcmp(value, "1") == 0;
1819
1862
  #endif
1820
1863
 
1821
- if (force_https) {
1822
- m_strHomeUrl = "https://127.0.0.1:";
1864
+ if (force_custom_protocol) {
1865
+ m_strHomeUrl = "rhoctp://127.0.0.1:";
1823
1866
  }
1824
1867
  else {
1825
- m_strHomeUrl = "http";
1826
- m_strHomeUrl = m_strHomeUrl + "://127.0.0.1:";
1868
+
1869
+ if (force_https) {
1870
+ m_strHomeUrl = "https://127.0.0.1:";
1871
+ }
1872
+ else {
1873
+ m_strHomeUrl = "http";
1874
+ m_strHomeUrl = m_strHomeUrl + "://127.0.0.1:";
1875
+ }
1827
1876
  }
1828
1877
 
1829
1878
  m_strRubyServerHomeURL = m_strHomeUrl+getFreeListeningPort();
@@ -32,6 +32,14 @@
32
32
  #import <CommonCrypto/CommonDigest.h>
33
33
  #import <CommonCrypto/CommonCryptor.h>
34
34
 
35
+ #include "common/app_build_capabilities.h"
36
+
37
+
38
+ #ifdef APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM
39
+ #import <rhoappbaselib-Swift.h>
40
+ RhoCryptAESGCM* swift_aes_gcm = nil;
41
+ #endif
42
+
35
43
  #define kChosenCipherBlockSize kCCBlockSizeAES128
36
44
  #define kChosenCipherKeySize kCCKeySizeAES256
37
45
  #define kChosenDigestLength CC_SHA1_DIGEST_LENGTH
@@ -59,6 +67,18 @@ CRhoCryptImpl::CRhoCryptImpl(void) : m_dbKeyData(NULL)
59
67
  {
60
68
  m_dwLastError = 0;
61
69
  currentKeySize = kCCKeySizeAES256;
70
+
71
+
72
+
73
+ #ifdef APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM
74
+ swift_aes_gcm = [[RhoCryptAESGCM alloc] init];
75
+ #endif
76
+
77
+ //[swift_aes_gcm run_crypto_test];
78
+ //NSData* key_data = [swift_aes_gcm generate_new_key];
79
+ //NSString* str = [key_data base64EncodedStringWithOptions:0];;
80
+ //RAWLOG_INFO1("CALL SWIFT Object RESULT = [%s]", [str UTF8String]);
81
+ //int o = 9;
62
82
  }
63
83
 
64
84
  CRhoCryptImpl::~CRhoCryptImpl(void)
@@ -586,23 +606,41 @@ void CRhoCryptImpl::readKeyFromStorage() {
586
606
 
587
607
  void CRhoCryptImpl::generateNewKey()
588
608
  {
589
- RAWLOG_INFO1("CRhoCryptImpl::generateNewKey() currentKeySize = %d", (int)currentKeySize);
590
609
 
591
- OSStatus sanityCheck = noErr;
592
- uint8_t * symmetricKey = NULL;
593
-
594
- // Allocate some buffer space. I don't trust calloc.
595
- symmetricKey = (uint8_t *)malloc( currentKeySize * sizeof(uint8_t) );
596
- memset((void *)symmetricKey, 0x0, currentKeySize);
597
-
598
- sanityCheck = SecRandomCopyBytes(kSecRandomDefault, currentKeySize, symmetricKey);
599
- if ( sanityCheck != noErr )
600
- {
601
- free(symmetricKey);
602
- LOG(ERROR) + "Problem generating the key, OSStatus: " + sanityCheck + "; errno: " + errno;
603
- }
604
- else
605
- m_dbKeyData = symmetricKey;
610
+ #ifdef APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM
611
+
612
+ if ([swift_aes_gcm is_aes_gcm_available]) {
613
+
614
+
615
+ NSData* key_data = [swift_aes_gcm generate_new_key];
616
+ uint8_t * symmetricKey = NULL;
617
+ symmetricKey = (uint8_t *)malloc( currentKeySize * sizeof(uint8_t) );
618
+
619
+ memcpy(symmetricKey, [key_data bytes], currentKeySize);
620
+
621
+ m_dbKeyData = symmetricKey;
622
+ }
623
+ else
624
+ #endif
625
+ {
626
+ RAWLOG_INFO1("CRhoCryptImpl::generateNewKey() currentKeySize = %d", (int)currentKeySize);
627
+
628
+ OSStatus sanityCheck = noErr;
629
+ uint8_t * symmetricKey = NULL;
630
+
631
+ // Allocate some buffer space. I don't trust calloc.
632
+ symmetricKey = (uint8_t *)malloc( currentKeySize * sizeof(uint8_t) );
633
+ memset((void *)symmetricKey, 0x0, currentKeySize);
634
+
635
+ sanityCheck = SecRandomCopyBytes(kSecRandomDefault, currentKeySize, symmetricKey);
636
+ if ( sanityCheck != noErr )
637
+ {
638
+ free(symmetricKey);
639
+ LOG(ERROR) + "Problem generating the key, OSStatus: " + sanityCheck + "; errno: " + errno;
640
+ }
641
+ else
642
+ m_dbKeyData = symmetricKey;
643
+ }
606
644
  }
607
645
 
608
646
  void CRhoCryptImpl::initContext(const char* szPartition)
@@ -661,50 +699,88 @@ int CRhoCryptImpl::db_encrypt( const char* szPartition, int size, unsigned char*
661
699
  {
662
700
  initContext(szPartition);
663
701
 
664
- // Initialization vector; dummy in this case 0's.
665
- uint8_t iv[kChosenCipherBlockSize];
666
- memset((void *) iv, 0x0, (size_t) sizeof(iv));
667
-
668
- size_t movedBytes = 0;
669
-
670
- checkError( CCCrypt( kCCEncrypt, kCCAlgorithmAES,
671
- 0, //kCCOptionPKCS7Padding
672
- (const void *)m_dbKeyData,
673
- currentKeySize,
674
- iv,
675
- (const void *) data,
676
- size,
677
- (void *)dataOut,
678
- size,
679
- &movedBytes
680
- ) );
681
-
682
- return getErrorCode() == 0 ? 1 : 0;
702
+ #ifdef APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM
703
+ if ([swift_aes_gcm is_aes_gcm_available]) {
704
+ NSData* page = [NSData dataWithBytes:(const void *)data length:sizeof(unsigned char)*size];
705
+ NSData* key = [NSData dataWithBytes:(const void *)m_dbKeyData length:sizeof(unsigned char)*currentKeySize];
706
+
707
+ NSData* encrypted = [swift_aes_gcm encrypt_page:page :key];
708
+ if (encrypted == nil) {
709
+ return 0;
710
+ }
711
+
712
+ memcpy(dataOut, [encrypted bytes], size);
713
+
714
+ return 1;
715
+ }
716
+ else
717
+ #endif
718
+ {
719
+ // Initialization vector; dummy in this case 0's.
720
+ uint8_t iv[kChosenCipherBlockSize];
721
+ memset((void *) iv, 0x0, (size_t) sizeof(iv));
722
+
723
+ size_t movedBytes = 0;
724
+
725
+ checkError( CCCrypt( kCCEncrypt, kCCAlgorithmAES,
726
+ 0, //kCCOptionPKCS7Padding
727
+ (const void *)m_dbKeyData,
728
+ currentKeySize,
729
+ iv,
730
+ (const void *) data,
731
+ size,
732
+ (void *)dataOut,
733
+ size,
734
+ &movedBytes
735
+ ) );
736
+
737
+ return getErrorCode() == 0 ? 1 : 0;
738
+ }
683
739
  }
684
740
 
685
741
  int CRhoCryptImpl::db_decrypt( const char* szPartition, int size, unsigned char* data )
686
742
  {
687
743
  initContext(szPartition);
688
744
 
689
- // Initialization vector; dummy in this case 0's.
690
- uint8_t iv[kChosenCipherBlockSize];
691
- memset((void *) iv, 0x0, (size_t) sizeof(iv));
692
-
693
- size_t movedBytes = 0;
694
-
695
- checkError( CCCrypt( kCCDecrypt, kCCAlgorithmAES,
696
- 0, //kCCOptionPKCS7Padding
697
- (const void *)m_dbKeyData,
698
- currentKeySize,
699
- iv,
700
- (const void *) data,
701
- size,
702
- (void *)data,
703
- size,
704
- &movedBytes
705
- ) );
706
-
707
- return getErrorCode() == 0 ? 1 : 0;
745
+
746
+ #ifdef APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM
747
+
748
+ if ([swift_aes_gcm is_aes_gcm_available]) {
749
+ NSData* page = [NSData dataWithBytes:(const void *)data length:sizeof(unsigned char)*size];
750
+ NSData* key = [NSData dataWithBytes:(const void *)m_dbKeyData length:sizeof(unsigned char)*currentKeySize];
751
+
752
+ NSData* decrypted = [swift_aes_gcm decrypt_page:page :key];
753
+ if (decrypted == nil) {
754
+ return 0;
755
+ }
756
+
757
+ memcpy(data, [decrypted bytes], size);
758
+
759
+ return 1;
760
+ }
761
+ else
762
+ #endif
763
+ {
764
+ // Initialization vector; dummy in this case 0's.
765
+ uint8_t iv[kChosenCipherBlockSize];
766
+ memset((void *) iv, 0x0, (size_t) sizeof(iv));
767
+
768
+ size_t movedBytes = 0;
769
+
770
+ checkError( CCCrypt( kCCDecrypt, kCCAlgorithmAES,
771
+ 0, //kCCOptionPKCS7Padding
772
+ (const void *)m_dbKeyData,
773
+ currentKeySize,
774
+ iv,
775
+ (const void *) data,
776
+ size,
777
+ (void *)data,
778
+ size,
779
+ &movedBytes
780
+ ) );
781
+
782
+ return getErrorCode() == 0 ? 1 : 0;
783
+ }
708
784
  }
709
785
 
710
786
  int CRhoCryptImpl::set_db_CryptKey( const char* szPartition, const char* szKey, bool bPersistent )
@@ -95,6 +95,19 @@ typedef unsigned __int16 uint16_t;
95
95
 
96
96
  #endif
97
97
 
98
+
99
+
100
+ #ifdef OS_MACOSX
101
+ #ifndef RHODES_EMULATOR
102
+
103
+ extern "C" {
104
+ void rho_cocoa_server_stop();
105
+ }
106
+
107
+ #endif
108
+ #endif
109
+
110
+
98
111
  #undef DEFAULT_LOGCATEGORY
99
112
  #define DEFAULT_LOGCATEGORY "HttpServer"
100
113
 
@@ -511,6 +524,13 @@ void CHttpServer::close_listener()
511
524
 
512
525
  void CHttpServer::stop()
513
526
  {
527
+
528
+ #ifdef OS_MACOSX
529
+ #ifndef RHODES_EMULATOR
530
+ rho_cocoa_server_stop();
531
+ #endif
532
+ #endif
533
+
514
534
  // WARNING!!! It is not enough to just close listener on Android
515
535
  // to stop server. By unknown reason accept does not unblock if
516
536
  // it was closed in another thread. However, on iPhone it works
@@ -37,7 +37,7 @@ unix:!macx {
37
37
  }
38
38
  macx {
39
39
  SUBDIRS += curl
40
- QMAKE_MAC_SDK = macosx10.13
40
+ QMAKE_MAC_SDK = macosx12.1
41
41
  }
42
42
 
43
43
  win32{
@@ -10,19 +10,12 @@ isEqual(QT_MAJOR_VERSION, 5):{
10
10
  }
11
11
 
12
12
  equals(QT_MINOR_VERSION, 6) {
13
- DEFINES += ENABLE_Q_WEB_ENGINE
14
-
15
- !contains(DEFINES, ENABLE_Q_WEB_ENGINE) {
16
- QT += webkit
17
- message(Deprecated sailfish webkit enabled)
18
- }
19
- contains(DEFINES, ENABLE_Q_WEB_ENGINE) {
20
- QT += webengine
21
- }
13
+ QT += webkit
14
+ message(Deprecated sailfish webkit enabled)
22
15
 
23
16
  QT += quick multimedia dbus bluetooth
24
17
  DEFINES += OS_SAILFISH OS_LINUX
25
- CONFIG += sailfishapp c++14 sailfishapp_i18n qmlcache
18
+ CONFIG += auroraapp c++14 auroraapp_i18n qmlcache
26
19
  }
27
20
 
28
21
  greaterThan(QT_MINOR_VERSION, 6): {
@@ -40,7 +33,7 @@ isEqual(QT_MAJOR_VERSION, 5):{
40
33
  TEMPLATE = app
41
34
  }
42
35
  contains(DEFINES, OS_SAILFISH) {
43
- TARGET = harbour-sailfishrhodes
36
+ TARGET = sailfishrhodes
44
37
  TEMPLATE = app
45
38
  }
46
39
 
@@ -1,7 +1,6 @@
1
1
  [Desktop Entry]
2
2
  Type=Application
3
3
  X-Nemo-Application-Type=silica-qt5
4
- Icon=harbour-sailfishrhodes
5
- Exec=harbour-sailfishrhodes
6
- Name=harbour-sailfishrhodes
7
-
4
+ Icon=sailfishrhodes
5
+ Name=sailfishrhodes
6
+ Exec=invoker --type=silica-qt5 -s /usr/bin/sailfishrhodes
@@ -1,6 +1,6 @@
1
- TARGET = harbour-sailfishrhodes
1
+ TARGET = sailfishrhodes
2
2
  QT += webkit core network quick #widgets
3
- CONFIG += c++14 sailfishapp sailfishapp_i18n ordered
3
+ CONFIG += c++14 auroraapp auroraapp_i18n ordered
4
4
  debug{
5
5
  CONFIG += force_debug_info
6
6
  }
@@ -17,16 +17,15 @@ data.path = $${DEPLOYMENT_PATH}
17
17
 
18
18
  INSTALLS += data
19
19
 
20
- DISTFILES += rpm/harbour-sailfishrhodes.changes.in \
21
- rpm/harbour-sailfishrhodes.changes.run.in \
22
- rpm/harbour-sailfishrhodes.spec \
23
- rpm/harbour-sailfishrhodes.yaml \
24
- harbour-sailfishrhodes.desktop \
20
+ DISTFILES += rpm/sailfishrhodes.changes.in \
21
+ rpm/sailfishrhodes.changes.run.in \
22
+ rpm/sailfishrhodes.spec \
23
+ rpm/sailfishrhodes.yaml \
24
+ sailfishrhodes.desktop \
25
25
  translations/*.ts \
26
- qml/harbour-sailfishrhodes.qml \
26
+ qml/sailfishrhodes.qml \
27
27
  qml/pages/MenuPage.qml \
28
- privileges/harbour-sailfishrhodes \
29
- qml/pages/FirstPageWE.qml \
28
+ privileges/sailfishrhodes \
30
29
  qml/pages/FirstPageWK.qml
31
30
 
32
31
  SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172
@@ -0,0 +1,2 @@
1
+ # Tells invoker to run sailfishrhodes as nemo:privileged
2
+ /usr/bin/sailfishrhodes,
@@ -1,9 +1,7 @@
1
1
  import QtQuick 2.0
2
2
  import Sailfish.Silica 1.0
3
- import QtWebKit 3.0
4
3
  import QtMultimedia 5.5
5
- import QtWebKit.experimental 1.0
6
- import Nemo.KeepAlive 1.1
4
+ import Nemo.KeepAlive 1.2
7
5
 
8
6
  Page {
9
7
  id: mainPage
@@ -109,7 +107,7 @@ Page {
109
107
  height: parent.height
110
108
  border.width: 1
111
109
 
112
- WebView {
110
+ SilicaWebView {
113
111
  id: webView
114
112
  url: modelData.url
115
113
  anchors.fill: parent
@@ -155,16 +153,16 @@ Page {
155
153
  }
156
154
 
157
155
  onLoadingChanged: {
158
- if (loadRequest.status == WebView.LoadStartedStatus){
156
+ if (loadRequest.status === WebView.LoadStartedStatus){
159
157
  modelData.loadStarted();
160
158
  modelData.messageReceived("Loading " + url + " started...");
161
159
  }
162
- if (loadRequest.status == WebView.LoadSucceededStatus){
160
+ if (loadRequest.status === WebView.LoadSucceededStatus){
163
161
  rootDelegate.cover = ""
164
162
  modelData.loadFinished(true);
165
163
  modelData.messageReceived("Page " + url + " loaded!");
166
164
  }
167
- if (loadRequest.status == WebView.LoadFailedStatus){
165
+ if (loadRequest.status === WebView.LoadFailedStatus){
168
166
  modelData.loadFinished(false);
169
167
  modelData.messageReceived("Loading error: " + url + " : "+
170
168
  loadRequest.errorCode.toString() + " " + loadRequest.errorString);
@@ -182,10 +180,7 @@ Page {
182
180
  //experimental.preferences.webGLEnabled: true;
183
181
  experimental.preferences.navigatorQtObjectEnabled: true;
184
182
  experimental.preferences.offlineWebApplicationCacheEnabled: false;
185
- experimental.onMessageReceived: {
186
- modelData.messageReceived(message.data);
187
- }
188
-
183
+ experimental.onMessageReceived: modelData.messageReceived(message.data);
189
184
  }
190
185
  }
191
186
  }
@@ -234,3 +229,4 @@ Page {
234
229
  }
235
230
  }
236
231
  }
232
+
@@ -8,7 +8,7 @@ ApplicationWindow
8
8
 
9
9
  Loader {
10
10
  id: firstPage
11
- source: rootDelegate.webEngineEnabled ? "pages/FirstPageWE.qml" : "pages/FirstPageWK.qml"
11
+ source: "pages/FirstPageWK.qml"
12
12
  }
13
13
 
14
14
  initialPage: firstPage.item
@@ -0,0 +1,80 @@
1
+ #
2
+ # Do NOT Edit the Auto-generated Part!
3
+ # Generated by: spectacle version 0.32
4
+ #
5
+
6
+ Name: sailfishrhodes
7
+
8
+ # >> macros
9
+ # << macros
10
+
11
+ %{!?qtc_qmake:%define qtc_qmake %qmake}
12
+ %{!?qtc_qmake5:%define qtc_qmake5 %qmake5}
13
+ %{!?qtc_make:%define qtc_make make}
14
+ %{?qtc_builddir:%define _builddir %qtc_builddir}
15
+ Summary: My Sailfish OS Application
16
+ Version: 0.1
17
+ Release: 1
18
+ Group: Qt/Qt
19
+ License: LICENSE
20
+ URL: http://example.org/
21
+ Source0: %{name}-%{version}.tar.bz2
22
+ Source100: sailfishrhodes.yaml
23
+ Requires: sailfishsilica-qt5 >= 0.10.9
24
+ Requires: qt5-qtconnectivity-qtsdpscanner
25
+ BuildRequires: pkgconfig(auroraapp) >= 1.0.2
26
+ BuildRequires: pkgconfig(Qt5Core)
27
+ BuildRequires: pkgconfig(Qt5Qml)
28
+ BuildRequires: pkgconfig(Qt5WebKit)
29
+ BuildRequires: pkgconfig(Qt5Multimedia)
30
+ BuildRequires: pkgconfig(Qt5Bluetooth)
31
+ BuildRequires: qt5-qtqml-import-webkitplugin-experimental
32
+ BuildRequires: bluez5
33
+ BuildRequires: libbluez-qt5
34
+ BuildRequires: qt5-qtconnectivity-qtbluetooth
35
+ BuildRequires: desktop-file-utils
36
+
37
+ %description
38
+ Short description of my Sailfish OS Application
39
+
40
+
41
+ %prep
42
+ %setup -q -n %{name}-%{version}
43
+
44
+ # >> setup
45
+ # << setup
46
+
47
+ %build
48
+ # >> build pre
49
+ # << build pre
50
+
51
+ %qtc_qmake5
52
+
53
+ %qtc_make %{?_smp_mflags}
54
+
55
+ # >> build post
56
+ # << build post
57
+
58
+ %install
59
+ rm -rf %{buildroot}
60
+ # >> install pre
61
+ # << install pre
62
+ %qmake5_install
63
+
64
+ # >> install post
65
+ # << install post
66
+
67
+ desktop-file-install --delete-original \
68
+ --dir %{buildroot}%{_datadir}/applications \
69
+ %{buildroot}%{_datadir}/applications/*.desktop
70
+
71
+ %files
72
+ %defattr(-,root,root,-)
73
+ %{_bindir}
74
+ %{_datadir}/%{name}
75
+ %{_datadir}/applications/%{name}.desktop
76
+ %{_datadir}/icons/hicolor/*/apps/%{name}.png
77
+ %{_datadir}/%{name}/data
78
+ %{_datadir}/mapplauncherd/privileges.d/%{name}
79
+ # >> files
80
+ # << files
@@ -1,4 +1,4 @@
1
- Name: harbour-sailfishrhodes
1
+ Name: sailfishrhodes
2
2
  Summary: My Sailfish OS Application
3
3
  Version: 0.1
4
4
  Release: 1
@@ -21,7 +21,7 @@ Builder: qtc5
21
21
  # This section specifies build dependencies that are resolved using pkgconfig.
22
22
  # This is the preferred way of specifying build dependencies for your package.
23
23
  PkgConfigBR:
24
- - sailfishapp >= 1.0.2
24
+ - auroraapp >= 1.0.2
25
25
  - Qt5Core
26
26
  - Qt5Qml
27
27
  - Qt5WebKit
@@ -42,7 +42,7 @@
42
42
  #include "statistic/RhoProfiler.h"
43
43
  #include <QtNetwork/QNetworkCookie>
44
44
  #include <QDesktopServices>
45
- #include <sailfishapp.h>
45
+ #include <auroraapp.h>
46
46
  #include "impl/MainWindowImpl.h"
47
47
  #include <QCameraInfo>
48
48
  #include <QCryptographicHash>
@@ -42,7 +42,7 @@
42
42
  #include "customwebviewtab.h"
43
43
  #include "customtoolbaritem.h"
44
44
  #include "rootdelegate.h"
45
- #include <sailfishapp.h>
45
+ //#include <auroraapp.h>
46
46
  #include <QDesktopServices>
47
47
 
48
48
  class QtMainWindow : public QObject