rhodes 7.5.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +319 -0
  3. data/README.md +3 -15
  4. data/Rakefile +3 -0
  5. data/appveyor.yml +37 -32
  6. data/azure-pipelines.yml +1 -1
  7. data/bin/rhodes-setup +22 -8
  8. data/extensions/emdk3-manager/ext/platform/android/src/com/rho/emdk3/EMDK3Extension.java +14 -5
  9. data/extensions/instrumentation/ext/platform/android/src/com/rho/instrumentation/Instrumentation.java +29 -15
  10. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.java +1 -1
  11. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/ElementsCore.java +12 -9
  12. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/graphics/BatteryIndicator.java +2 -2
  13. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro +1 -1
  14. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro.erb +2 -2
  15. data/lib/commonAPI/barcode/ext/platform/qt/src/qzxing/QZXing.pri +9 -21
  16. data/lib/commonAPI/barcode/ext.yml +1 -0
  17. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro +1 -1
  18. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro.erb +1 -1
  19. data/lib/commonAPI/bluetooth/ext/platform/qt/src/bluetooth/bluetoothhelper.h +1 -1
  20. data/lib/commonAPI/coreapi/RhoSystemApi.rb +6 -0
  21. data/lib/commonAPI/coreapi/ext/Intent.xml +4 -0
  22. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/intent/IntentSingleton.java +6 -0
  23. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +2 -1
  24. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +1 -1
  25. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/webview/WebViewSingleton.java +40 -27
  26. data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +5 -6
  27. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.h +1 -1
  28. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.m +3 -1
  29. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +2 -1
  30. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +10 -0
  31. data/lib/commonAPI/coreapi/ext/platform/wm/src/IntentImpl.cpp +3 -0
  32. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.cpp +13 -0
  33. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.h +2 -0
  34. data/lib/commonAPI/coreapi/ext/system.xml +3 -0
  35. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationCameraActivity.erb +2 -2
  36. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
  37. data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +1 -0
  38. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +8 -4
  39. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +8 -0
  40. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java +6 -0
  41. data/lib/commonAPI/mediacapture/ext/platform/qt/MediaCapture.pro.erb +1 -1
  42. data/lib/commonAPI/mediacapture/ext/platform/qt/Mediacapture.pro +1 -1
  43. data/lib/commonAPI/signature/ext/platform/iphone/impl/readme.txt +7 -0
  44. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro +3 -10
  45. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro.erb +2 -2
  46. data/lib/extensions/fcm-push/ext/iphone/Podfile +15 -2
  47. data/lib/extensions/fcm-push/ext/iphone/fcm-push.xcodeproj/project.pbxproj +6 -7
  48. data/lib/extensions/nfc/ext/platform/android/src/com/rhomobile/nfc/Nfc.java +2 -1
  49. data/lib/extensions/serialport/ext/serialport.pro +1 -1
  50. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +1 -0
  51. data/platform/android/Rhodes/jni/src/fileapi.cpp +4 -0
  52. data/platform/android/Rhodes/res/drawable/baseline_check_24.xml +5 -0
  53. data/platform/android/Rhodes/res/drawable/baseline_check_240.xml +5 -0
  54. data/platform/android/Rhodes/res/drawable/baseline_close_24.xml +5 -0
  55. data/platform/android/Rhodes/res/drawable/baseline_close_240.xml +5 -0
  56. data/platform/android/Rhodes/res/layout/overlay_layout.xml +39 -0
  57. data/platform/android/Rhodes/res/layout/perrmission_alert_dialog.xml +267 -0
  58. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +183 -66
  59. data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +38 -6
  60. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoFileProvider.java +32 -0
  61. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +529 -89
  62. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +26 -4
  63. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +256 -160
  64. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +14 -3
  65. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +4 -0
  66. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +5 -4
  67. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +79 -38
  68. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +6 -1
  69. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/CallReceiver.java +22 -0
  70. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/IKioskMode.java +11 -0
  71. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/KioskManager.java +18 -0
  72. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyAccessibilityService.java +230 -0
  73. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyNotificationListenerService.java +16 -0
  74. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyOverlayService.java +197 -0
  75. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/PermissionManager.java +232 -0
  76. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +34 -8
  77. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/CheckDrawable.java +53 -0
  78. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/PermissionListGenerate.java +366 -0
  79. data/platform/android/Rhodes/src/com/rhomobile/rhodes/rhodes.iml +11 -0
  80. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +1 -0
  81. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +782 -41
  82. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputConnectionWrapper.java +146 -0
  83. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputListener.java +21 -0
  84. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +92 -32
  85. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/TauWebViewOptions.java +118 -0
  86. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderBase.java +18 -17
  87. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderEclairMR1.java +4 -4
  88. data/platform/android/build/RhodesSRC_build.files +13 -0
  89. data/platform/android/build/android-repack.rake +8 -1
  90. data/platform/android/build/android.rake +118 -51
  91. data/platform/android/build/android_tools.rb +1 -1
  92. data/platform/android/build/androidcommon.rb +13 -7
  93. data/platform/android/build/config.yml +4 -1
  94. data/platform/android/build/manifest_generator.rb +14 -10
  95. data/platform/android/build/maven_deps_extractor.rb +7 -1
  96. data/platform/android/build/ndkwrapper.rb +12 -0
  97. data/platform/android/proguard/proguard-base-rules.pro +5 -0
  98. data/platform/android/proguard/proguard.jar +0 -0
  99. data/platform/iphone/Classes/RhoAppBaseLib-Bridging-Header.h +4 -0
  100. data/platform/iphone/Classes/RhoAppBaseStandaloneLib-Bridging-Header.h +4 -0
  101. data/platform/iphone/Classes/RhoCryptAESGCM.swift +105 -0
  102. data/platform/iphone/Classes/RhoUIWebView.h +1 -1
  103. data/platform/iphone/Classes/RhoUIWebView.m +1 -1
  104. data/platform/iphone/Classes/RhoWKWebView.h +1 -1
  105. data/platform/iphone/Classes/RhoWKWebView.mm +32 -4
  106. data/platform/iphone/Classes/RhoWebView.h +1 -1
  107. data/platform/iphone/Classes/RhoWebViewFabrique.m +7 -1
  108. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  109. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +21 -10
  110. data/platform/iphone/Classes/rho/net/IPhoneNetRequest.mm +4 -0
  111. data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +1 -1
  112. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1 -1
  113. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +46 -1
  114. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +1 -1
  115. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -1
  116. data/platform/iphone/rbuild/iphone.rake +9 -8
  117. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
  118. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +1 -1
  119. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +1 -1
  120. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  121. data/platform/sailfish/build/{harbour-SailfishRhodes.pro.erb → SailfishRhodes.pro.erb} +10 -17
  122. data/platform/sailfish/build/rhodes.pro.erb +7 -17
  123. data/platform/sailfish/build/rpm/SailfishRhodes.desktop.erb +12 -0
  124. data/platform/sailfish/build/rpm/SailfishRhodes.erb +2 -0
  125. data/platform/sailfish/build/rpm/SailfishRhodes.spec.erb +43 -0
  126. data/platform/sailfish/build/rubylib.pro.erb +29 -29
  127. data/platform/sailfish/build/sailfish.rake +188 -180
  128. data/platform/sailfish/keys/regular_cert.pem +14 -0
  129. data/platform/sailfish/keys/regular_key.pem +4 -0
  130. data/platform/shared/common/RhodesApp.cpp +33 -9
  131. data/platform/shared/common/iphone/RhoCryptImpl.mm +130 -54
  132. data/platform/shared/qt/RhoSimulator.pro +1 -1
  133. data/platform/shared/qt/rhodes/rhodes.pro +4 -11
  134. data/platform/shared/qt/sailfish/SailfishRhodes.desktop +3 -4
  135. data/platform/shared/qt/sailfish/SailfishRhodes.pro +9 -10
  136. data/platform/shared/qt/sailfish/icons/108x108/108x108.png +0 -0
  137. data/platform/shared/qt/sailfish/privileges/sailfishrhodes +2 -0
  138. data/platform/shared/qt/sailfish/qml/pages/FirstPageWK.qml +7 -11
  139. data/platform/shared/qt/sailfish/qml/{harbour-sailfishrhodes.qml → sailfishrhodes.qml} +1 -1
  140. data/platform/shared/qt/sailfish/rpm/sailfishrhodes.spec +80 -0
  141. data/platform/shared/qt/sailfish/rpm/{harbour-sailfishrhodes.yaml → sailfishrhodes.yaml} +2 -2
  142. data/platform/shared/qt/sailfish/src/QtMainWindow.cpp +1 -1
  143. data/platform/shared/qt/sailfish/src/QtMainWindow.h +1 -1
  144. data/platform/shared/qt/sailfish/src/main.cpp +6 -38
  145. data/platform/shared/qt/sailfish/src/rootdelegate.h +2 -14
  146. data/platform/shared/ruby/aurora/ruby/config.h +386 -0
  147. data/platform/shared/ruby/aurora/ruby/constdefs.c +5866 -0
  148. data/platform/shared/ruby/aurora/ruby/constdefs.h +1788 -0
  149. data/platform/shared/sqlite/crypto.c +14 -0
  150. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  151. data/platform/win32/build/rhodes.nsi +3 -3
  152. data/platform/win32/build/win32.rake +1 -1
  153. data/rakefile.rb +3 -0
  154. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +4 -4
  155. data/res/generators/templates/application/AndroidManifest.erb +26 -5
  156. data/res/generators/templates/application/build.yml +14 -10
  157. data/res/generators/templates/application/resources/android/res/xml/provider_paths.xml +4 -0
  158. data/res/generators/templates/application/rhoconfig.txt +10 -1
  159. data/res/generators/templates/iphone_project/Bremen8.xcodeproj/project.pbxproj +24 -1
  160. data/res/generators/templates/iphone_project/Classes/SimpleSwiftClass.swift +20 -0
  161. data/res/generators/templates/iphone_project/Classes/rhorunner-Bridging-Header.h +4 -0
  162. data/rhobuild.yml.example +3 -3
  163. data/rhodes.gemspec +4 -2
  164. data/version +1 -1
  165. metadata +81 -26
  166. data/platform/sailfish/build/rho_build.cmd.erb +0 -14
  167. data/platform/sailfish/build/rho_clean.cmd.erb +0 -14
  168. data/platform/sailfish/build/rho_deploy.cmd.erb +0 -15
  169. data/platform/sailfish/build/rho_rpm.cmd.erb +0 -14
  170. data/platform/sailfish/build/rho_rpmvalidation.cmd.erb +0 -14
  171. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.desktop.erb +0 -7
  172. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.erb +0 -2
  173. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.yaml.erb +0 -37
  174. data/platform/shared/qt/sailfish/harbour-sailfishrhodes.desktop +0 -6
  175. data/platform/shared/qt/sailfish/icons/108x108/harbour-sailfishrhodes.png +0 -0
  176. data/platform/shared/qt/sailfish/privileges/harbour-sailfishrhodes +0 -2
  177. data/platform/shared/qt/sailfish/qml/pages/FirstPageWE.qml +0 -236
  178. /data/platform/shared/qt/sailfish/icons/128x128/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  179. /data/platform/shared/qt/sailfish/icons/172x172/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  180. /data/platform/shared/qt/sailfish/icons/86x86/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
@@ -31,10 +31,19 @@
31
31
  extern void rho_db_decrypt( const char* szPartition, int nPartLen, int size, unsigned char* data );
32
32
  extern void rho_db_encrypt( const char* szPartition, int nPartLen, int size, unsigned char* data, unsigned char* dataOut );
33
33
 
34
+
35
+ #include "common/app_build_capabilities.h"
36
+
37
+
34
38
  #define FILE_HEADER_SZ 16
35
39
  #define ENCRYPTED_SQLITE_FILE_HEADER "SQLite crypto 3"
36
40
  #define EVP_MAX_KEY_LENGTH 32
41
+
42
+ #if defined(OS_MACOSX) && defined(APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM)
43
+ #define EVP_MAX_IV_LENGTH 32
44
+ #else
37
45
  #define EVP_MAX_IV_LENGTH 16
46
+ #endif
38
47
 
39
48
  typedef struct
40
49
  {
@@ -241,7 +250,12 @@ int sqlite3_rekey_v2(sqlite3 *db, const char *zDb, const void *pKey, int nKey)
241
250
  //#include <Wincrypt.h>
242
251
 
243
252
  #define EVP_MAX_KEY_LENGTH 32
253
+
254
+ #if defined(OS_MACOSX) && defined(APP_BUILD_CAPABILITY_IOS_CRYPTO_FORCE_AES_GCM)
255
+ #define EVP_MAX_IV_LENGTH 32
256
+ #else
244
257
  #define EVP_MAX_IV_LENGTH 16
258
+ #endif
245
259
 
246
260
  typedef struct _EVP_CIPHER
247
261
  {
@@ -7,9 +7,9 @@
7
7
  ;======================================================
8
8
  ; Installer Information
9
9
 
10
- Name %APPNAME%
10
+ Name "%APPNAME%"
11
11
  OutFile "%OUTPUTFILE%"
12
- InstallDir %APPINSTALLDIR%
12
+ InstallDir "%APPINSTALLDIR%"
13
13
  BrandingText " "
14
14
  Caption "%APPNAME% - RhoMobile Suite Windows Application"
15
15
  ShowInstDetails show
@@ -155,7 +155,7 @@ Section %SECTION_NAME% appSection
155
155
  %LICENSE_FILE%
156
156
  %README_FILE%
157
157
  File /r "rho"
158
- File %APP_EXECUTABLE%
158
+ File "%APP_EXECUTABLE%"
159
159
  File *.dll
160
160
  File /r *.pak
161
161
  File /r *.qm
@@ -295,7 +295,7 @@ namespace "build" do
295
295
 
296
296
  $logger.debug "Looking for app executable: #{targetFile}"
297
297
  raise "#{targetFile} not found" unless File.file?(targetFile)
298
- Jake.run3("#{File.join($qtdir, 'bin/windeployqt --release --no-quick-import --force')} #{targetFile}")
298
+ Jake.run3("#{File.join($qtdir, 'bin/windeployqt --release --no-quick-import --force')} \"#{targetFile}\"")
299
299
 
300
300
  rescue Exception => e
301
301
  $logger.error "ERROR: #{e.inspect}\n#{e.backtrace}"
data/rakefile.rb CHANGED
@@ -4055,6 +4055,7 @@ namespace "run" do
4055
4055
 
4056
4056
  namespace :rhosimulator do
4057
4057
 
4058
+ # run:rhosimulator:build
4058
4059
  task :build => ["config:common"] do
4059
4060
 
4060
4061
  RhoPackages.request 'rhosimulator'
@@ -4273,6 +4274,7 @@ namespace "run" do
4273
4274
  end
4274
4275
  end
4275
4276
 
4277
+ # run:rhosimulator:run
4276
4278
  task :run, [:wait] => ["config:common"] do |t, args|
4277
4279
  wait = args[:wait] == 'wait'
4278
4280
 
@@ -4351,6 +4353,7 @@ namespace "run" do
4351
4353
 
4352
4354
 
4353
4355
  #desc "Run application on RhoSimulator"
4356
+ # run:rhosimulator
4354
4357
  task :rhosimulator => ["run:rhosimulator:build", "run:rhosimulator:run"]
4355
4358
  end
4356
4359
 
@@ -40,12 +40,12 @@ end
40
40
 
41
41
  if device == nil
42
42
 
43
- devicetype = SimCtl.devicetype(name: 'iPhone 7')
44
- devicename = 'Rhomobile iPhone7 '+sdk_ver
43
+ devicetype = SimCtl.devicetype(name: 'iPhone 12')
44
+ devicename = 'Rhomobile iPhone12 '+sdk_ver
45
45
 
46
46
  if ARGV[3] == 'ipad'
47
- devicetype = SimCtl.devicetype(name: 'iPad Air 2')
48
- devicename = 'Rhomobile iPad Air 2 '+sdk_ver
47
+ devicetype = SimCtl.devicetype(name: 'iPad Air (4th generation)')
48
+ devicename = 'Rhomobile iPad Air (4th generation) '+sdk_ver
49
49
  end
50
50
 
51
51
  device = SimCtl.device(name: devicename)
@@ -22,8 +22,14 @@
22
22
  <uses-permission android:name='<%=name%>'/>
23
23
  <% end %>
24
24
 
25
+
26
+ <%# <!-- Установка пакета -->
27
+ <uses-permission android:name='android.permission.REQUEST_INSTALL_PACKAGES'/> %>
28
+
29
+
25
30
  <supports-screens android:smallScreens='true' android:normalScreens='true' android:largeScreens='true' android:xlargeScreens='true'/>
26
- <application android:name='com.rhomobile.rhodes.RhodesApplication'
31
+ <application android:requestLegacyExternalStorage='true'
32
+ android:name='com.rhomobile.rhodes.RhodesApplication'
27
33
  <% if canRenderNetworkSecurityConfig %>
28
34
  android:networkSecurityConfig="@xml/network_security_config"
29
35
  <% end %>
@@ -64,10 +70,25 @@
64
70
  <activity android:name='com.rhomobile.rhodes.ui.LogViewDialog' android:windowSoftInputMode='stateAlwaysHidden' android:configChanges='orientation' android:screenOrientation='<%= @screenOrientation %>'/>
65
71
  <service android:name='com.rhomobile.rhodes.RhodesService' android:exported='false'/>
66
72
 
67
- <provider android:name='com.rhomobile.rhodes.LocalFileProvider' android:authorities='<%=@appPackageName%>' android:grantUriPermissions='false' <%= @androidVerMaj >= 7 ? "android:exported='true'" : "android:exported='false'" %> >
68
- <grant-uri-permission android:pathPrefix='/rhodes/apps/'/>
69
- <grant-uri-permission android:pathPrefix='/rhodata/apps/'/>
70
- </provider>
73
+
74
+ <% if @androidVerMaj >= 7 %>
75
+ <provider
76
+ android:name='com.rhomobile.rhodes.RhoFileProvider'
77
+ android:authorities='<%=@appPackageName%>.provider'
78
+ android:exported='false'
79
+ android:grantUriPermissions='true'>
80
+ <meta-data
81
+ android:name='android.support.FILE_PROVIDER_PATHS'
82
+ android:resource='@xml/provider_paths' />
83
+ </provider>
84
+ <% else %>
85
+ <provider android:name='com.rhomobile.rhodes.LocalFileProvider' android:authorities='<%=@appPackageName%>' android:grantUriPermissions='false' <%= @androidVerMaj >= 7 ? "android:exported='true'" : "android:exported='false'" %> >
86
+ <grant-uri-permission android:pathPrefix='/rhodes/apps/'/>
87
+ <grant-uri-permission android:pathPrefix='/rhodata/apps/'/>
88
+ </provider>
89
+ <% end %>
90
+
91
+
71
92
 
72
93
  <receiver android:name='com.rho.notification.AlarmReceiver' android:enabled="false" android:exported='true'>
73
94
  <intent-filter>
@@ -57,6 +57,7 @@ applog: rholog.txt
57
57
  #- calendar
58
58
  ## allows writing to the SD card on Android devices
59
59
  #- sdcard
60
+ #- install_packages
60
61
  ## add UIWebView code to project - now UIWebView deprecated by Apple - You can not submit application with UIWebView to AppStore !
61
62
  ## You can select type of WebView in rhoconfig.txt - see ios_use_WKWebView option
62
63
  #- ios_uiwebview
@@ -80,6 +81,7 @@ iphone:
80
81
  #ARCHS_simulator : ["i386", "x86_64"]
81
82
  #ARCHS_device : ["arm64", "arm64e", "armv7", "armv7s"]
82
83
  #leave one architecture for decrease build time during development
84
+ #You must define "arm64" architecture for ARCHS_simulator on M CPU based computers !
83
85
  ARCHS_simulator : ["x86_64"]
84
86
  ARCHS_device : ["arm64"]
85
87
  ## Note: Provisioning
@@ -139,6 +141,10 @@ android:
139
141
 
140
142
  #targetSDK: 28
141
143
 
144
+ ## set to true if you want to setup your app as system home app (launcher)
145
+ ## also recommended add this into manifest also: android:launchMode='singleTask'
146
+ #home_app = true
147
+
142
148
  ## Note: in order to simplify debugging only app messages and system channels with priority informative and higher, and any errors are enabled by default
143
149
  logcatFilter: APP:I StrictMode:I DEBUG:I *:E
144
150
 
@@ -159,20 +165,18 @@ win32:
159
165
  deploymsvc: 1
160
166
  msvc: 2017
161
167
 
168
+
162
169
  sailfish:
163
170
  configuration: Release
164
171
  target: 'arm'
165
- target_sdk: 'SailfishOS-2.1.4.13-armv7hl'
166
- build_threads: 1
167
- enable_web_engine: false
172
+ organization: "ru.tauplatform"
168
173
  device:
169
- type: real
170
- device_name: INOI R7 (ARM)
171
- user: nemo
172
- key: C:/SailfishOS/vmshare/ssh/private_keys/INOI_R7_(ARM)/nemo
173
- password: 123
174
- host: '192.168.2.15'
175
- extensions: ["mediacapture", "barcode", "signature", "rhoconnect-client", "serialport"]
174
+ #device_name: "Aurora OS эмулятор 4.0.2.249-base"
175
+ device_name: "INOI P4903 (ARM)"
176
+ user: defaultuser
177
+
178
+ extensions: ["mediacapture", "barcode", "signature", "serialport"]
179
+
176
180
 
177
181
 
178
182
  extensions: [<%=@rhoconnectclient_ext%>]
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <paths>
3
+ <external-path name="external_files" path="."/>
4
+ </paths>
@@ -14,7 +14,7 @@ rhobundle_zip_pwd = nil
14
14
  # log level
15
15
  # 0-trace, 1-info(app level), 2-warnings, 3-errors
16
16
  # for production set to 3
17
- MinSeverity = 1
17
+ MinSeverity = 3
18
18
 
19
19
  # enable copy log messages to standard output, useful for debugging
20
20
  LogToOutput = 1
@@ -116,6 +116,15 @@ sync_poll_interval=0
116
116
  # Now UIWebView was deprecated by Apple and you can not submit application with UIWebView to AppStore !
117
117
  # If you want to use UIWebView(set ios_use_WKWebView = 0) - you must add "ios_uiwebview" capability to your build.yml !
118
118
 
119
+
120
+ #ios_direct_local_requests_with_custom_protocol = 1
121
+ # default value is FALSE
122
+ # set this to 1 (true) if you want to use direct URLProtocol mechanism (faster and more security) for WebView net requests instead of socket based server.
123
+
124
+ #ios_request_notification_permission_on_start = 1
125
+ # default value is FALSE
126
+ # with this option = 1 application will ask repmission for send notifications on start instead of fisrt use of Rho:Nofication API
127
+
119
128
  # show status bar on windows mobile. default 1
120
129
  #wm_show_statusbar = 1
121
130
 
@@ -28,6 +28,7 @@
28
28
  F563D4140EA6D10F0062DA57 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F563D4130EA6D10F0062DA57 /* CoreLocation.framework */; };
29
29
  F563D58B0EA829C80062DA57 /* libsqlite3.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F563D58A0EA829C80062DA57 /* libsqlite3.0.dylib */; };
30
30
  F58E80110F008B3F00E46829 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58E80100F008B3F00E46829 /* AddressBook.framework */; };
31
+ FA09EF4529E76DEE0021D5F1 /* SimpleSwiftClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA09EF4429E76DEE0021D5F1 /* SimpleSwiftClass.swift */; };
31
32
  FA20C1A4182AFD540036D304 /* CApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FA20C1A3182AFD540036D304 /* CApplicationDelegate.m */; };
32
33
  FA20C1A9182AFD760036D304 /* back_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = FA20C1A5182AFD760036D304 /* back_btn.png */; };
33
34
  FA20C1AA182AFD760036D304 /* forward_btn.png in Resources */ = {isa = PBXBuildFile; fileRef = FA20C1A6182AFD760036D304 /* forward_btn.png */; };
@@ -109,6 +110,8 @@
109
110
  F563D4130EA6D10F0062DA57 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
110
111
  F563D58A0EA829C80062DA57 /* libsqlite3.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.0.dylib; path = usr/lib/libsqlite3.0.dylib; sourceTree = SDKROOT; };
111
112
  F58E80100F008B3F00E46829 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = ../../../../../../System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
113
+ FA09EF4329E76DED0021D5F1 /* rhorunner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "rhorunner-Bridging-Header.h"; sourceTree = "<group>"; };
114
+ FA09EF4429E76DEE0021D5F1 /* SimpleSwiftClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleSwiftClass.swift; sourceTree = "<group>"; };
112
115
  FA20C1A2182AFD540036D304 /* CApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CApplicationDelegate.h; sourceTree = "<group>"; };
113
116
  FA20C1A3182AFD540036D304 /* CApplicationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CApplicationDelegate.m; sourceTree = "<group>"; };
114
117
  FA20C1A5182AFD760036D304 /* back_btn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = back_btn.png; path = Resources/back_btn.png; sourceTree = "<group>"; };
@@ -198,6 +201,8 @@
198
201
  FA20C1A2182AFD540036D304 /* CApplicationDelegate.h */,
199
202
  FA20C1A3182AFD540036D304 /* CApplicationDelegate.m */,
200
203
  29B97316FDCFA39411CA2CEA /* main.m */,
204
+ FA09EF4429E76DEE0021D5F1 /* SimpleSwiftClass.swift */,
205
+ FA09EF4329E76DED0021D5F1 /* rhorunner-Bridging-Header.h */,
201
206
  );
202
207
  path = Classes;
203
208
  sourceTree = "<group>";
@@ -352,6 +357,7 @@
352
357
  TargetAttributes = {
353
358
  1D6058900D05DD3D006BFB54 = {
354
359
  DevelopmentTeam = "";
360
+ LastSwiftMigration = 1410;
355
361
  ProvisioningStyle = Automatic;
356
362
  SystemCapabilities = {
357
363
  com.apple.BackgroundModes = {enabled = 1;};
@@ -477,6 +483,7 @@
477
483
  buildActionMask = 2147483647;
478
484
  files = (
479
485
  FAF3BF3218E26D3B00860FCA /* app_build_configs.c in Sources */,
486
+ FA09EF4529E76DEE0021D5F1 /* SimpleSwiftClass.swift in Sources */,
480
487
  FAF3BF3318E26D3B00860FCA /* extensions.c in Sources */,
481
488
  1D60589B0D05DD56006BFB54 /* main.m in Sources */,
482
489
  FA20C1A4182AFD540036D304 /* CApplicationDelegate.m in Sources */,
@@ -497,12 +504,14 @@
497
504
  1D6058940D05DD3E006BFB54 /* Debug */ = {
498
505
  isa = XCBuildConfiguration;
499
506
  buildSettings = {
507
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
500
508
  ALWAYS_SEARCH_USER_PATHS = NO;
501
509
  ARCHS = "$(ARCHS_STANDARD_64_BIT)";
502
510
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
503
511
  ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
504
512
  CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
505
513
  CLANG_CXX_LIBRARY = "libc++";
514
+ CLANG_ENABLE_MODULES = YES;
506
515
  CODE_SIGN_ENTITLEMENTS = "rhorunner_development.entitlements";
507
516
  CODE_SIGN_IDENTITY = "iPhone Developer";
508
517
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -525,6 +534,7 @@
525
534
  );
526
535
  INFOPLIST_FILE = Info.plist;
527
536
  IPHONEOS_DEPLOYMENT_TARGET = 10.0;
537
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
528
538
  LIBRARY_SEARCH_PATHS = (
529
539
  "$(inherited)",
530
540
  "$(SRCROOT)",
@@ -546,6 +556,9 @@
546
556
  "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
547
557
  SDKROOT = iphoneos;
548
558
  STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic;
559
+ SWIFT_OBJC_BRIDGING_HEADER = "Classes/rhorunner-Bridging-Header.h";
560
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
561
+ SWIFT_VERSION = 5.0;
549
562
  TARGETED_DEVICE_FAMILY = "1,2";
550
563
  USER_HEADER_SEARCH_PATHS = "Rhodes";
551
564
  };
@@ -554,13 +567,15 @@
554
567
  1D6058950D05DD3E006BFB54 /* Release */ = {
555
568
  isa = XCBuildConfiguration;
556
569
  buildSettings = {
570
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
557
571
  ALWAYS_SEARCH_USER_PATHS = NO;
558
572
  ARCHS = "$(ARCHS_STANDARD_64_BIT)";
559
573
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
560
574
  ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
561
575
  CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
562
576
  CLANG_CXX_LIBRARY = "libc++";
563
- CODE_SIGN_ENTITLEMENTS = "rhorunner_development.entitlements";
577
+ CLANG_ENABLE_MODULES = YES;
578
+ CODE_SIGN_ENTITLEMENTS = rhorunner_development.entitlements;
564
579
  CODE_SIGN_IDENTITY = "iPhone Developer";
565
580
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
566
581
  COMPRESS_PNG_FILES = NO;
@@ -578,6 +593,7 @@
578
593
  GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
579
594
  INFOPLIST_FILE = Info.plist;
580
595
  IPHONEOS_DEPLOYMENT_TARGET = 10.0;
596
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
581
597
  LIBRARY_SEARCH_PATHS = (
582
598
  "$(inherited)",
583
599
  "$(SRCROOT)",
@@ -591,6 +607,8 @@
591
607
  PROVISIONING_PROFILE = "";
592
608
  "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
593
609
  SDKROOT = iphoneos;
610
+ SWIFT_OBJC_BRIDGING_HEADER = "Classes/rhorunner-Bridging-Header.h";
611
+ SWIFT_VERSION = 5.0;
594
612
  TARGETED_DEVICE_FAMILY = "1,2";
595
613
  USER_HEADER_SEARCH_PATHS = "Rhodes";
596
614
  };
@@ -631,12 +649,14 @@
631
649
  46B0041D10332DA700D0C2F4 /* Distribution */ = {
632
650
  isa = XCBuildConfiguration;
633
651
  buildSettings = {
652
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
634
653
  ALWAYS_SEARCH_USER_PATHS = NO;
635
654
  ARCHS = "$(ARCHS_STANDARD_64_BIT)";
636
655
  ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
637
656
  ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
638
657
  CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
639
658
  CLANG_CXX_LIBRARY = "libc++";
659
+ CLANG_ENABLE_MODULES = YES;
640
660
  CODE_SIGN_ENTITLEMENTS = "rhorunner_production.entitlements";
641
661
  CODE_SIGN_IDENTITY = "iPhone Distribution";
642
662
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
@@ -649,6 +669,7 @@
649
669
  GCC_PREFIX_HEADER = rhorunner_Prefix.pch;
650
670
  INFOPLIST_FILE = Info.plist;
651
671
  IPHONEOS_DEPLOYMENT_TARGET = 10.0;
672
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
652
673
  LIBRARY_SEARCH_PATHS = (
653
674
  "$(inherited)",
654
675
  "$(SRCROOT)",
@@ -662,6 +683,8 @@
662
683
  PROVISIONING_PROFILE = "";
663
684
  "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
664
685
  SDKROOT = iphoneos;
686
+ SWIFT_OBJC_BRIDGING_HEADER = "Classes/rhorunner-Bridging-Header.h";
687
+ SWIFT_VERSION = 5.0;
665
688
  TARGETED_DEVICE_FAMILY = "1,2";
666
689
  USER_HEADER_SEARCH_PATHS = "Rhodes";
667
690
  };
@@ -0,0 +1,20 @@
1
+ //
2
+ // SimpleSwiftClass.swift
3
+ // rhorunner
4
+ //
5
+ // Created by Dmitry Soldatenkov on 13.04.2023.
6
+ //
7
+
8
+ import Foundation
9
+ import UIKit
10
+ import os
11
+ import WebKit
12
+
13
+
14
+ public class SimpleSwiftClass {
15
+
16
+
17
+
18
+
19
+ }
20
+
@@ -0,0 +1,4 @@
1
+ //
2
+ // Use this file to import your target's public headers that you would like to expose to Swift.
3
+ //
4
+
data/rhobuild.yml.example CHANGED
@@ -1,9 +1,9 @@
1
1
  env:
2
2
  #app: C:/rhodes-app
3
3
  paths:
4
- java: C:/Program Files/Java/jdk11/bin
5
- android: C:/Program Files (x86)/Android/android-sdk
6
- android-ndk: C:/ProgramData/Microsoft/AndroidNDK64/android-ndk-r17
4
+ java: C:/Program Files (x86)/Java/jdk1.8.0/bin
5
+ android: C:/PROGRA~2/Android/android-sdk
6
+ android-ndk: C:/PROGRA~2/Android/android-sdk/ndk/17.2.4988734
7
7
  cabwiz: C:/Program Files (x86)/Windows Mobile 6 SDK/Tools/CabWiz
8
8
  msbuild: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe
9
9
  vcbuild: C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/vcpackages/vcbuild.exe
data/rhodes.gemspec CHANGED
@@ -22,6 +22,8 @@ Gem::Specification.new do |s|
22
22
  s.rdoc_options = ["--inline-source", "--charset=UTF-8", '--exclude=bin', '--exclude=doc', '--exclude=ext', '--exclude=installer', '--exclude=lib/build', '--exclude=lib/commonAPI', '--exclude=lib/extensions', '--exclude=lib/rhodes', '--exclude=lib/test', '--exclude=lib/rhodes.rb', '--exclude=platform', '--exclude=res', '--exclude=spec']
23
23
  s.require_paths = ["lib"]
24
24
  s.required_ruby_version = '>= 2.3'
25
+ s.add_dependency('highline', '2.1.0')
26
+ s.add_dependency('cocoapods', '~> 1.10.2') if RUBY_PLATFORM =~ /darwin/i
25
27
  s.add_dependency('templater', '1.0.0')
26
28
  s.add_dependency('rake', '12.3.3')
27
29
  s.add_dependency('uuid', '2.3.7')
@@ -30,14 +32,14 @@ Gem::Specification.new do |s|
30
32
  s.add_dependency('rest-client', '2.0.2')
31
33
  s.add_dependency('net-scp','1.2.1')
32
34
  s.add_dependency('net-ssh','6.0.2')
33
- s.add_dependency('CFPropertyList', '2.2.8')
35
+ s.add_dependency('CFPropertyList', '~> 2.3.3')
34
36
  s.add_dependency('naturally', '1.3.2')
35
37
  s.add_dependency('simctl', '1.6.8')
36
38
  s.add_dependency('listen', '3.0.6')
37
39
  s.add_dependency('rubyzip', '1.3.0')
38
40
  s.add_dependency('rdoc', '4.2.2')
39
41
  s.add_dependency('deep_merge','1.1.1')
40
- s.add_dependency('nokogiri', '1.10.10')
42
+ s.add_dependency('nokogiri', '1.11.7')
41
43
 
42
44
  s.post_install_message = "Thanks for installing Rhodes ! Please visit our website: http://tau-platform.com" if s.respond_to? :post_install_message=
43
45
  s.executables << 'rhogen'
data/version CHANGED
@@ -1 +1 @@
1
- 7.5.1
1
+ 7.6.0