rhodes 5.5.2 → 5.5.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +1 -1
  3. data/CREDITS +3 -3
  4. data/LICENSE +1 -1
  5. data/README.html +1 -1
  6. data/Rakefile +53 -14
  7. data/bin/get-rhodes-info +0 -0
  8. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +1 -1
  9. data/lib/build/jake.rb +11 -0
  10. data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +2 -1
  11. data/lib/commonAPI/coreapi/ext/NativeTabbar.xml +4 -0
  12. data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +1 -0
  13. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NativeTabbarSingleton.m +7 -2
  14. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NativeToolbarSingleton.m +6 -2
  15. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NavbarSingleton.m +8 -2
  16. data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +3 -0
  17. data/lib/commonAPI/coreapi/ext/shared/NetworkImpl.cpp +1 -0
  18. data/lib/commonAPI/coreapi/ext/shared/TimerImpl.cpp +36 -27
  19. data/lib/commonAPI/coreapi/public/api/rhoapi.js +6 -3
  20. data/lib/commonAPI/mediacapture/ext.yml +1 -2
  21. data/lib/commonAPI/mediacapture/ext/build.bat +8 -0
  22. data/lib/commonAPI/mediacapture/ext/platform/qt/MediaCapture.pro +82 -0
  23. data/lib/commonAPI/mediacapture/ext/platform/qt/Rakefile +35 -0
  24. data/lib/commonAPI/mediacapture/ext/platform/qt/resources/diaClosed.png +0 -0
  25. data/lib/commonAPI/mediacapture/ext/platform/qt/resources/diaOpened.png +0 -0
  26. data/lib/commonAPI/mediacapture/ext/platform/qt/resources/mediacapture.qrc +7 -0
  27. data/lib/commonAPI/mediacapture/ext/platform/qt/resources/photoSave.png +0 -0
  28. data/lib/commonAPI/mediacapture/ext/platform/qt/src/CCameraData.cpp +83 -0
  29. data/lib/commonAPI/mediacapture/ext/platform/qt/src/CCameraData.h +54 -0
  30. data/lib/commonAPI/mediacapture/ext/platform/qt/src/CameraDialogBuilder.h +36 -0
  31. data/lib/commonAPI/mediacapture/ext/platform/qt/src/CameraDialogController.h +31 -0
  32. data/lib/commonAPI/mediacapture/ext/platform/qt/src/CameraDialogView.h +73 -0
  33. data/lib/commonAPI/mediacapture/ext/platform/qt/src/Camera_impl.cpp +337 -0
  34. data/lib/commonAPI/mediacapture/ext/platform/qt/src/ImageFileNameGetter.h +40 -0
  35. data/lib/commonAPI/mediacapture/ext/platform/qt/src/ImageFilenameGetterResult.h +36 -0
  36. data/lib/commonAPI/mediacapture/ext/platform/qt/src/cameracrossthreadhalper.h +17 -0
  37. data/lib/commonAPI/mediacapture/ext/platform/qt/src/cameradialogview.cpp +178 -0
  38. data/lib/commonAPI/mediacapture/ext/shared/MediacaptureInit.cpp +8 -8
  39. data/lib/framework/rhodes.rb +1 -1
  40. data/lib/framework/version.rb +1 -1
  41. data/platform/android/Rhodes/AndroidManifest.xml.erb +1 -1
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +9 -2
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +33 -0
  44. data/platform/android/build/android.rake +97 -43
  45. data/platform/android/build/android_studio_project_generator.rb +21 -0
  46. data/platform/android/build/android_tools.rb +8 -6
  47. data/platform/iphone/Classes/AppManager/AppManager.h +6 -0
  48. data/platform/iphone/Classes/AppManager/AppManager.m +76 -37
  49. data/platform/iphone/Classes/MapView/GoogleGeocoder.m +2 -3
  50. data/platform/iphone/Classes/MapView/MapViewController.m +3 -3
  51. data/platform/iphone/Classes/NativeBar.h +1 -0
  52. data/platform/iphone/Classes/NativeBar.m +15 -0
  53. data/platform/iphone/Classes/RhoViewController.m +8 -3
  54. data/platform/iphone/Classes/RhoWKWebView.m +1 -1
  55. data/platform/iphone/Classes/Rhodes.m +55 -38
  56. data/platform/iphone/Classes/SimpleMainView.m +3 -2
  57. data/platform/iphone/Classes/TabbedMainView.h +2 -0
  58. data/platform/iphone/Classes/TabbedMainView.m +15 -3
  59. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +2 -0
  60. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +185 -30
  61. data/platform/iphone/Classes/rho/net/IPhoneNetRequest.mm +105 -6
  62. data/platform/iphone/rbuild/iphone.rake +426 -267
  63. data/platform/iphone/rbuild/putsOverride.rake +8 -0
  64. data/platform/shared/api_generator/iphone/CJSConverter.mm +5 -3
  65. data/platform/shared/common/BundleManager.cpp +16 -6
  66. data/platform/shared/common/PosixThreadImpl.cpp +10 -4
  67. data/platform/shared/common/RhoTime.cpp +81 -40
  68. data/platform/shared/common/RhodesApp.cpp +2 -2
  69. data/platform/shared/common/RhodesApp.h +1 -1
  70. data/platform/shared/db/DBAdapter.cpp +33 -0
  71. data/platform/shared/db/DBAdapter.h +5 -0
  72. data/platform/shared/logging/RhoLogConf.cpp +17 -1
  73. data/platform/shared/logging/RhoLogConf.h +6 -0
  74. data/platform/shared/net/CURLNetRequest.cpp +6 -0
  75. data/platform/shared/net/HttpServer.cpp +27 -1
  76. data/platform/shared/net/INetRequest.cpp +33 -6
  77. data/platform/shared/net/INetRequest.h +2 -0
  78. data/platform/shared/qt/RhoSimulator_dev.pro +14 -10
  79. data/platform/shared/qt/rhodes/QtMainWindow.cpp +2 -2
  80. data/platform/shared/qt/rhodes/iexecutable.h +27 -0
  81. data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +5 -0
  82. data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +3 -0
  83. data/platform/shared/qt/rhodes/qkineticscroller.cpp +2 -2
  84. data/platform/shared/qt/rhodes/qkineticscroller_p.h +1 -1
  85. data/platform/shared/qt/rhodes/qtscrollerfilter.cpp +3 -3
  86. data/platform/shared/qt/rhodes/qtscrollevent.cpp +2 -2
  87. data/platform/shared/qt/rhodes/qwebviewkineticscroller.cpp +1 -1
  88. data/platform/shared/qt/rhodes/qwebviewkineticscroller.h +1 -1
  89. data/platform/shared/qt/rhodes/resources/rho.png +0 -0
  90. data/platform/shared/qt/rhodes/rhodes.pro +3 -2
  91. data/platform/wm/build/wm.rake +28 -9
  92. data/platform/wm/rhodes/browser/BrowserFactory.cpp +4 -6
  93. data/platform/wm/rhodes/browser/stubs.cpp +5 -0
  94. data/platform/wm/rhodes/rho/net/NetRequestImpl.h +3 -0
  95. data/platform/wm/rhodes/rhodes.vcproj +31 -2
  96. data/rakefile.rb +53 -14
  97. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +2 -2
  98. data/res/generators/rhogen.rb +6 -147
  99. data/res/generators/templates/api/platform/iphone/generated/base_impl/MontanaBase.m +7 -7
  100. data/res/generators/templates/api/platform/iphone/generated/javascript/montana_js_wrap.mm +2 -4
  101. data/res/generators/templates/application/AndroidManifest.erb +1 -1
  102. data/res/generators/templates/application/app/Settings/home.erb +1 -1
  103. data/res/generators/templates/application/build.yml +52 -6
  104. data/res/generators/templates/application/icon/icon.png +0 -0
  105. data/res/generators/templates/application/resources/android/res/drawable-hdpi/ic_notification.png +0 -0
  106. data/res/generators/templates/application/resources/android/res/drawable-hdpi/icon.png +0 -0
  107. data/res/generators/templates/application/resources/android/res/drawable-hdpi/loading.png +0 -0
  108. data/res/generators/templates/application/resources/android/res/drawable-ldpi/ic_notification.png +0 -0
  109. data/res/generators/templates/application/resources/android/res/drawable-ldpi/icon.png +0 -0
  110. data/res/generators/templates/application/resources/android/res/drawable-ldpi/loading.png +0 -0
  111. data/res/generators/templates/application/resources/android/res/drawable-mdpi/ic_notification.png +0 -0
  112. data/res/generators/templates/application/resources/android/res/drawable-mdpi/icon.png +0 -0
  113. data/res/generators/templates/application/resources/android/res/drawable-mdpi/loading.png +0 -0
  114. data/res/generators/templates/application/resources/android/res/drawable-xhdpi/ic_notification.png +0 -0
  115. data/res/generators/templates/application/resources/android/res/drawable-xhdpi/icon.png +0 -0
  116. data/res/generators/templates/application/resources/android/res/drawable-xhdpi/loading.png +0 -0
  117. data/res/generators/templates/application/resources/android/res/drawable-xxhdpi/ic_notification.png +0 -0
  118. data/res/generators/templates/application/resources/android/res/drawable-xxhdpi/icon.png +0 -0
  119. data/res/generators/templates/application/resources/android/res/drawable-xxhdpi/loading.png +0 -0
  120. data/res/generators/templates/application/resources/android/res/drawable-xxxhdpi/ic_notification.png +0 -0
  121. data/res/generators/templates/application/resources/android/res/drawable-xxxhdpi/icon.png +0 -0
  122. data/res/generators/templates/application/resources/android/res/drawable-xxxhdpi/loading.png +0 -0
  123. data/res/generators/templates/application/resources/android/res/drawable/ic_notification.png +0 -0
  124. data/res/generators/templates/application/resources/android/res/drawable/icon.png +0 -0
  125. data/res/generators/templates/application/resources/android/res/drawable/loading.png +0 -0
  126. data/res/generators/templates/application/resources/android/res/mipmap-hdpi/icon.png +0 -0
  127. data/res/generators/templates/application/resources/android/res/mipmap-ldpi/icon.png +0 -0
  128. data/res/generators/templates/application/resources/android/res/mipmap-mdpi/icon.png +0 -0
  129. data/res/generators/templates/application/resources/android/res/mipmap-xhdpi/icon.png +0 -0
  130. data/res/generators/templates/application/resources/android/res/mipmap-xxhdpi/icon.png +0 -0
  131. data/res/generators/templates/application/resources/android/res/mipmap-xxxhdpi/icon.png +0 -0
  132. data/res/generators/templates/application/resources/android/res/mipmap/icon.png +0 -0
  133. data/res/generators/templates/application/{app/loading-568h@2x.png → resources/ios/Default-568h@2x.png} +0 -0
  134. data/res/generators/templates/application/{app/loading-667h@2x.png → resources/ios/Default-667h@2x.png} +0 -0
  135. data/res/generators/templates/application/{app/loading-736h@3x.png → resources/ios/Default-736h@3x.png} +0 -0
  136. data/res/generators/templates/application/{app/loading-Landscape.png → resources/ios/Default-Landscape.png} +0 -0
  137. data/res/generators/templates/application/{app/loading-Landscape@2x.png → resources/ios/Default-Landscape@2x.png} +0 -0
  138. data/res/generators/templates/application/{app/loading-LandscapeLeft.png → resources/ios/Default-LandscapeLeft.png} +0 -0
  139. data/res/generators/templates/application/{app/loading-LandscapeLeft@2x.png → resources/ios/Default-LandscapeLeft@2x.png} +0 -0
  140. data/res/generators/templates/application/{app/loading-LandscapeRight.png → resources/ios/Default-LandscapeRight.png} +0 -0
  141. data/res/generators/templates/application/{app/loading-LandscapeRight@2x.png → resources/ios/Default-LandscapeRight@2x.png} +0 -0
  142. data/res/generators/templates/application/{app/loading-Portrait.png → resources/ios/Default-Portrait.png} +0 -0
  143. data/res/generators/templates/application/{app/loading-Portrait@2x.png → resources/ios/Default-Portrait@2x.png} +0 -0
  144. data/res/generators/templates/application/{app/loading-PortraitUpsideDown.png → resources/ios/Default-PortraitUpsideDown.png} +0 -0
  145. data/res/generators/templates/application/{app/loading-PortraitUpsideDown@2x.png → resources/ios/Default-PortraitUpsideDown@2x.png} +0 -0
  146. data/res/generators/templates/application/resources/ios/Default.png +0 -0
  147. data/res/generators/templates/application/{app/loading@2x.png → resources/ios/Default@2x.png} +0 -0
  148. data/res/generators/templates/application/resources/ios/iTunesArtwork.png +0 -0
  149. data/res/generators/templates/application/resources/ios/iTunesArtwork@2x.png +0 -0
  150. data/res/generators/templates/application/resources/ios/icon114.png +0 -0
  151. data/res/generators/templates/application/resources/ios/icon120.png +0 -0
  152. data/res/generators/templates/application/resources/ios/icon144.png +0 -0
  153. data/res/generators/templates/application/resources/ios/icon152.png +0 -0
  154. data/res/generators/templates/application/resources/ios/icon180.png +0 -0
  155. data/res/generators/templates/application/resources/ios/icon57.png +0 -0
  156. data/res/generators/templates/application/resources/ios/icon60.png +0 -0
  157. data/res/generators/templates/application/resources/ios/icon72.png +0 -0
  158. data/res/generators/templates/application/resources/ios/icon76.png +0 -0
  159. data/res/generators/templates/application/rhoconfig.txt +2 -1
  160. data/res/generators/templates/iphone_project/Bremen7.xcodeproj/project.pbxproj +44 -0
  161. data/res/generators/templates/iphone_project/Resources/back_btn.png +0 -0
  162. data/res/generators/templates/iphone_project/Resources/back_btn@2x.png +0 -0
  163. data/res/generators/templates/iphone_project/Resources/back_btn@3x.png +0 -0
  164. data/res/generators/templates/iphone_project/Resources/forward_btn.png +0 -0
  165. data/res/generators/templates/iphone_project/Resources/forward_btn@2x.png +0 -0
  166. data/res/generators/templates/iphone_project/Resources/forward_btn@3x.png +0 -0
  167. data/res/generators/templates/iphone_project/Resources/gears.png +0 -0
  168. data/res/generators/templates/iphone_project/Resources/gears@2x.png +0 -0
  169. data/res/generators/templates/iphone_project/Resources/gears@3x.png +0 -0
  170. data/res/generators/templates/iphone_project/Resources/home_btn.png +0 -0
  171. data/res/generators/templates/iphone_project/Resources/home_btn@2x.png +0 -0
  172. data/res/generators/templates/iphone_project/Resources/home_btn@3x.png +0 -0
  173. data/res/generators/templates/iphone_project/Resources/sync_btn.png +0 -0
  174. data/res/generators/templates/iphone_project/Resources/sync_btn@2x.png +0 -0
  175. data/res/generators/templates/iphone_project/Resources/sync_btn@3x.png +0 -0
  176. data/res/generators/templates/iphone_project/buildRhoBundle +23 -7
  177. data/res/generators/templates/iphone_project/root/Info.plist +0 -7
  178. data/res/generators/templates/iphone_project/root/iTunesArtwork +0 -0
  179. data/res/generators/templates/iphone_project/root/iTunesArtwork@2x +0 -0
  180. data/res/generators/templates/iphone_project/root/icon114.png +0 -0
  181. data/res/generators/templates/iphone_project/root/icon120.png +0 -0
  182. data/res/generators/templates/iphone_project/root/icon144.png +0 -0
  183. data/res/generators/templates/iphone_project/root/icon152.png +0 -0
  184. data/res/generators/templates/iphone_project/root/icon180.png +0 -0
  185. data/res/generators/templates/iphone_project/root/icon57.png +0 -0
  186. data/res/generators/templates/iphone_project/root/icon60.png +0 -0
  187. data/res/generators/templates/iphone_project/root/icon72.png +0 -0
  188. data/res/generators/templates/iphone_project/root/icon76.png +0 -0
  189. data/res/generators/templates/project/android_studio_project/app/build.gradle.erb +88 -0
  190. data/res/generators/templates/project/android_studio_project/build.gradle +23 -0
  191. data/res/generators/templates/project/android_studio_project/gradle.properties +17 -0
  192. data/res/generators/templates/project/android_studio_project/gradlew +160 -0
  193. data/res/generators/templates/project/android_studio_project/gradlew.bat +90 -0
  194. data/res/generators/templates/project/android_studio_project/settings.gradle +1 -0
  195. data/rhodes.gemspec +7 -6
  196. data/version +1 -1
  197. metadata +135 -42
  198. data/res/generators/templates/application/icon/icon.svg +0 -22
  199. data/res/generators/templates/application/icon/icon114.png +0 -0
  200. data/res/generators/templates/application/icon/icon120.png +0 -0
  201. data/res/generators/templates/application/icon/icon144.png +0 -0
  202. data/res/generators/templates/application/icon/icon152.png +0 -0
  203. data/res/generators/templates/application/icon/icon180.png +0 -0
  204. data/res/generators/templates/application/icon/icon57.png +0 -0
  205. data/res/generators/templates/application/icon/icon60.png +0 -0
  206. data/res/generators/templates/application/icon/icon72.png +0 -0
  207. data/res/generators/templates/application/icon/icon76.png +0 -0
  208. data/res/generators/templates/application/production/iTunesArtwork.png +0 -0
  209. data/res/generators/templates/application/production/iTunesArtwork@2x.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ca79afe2871dc844140855c5c576cde2e543561f
4
- data.tar.gz: 205d5827bdf76a53bacd15aecbbe94ef1eafe2fd
3
+ metadata.gz: de39ae2813ad387575d40e304bb9696641b8e52e
4
+ data.tar.gz: eebd20c085d3e593c09a975378cd221731743776
5
5
  SHA512:
6
- metadata.gz: 6bbd7b25acd92e68ed940b77f4687fe92ce3044d65380183f9595e68b5ca1a82c20db7866ec2ea8334fc2c5d7ee5780196972cd1368a24a0365489b1ad10672e
7
- data.tar.gz: 9368726e9ccadcc979254160487ee1a36e3d39413be60c3de7691cf6ac0dcb05e07764e48da2faa52deba9664bb76f8416db09cc970707f85efc3ba18c22836e
6
+ metadata.gz: 803d56e2968beaaf18a0cc03ec469cc81e34fcb3cb7c75629b571b3d920bbb6019d553f24ce249445f1ffce1b15de507b6100e9c421da8dfd575aa5607610610
7
+ data.tar.gz: 74a4425fdd6002fea82c959c46a34ac9b9fb23b9170a914b04aa5153ff11f8ddb2bf6867c4830616fcd2cd48686f84b10633ab9a9e593e6cd73952af9fcfece7
@@ -4,7 +4,7 @@ Found an issue with Rhodes, give feedback or provide a patch? Here's how!
4
4
 
5
5
  ## Reporting issues
6
6
 
7
- We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within Rhodes. For application-specific or API-related questions, please visit our [Launchpad Disscussion Area](https://developer.zebra.com/community/rhomobile-suite/discussions/rhomobile-discussions). Please read the following guidelines before opening any issue.
7
+ We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within Rhodes. For application-specific or API-related questions, please visit our [Forums](http://forums.tau-technologies.com). Please read the following guidelines before opening any issue.
8
8
 
9
9
  1. **Search for existing issues.** We sometimes get duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
10
10
  2. **Create an isolated and reproducible test case.** Be sure the problem exists in Rhodes' code.
data/CREDITS CHANGED
@@ -1,4 +1,4 @@
1
- This media, software or hardware ("Product") obtained from Tau, Inc. ("Tau") may include Tau?
1
+ This media, software or hardware ("Product") obtained from Tau Technologies, Inc. ("Tau") may include Tau?
2
2
  Software, Third Party Software (defined below), and/or Open Source Software
3
3
  (defined below).
4
4
 
@@ -9,9 +9,9 @@ more agreements in force between the purchaser of the Tau
9
9
  Product or licensee of the Tau Software and Tau. SOFTWARE IS PROTECTED BY U.S. COPYRIGHT LAWS AND INTERNATIONAL
10
10
  LAWS AND TREATIES. UNAUTHORIZED COPYING, DISTRIBUTION OR OTHER USE OF
11
11
  THIS PRODUCT IS STRICTLY PROHIBITED. ANY DISTRIBUTION OR USE NOT
12
- SPECIFICALLY APPROVED BY ZEBRA IS STRICTLY PROHIBITED.
12
+ SPECIFICALLY APPROVED BY TAU IS STRICTLY PROHIBITED.
13
13
 
14
- Tau? Software is subject to the commercial terms and
14
+ Tau Software is subject to the commercial terms and
15
15
  conditions entered into with Tau, any other use is strictly
16
16
  prohibited. Commercial Software licensed for redistribution by Tau ("Third Party Software") is subject to the terms and conditions
17
17
  in force between Tau and the licensor of the Third party
data/LICENSE CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Copyright (c) 2008-2010 Rhomobile, Inc.
4
4
  Copyright (c) 2011-2016 Symbol Technologies LLC
5
- Copyright (c) 2016 Tau Technologies, Inc.
5
+ Copyright (c) 2016-2017 Tau Technologies, Inc.
6
6
 
7
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  of this software and associated documentation files (the "Software"), to deal
@@ -262,7 +262,7 @@ Instructions for installing RhoMobile Suite including all its components (Rhodes
262
262
 
263
263
  <hr class="clsSectionBreak" />
264
264
  <p>
265
- <i>Copyright &copy; 2015-2016<br>
265
+ <i>Copyright &copy; 2015-2017<br>
266
266
  Tau Technologies, Inc.
267
267
 
268
268
 
data/Rakefile CHANGED
@@ -74,6 +74,7 @@ end
74
74
  #------------------------------------------------------------------------
75
75
 
76
76
  $app_basedir = pwd
77
+ $is_webkit_engine = false
77
78
  $startdir = File.dirname(__FILE__)
78
79
  $startdir.gsub!('\\', '/')
79
80
 
@@ -156,7 +157,7 @@ namespace "framework" do
156
157
  end
157
158
  end
158
159
 
159
- $application_build_configs_keys = ['security_token', 'encrypt_database', 'android_title', 'iphone_db_in_approot', 'iphone_set_approot', 'iphone_userpath_in_approot', "iphone_use_new_ios7_status_bar_style", "iphone_full_screen", "webkit_outprocess", "webengine"]
160
+ $application_build_configs_keys = ['security_token', 'encrypt_database', 'android_title', 'iphone_db_in_approot', 'iphone_set_approot', 'iphone_userpath_in_approot', "iphone_use_new_ios7_status_bar_style", "iphone_full_screen", "webkit_outprocess", "webengine", "iphone_enable_startup_logging"]
160
161
 
161
162
  $winxpe_build = false
162
163
 
@@ -832,7 +833,7 @@ def cloud_url_git_match(str)
832
833
  # else
833
834
  server = res[1]; user = res[2]; app = res[3]
834
835
  end
835
-
836
+
836
837
  (server.nil? || app.nil?) ? {} : { :str => "#{server}:#{user}/#{app}", :server => server, :user => user, :app => app }
837
838
  end
838
839
 
@@ -2019,9 +2020,9 @@ namespace "config" do
2019
2020
 
2020
2021
  $app_config["capabilities"] += ["symbol"] unless $app_config["capabilities"].index("symbol")
2021
2022
  if $current_platform == "wm"
2022
- $app_config["extensions"] += ["webkit"]
2023
+ $app_config["extensions"] += ["webkit"]
2023
2024
  else
2024
- $app_config["extensions"] += ["rhoelementsext"]
2025
+ $app_config["extensions"] += ["rhoelementsext"]
2025
2026
  $app_config["extensions"] += ["symbolapi"] #extension with plug-ins
2026
2027
 
2027
2028
  #check for RE2 plugins
@@ -2038,7 +2039,7 @@ namespace "config" do
2038
2039
  end
2039
2040
 
2040
2041
  application_build_configs['moto-plugins'] = plugins if plugins.length() > 0
2041
- end
2042
+ end
2042
2043
 
2043
2044
 
2044
2045
  if !$app_config["capabilities"].index('native_browser') && $current_platform != "android"
@@ -2099,7 +2100,7 @@ namespace "config" do
2099
2100
  $app_config['extensions'] = $app_config['extensions'] | ['hardwarekeys']
2100
2101
  $app_config['extensions'] = $app_config['extensions'] | ['sensor']
2101
2102
  end
2102
-
2103
+
2103
2104
  if $current_platform == "wp8"
2104
2105
  $app_config['extensions'] = $app_config['extensions'] | ['barcode']
2105
2106
  end
@@ -2294,6 +2295,10 @@ def add_linker_library(libraryname)
2294
2295
  $ldflags << "#{tmpdir}/#{libraryname}\n" unless $ldflags.nil?
2295
2296
  end
2296
2297
 
2298
+ def add_inker_library_absolute(fulllibraryfilepath)
2299
+ $ldflags << fulllibraryfilepath + "\n" unless $ldflags.nil?
2300
+ end
2301
+
2297
2302
  def set_linker_flags
2298
2303
  if $config["platform"] == "iphone"
2299
2304
  simulator = $sdk =~ /iphonesimulator/
@@ -2486,6 +2491,10 @@ def init_extensions(dest, mode = "")
2486
2491
 
2487
2492
  $app_config["extensions"].each do |extname|
2488
2493
  puts 'ext - ' + extname
2494
+
2495
+ if extname == "webkit"
2496
+ $is_webkit_engine = true
2497
+ end
2489
2498
 
2490
2499
  extpath = nil
2491
2500
  extpaths.each do |p|
@@ -2539,6 +2548,19 @@ def init_extensions(dest, mode = "")
2539
2548
  end
2540
2549
  end
2541
2550
 
2551
+ # add additional libraries
2552
+ link_libraries = []
2553
+ if (!extconf["link_libraries"].nil?) && (extconf["link_libraries"].is_a? Array)
2554
+ link_libraries += extconf["link_libraries"]
2555
+ end
2556
+ if (!extconf[$config["platform"]].nil?) && (!extconf[$config["platform"]]["link_libraries"].nil?) && (extconf[$config["platform"]]["link_libraries"].is_a? Array)
2557
+ link_libraries += extconf[$config["platform"]]["link_libraries"]
2558
+ end
2559
+ link_libraries.each do |linklib|
2560
+ fulllibpath = File.join(extpath, linklib)
2561
+ add_inker_library_absolute(fulllibpath)
2562
+ end
2563
+
2542
2564
  if entry && entry.length() > 0
2543
2565
  if xml_api_paths.nil? #&& !(("rhoelementsext" == extname || "dominjector" == extname ) && ($config["platform"] == "wm"||$config["platform"] == "android"))
2544
2566
 
@@ -2547,7 +2569,7 @@ def init_extensions(dest, mode = "")
2547
2569
 
2548
2570
  if (("rhoelementsext" == extname || "dominjector" == extname) && ($config["platform"] == "wm"||$config["platform"] == "android"))
2549
2571
  extentries << entry
2550
- extentries_init << entry
2572
+ extentries_init << entry
2551
2573
  elsif !$js_application
2552
2574
  extentries << entry
2553
2575
  entry = "if (rho_ruby_is_started()) #{entry}"
@@ -2670,6 +2692,23 @@ def init_extensions(dest, mode = "")
2670
2692
 
2671
2693
  end
2672
2694
 
2695
+ stubs = File.join($startdir, "platform", "wm", "rhodes", "browser", "stubs.cpp")
2696
+ if $is_webkit_engine == false
2697
+ File.open(stubs, "w+") do |f|
2698
+ f.puts "// WARNING! THIS FILE IS GENERATED AUTOMATICALLY! DO NOT EDIT IT MANUALLY!"
2699
+ f.puts "#include \"StdAfx.h\""
2700
+ f.puts "#include \"common/RhoStd.h\""
2701
+ f.puts "#include \"IBrowserEngine.h\""
2702
+ f.puts "rho::IBrowserEngine* rho_wmimpl_get_webkitBrowserEngine(HWND hwndParent, HINSTANCE rhoAppInstance) {return 0;}"
2703
+ Jake.modify_file_if_content_changed( stubs, f )
2704
+ end
2705
+ else
2706
+ File.open(stubs, "w+") do |f|
2707
+ f.puts "// WARNING! THIS FILE IS GENERATED AUTOMATICALLY! DO NOT EDIT IT MANUALLY!"
2708
+ f.puts "#include \"StdAfx.h\""
2709
+ Jake.modify_file_if_content_changed( stubs, f )
2710
+ end
2711
+ end
2673
2712
 
2674
2713
  if ($ruby_only_extensions_list)
2675
2714
  BuildOutput.warning([
@@ -4151,7 +4190,7 @@ namespace "wm_gem" do
4151
4190
  $neon_root = $config["env"]["paths"]["neon"] unless $config["env"]["paths"]["neon"].nil?
4152
4191
  $rhoelementsext_main_dir = File.join($startdir, 'extensions/rhoelementsext/ext')
4153
4192
  $rhoelementsext_wm_dir = File.join($rhoelementsext_main_dir, "rhoelementsext/platform/wm")
4154
-
4193
+
4155
4194
  $re_version = $config['version']
4156
4195
  end
4157
4196
 
@@ -4161,23 +4200,23 @@ namespace "wm_gem" do
4161
4200
 
4162
4201
  dest_dir = "./libs/data"
4163
4202
  mkdir_p dest_dir
4164
-
4203
+
4165
4204
  src_dir = File.join($startdir, "neon/R2D1/Build" )
4166
-
4205
+
4167
4206
  cp_r File.join(src_dir, "Config"), dest_dir, :preserve => true
4168
4207
  cp_r File.join(src_dir, "Windows/NPAPI"), dest_dir, :preserve => true
4169
4208
  cp_r File.join(src_dir, "Windows/Plugins"), File.join(dest_dir, 'Plugin'), :preserve => true
4170
4209
 
4171
4210
  Dir.glob(File.join(src_dir, "Windows/Binaries/*.*")).each { |f| cp_r f, dest_dir }
4172
4211
  Dir.glob(File.join(src_dir, "Windows/WebKit/*.*")).each { |f| cp_r f, dest_dir }
4173
-
4212
+
4174
4213
  chdir File.dirname(__FILE__)
4175
4214
  chmod_R 0777, "./libs/data"
4176
4215
  end
4177
4216
  end
4178
- end
4217
+ end
4179
4218
  end
4180
- namespace "build" do
4219
+ namespace "build" do
4181
4220
  task :set_neon, :neon_dir do |t, args|
4182
4221
  Jake.edit_yml(File.join(File.dirname(__FILE__), 'rhoelements.yml')) do |yml|
4183
4222
  yml['env']['paths']['neon'] = args[:neon_dir]
@@ -4209,7 +4248,7 @@ namespace :run do
4209
4248
  desc "start rholog(webrick) server"
4210
4249
  task :webrickrhologserver, :app_path do |t, args|
4211
4250
  require 'webrick'
4212
-
4251
+
4213
4252
  puts "Args were: #{args}"
4214
4253
  $app_path = args[:app_path]
4215
4254
 
File without changes
@@ -21,7 +21,7 @@ ARGS = [
21
21
  "-I\"#{$rootdir}/platform/android/Rhodes/jni/include\"",
22
22
  "-I\"#{$rootdir}/platform/android/Rhodes/jni/include/rhodes/details\"",
23
23
  "-I\"#{$rootdir}/platform/shared/ruby/include\"",
24
- "-I\"#{$rootdir}/lib/commonApi/coreapi/ext/shared\"",
24
+ "-I\"#{$rootdir}/lib/commonAPI/coreapi/ext/shared\"",
25
25
  "-I\"#{$rootdir}/platform/shared\"",
26
26
  "-I\"#{$rootdir}/platform/shared/common\"",
27
27
  "-I\"#{$rootdir}/platform/shared/api_generator\"",
@@ -876,6 +876,17 @@ class Jake
876
876
  app_version += "\r\napp_name='#{$app_config["name"]}'"
877
877
  app_version += "\r\ntitle_text='#{$app_config["name"]}'" if $current_platform == "win32"
878
878
  app_version += "\r\norg_name='#{$app_config["vendor"]}'" if $current_platform == "win32"
879
+ app_version += "\r\nrho_app_id='#{$app_config["rho_app_id"]}'" if $app_config['rho_app_id']
880
+
881
+ #store Rhodes version to rhoconfig
882
+ version_path = File.join($startdir, 'version')
883
+ version = ""
884
+ File.open( version_path, 'rb' ){ |f| version = f.read() }
885
+ app_version += "\r\nrhodes_gem_version='#{version}'"
886
+
887
+ if $is_webkit_engine == true
888
+ File.open(File.join($srcdir,'apps/rhoconfig.txt'), "a"){ |f| f.write("\r\nwebengine=webkit") }
889
+ end
879
890
 
880
891
  File.open(File.join($srcdir,'apps/rhoconfig.txt'), "a"){ |f| f.write(app_version) }
881
892
  File.open(File.join($srcdir,'apps/rhoconfig.txt.timestamp'), "w"){ |f| f.write(Time.now.to_f().to_s()) }
@@ -10,7 +10,8 @@
10
10
 
11
11
  [obj setProperty:@"ID" propertyValue:ID methodResult:nil];
12
12
  [obj setProperty:@"friendlyName" propertyValue:@"ZBar S/W Scanner" methodResult:nil];
13
+ [obj setProperty:@"scannerType" propertyValue:@"Camera" methodResult:nil];
13
14
 
14
15
  return obj;
15
16
  }
16
- @end
17
+ @end
@@ -102,6 +102,10 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
102
102
  <PLATFORM>Android</PLATFORM>
103
103
  <DESC>Place TabBar to bottom instead of default top - only for Android.</DESC>
104
104
  </PARAM>
105
+ <PARAM name="invisibleTabControl" type="BOOLEAN">
106
+ <PLATFORM>iOS</PLATFORM>
107
+ <DESC>Make TabBar control invisible. Application developer should switch between tabs programatically.</DESC>
108
+ </PARAM>
105
109
  </PARAMS>
106
110
  </PARAM>
107
111
  </PARAMS>
@@ -96,6 +96,7 @@ namespace rho {
96
96
  //oResult.setError("supported only set IconBadge !");
97
97
  int r = (int)([UIApplication sharedApplication].applicationIconBadgeNumber);
98
98
  //NSLog(@"badge number is %d", r);
99
+ RAWLOG_INFO1("badge number is %d", r);
99
100
  oResult.set(r);
100
101
  }
101
102
 
@@ -1,6 +1,11 @@
1
1
 
2
2
  #import "NativeTabbarSingleton.h"
3
3
 
4
+ #import "logging/RhoLog.h"
5
+ #undef DEFAULT_LOGCATEGORY
6
+ #define DEFAULT_LOGCATEGORY "NativeTabbar"
7
+
8
+
4
9
  extern void rho_create_tabbar(NSArray* items, NSDictionary* properties, id<IMethodResult>callback);
5
10
  extern BOOL nativetabbar_started();
6
11
  extern void remove_native_tabbar();
@@ -14,7 +19,7 @@ extern void native_tabbar_switch_tab(int index);
14
19
 
15
20
  -(void) create:(NSArray*)tabElements tabBarProperties:(NSDictionary*)tabBarProperties methodResult:(id<IMethodResult>)methodResult {
16
21
  if (![tabElements isKindOfClass:[NSArray class]]) {
17
- NSLog(@"Tabbar.create ERROR - tabElements parameter should be Array !");
22
+ RAWLOG_ERROR("Tabbar.create ERROR - tabElements parameter should be Array !");
18
23
  return;
19
24
  }
20
25
  rho_create_tabbar(tabElements, tabBarProperties, methodResult);
@@ -46,4 +51,4 @@ extern void native_tabbar_switch_tab(int index);
46
51
 
47
52
 
48
53
 
49
- @end
54
+ @end
@@ -1,6 +1,10 @@
1
1
 
2
2
  #import "NativeToolbarSingleton.h"
3
3
 
4
+ #import "logging/RhoLog.h"
5
+ #undef DEFAULT_LOGCATEGORY
6
+ #define DEFAULT_LOGCATEGORY "NativeToolbar"
7
+
4
8
  extern void rho_create_toolbar(NSArray* items, NSDictionary* properties);
5
9
  extern BOOL nativetoolbar_started();
6
10
  extern void remove_native_toolbar();
@@ -11,7 +15,7 @@ extern void remove_native_toolbar();
11
15
 
12
16
  -(void) create:(NSArray*)toolbarElements toolBarProperties:(NSDictionary*)toolBarProperties methodResult:(id<IMethodResult>)methodResult{
13
17
  if (![toolbarElements isKindOfClass:[NSArray class]]) {
14
- NSLog(@"Toolbar.create ERROR - elements parameter should be Array !");
18
+ RAWLOG_ERROR("Toolbar.create ERROR - elements parameter should be Array !");
15
19
  return;
16
20
  }
17
21
  rho_create_toolbar(toolbarElements, toolBarProperties);
@@ -28,4 +32,4 @@ extern void remove_native_toolbar();
28
32
 
29
33
 
30
34
 
31
- @end
35
+ @end
@@ -1,6 +1,12 @@
1
1
 
2
2
  #import "NavbarSingleton.h"
3
3
 
4
+
5
+ #import "logging/RhoLog.h"
6
+ #undef DEFAULT_LOGCATEGORY
7
+ #define DEFAULT_LOGCATEGORY "Navbar"
8
+
9
+
4
10
  extern void create_navbar(NSDictionary *p);
5
11
  extern void remove_navbar();
6
12
  extern BOOL navbar_started();
@@ -12,7 +18,7 @@ extern BOOL navbar_started();
12
18
 
13
19
  -(void) create:(NSDictionary*)navBarProperties methodResult:(id<IMethodResult>)methodResult{
14
20
  if (![navBarProperties isKindOfClass:[NSDictionary class]]) {
15
- NSLog(@"Navbar.create ERROR - parameter should be HASH !");
21
+ RAWLOG_ERROR("Navbar.create ERROR - parameter should be HASH !");
16
22
  return;
17
23
  }
18
24
  create_navbar(navBarProperties);
@@ -29,4 +35,4 @@ extern BOOL navbar_started();
29
35
 
30
36
 
31
37
 
32
- @end
38
+ @end
@@ -176,6 +176,9 @@ public:
176
176
  String dbRootFolder = CFilePath::join( rho_native_rhodbpath(), RHO_EMULATOR_DIR);
177
177
  if ( !String_startsWith(relativePath, dbRootFolder) )
178
178
  oResult.set( CFilePath::join( dbRootFolder, relativePath ) );
179
+ else {
180
+ oResult.set(relativePath);
181
+ }
179
182
  }
180
183
  }
181
184
 
@@ -412,6 +412,7 @@ void CNetworkImpl::createResult( NetResponse& resp, Hashtable<String,String>& ma
412
412
  mapRes["error_code"] = convertToStringA(RhoAppAdapter.getErrorFromResponse(resp));
413
413
  if ( resp.isResponseRecieved())
414
414
  mapRes["http_error"] = convertToStringA(resp.getRespCode());
415
+ mapRes["error_message"] = resp.getErrorMessage();
415
416
  }
416
417
 
417
418
  String cookies = resp.getCookies();
@@ -11,35 +11,41 @@
11
11
 
12
12
  extern "C" void rho_ios_log_console_output(const char* message);
13
13
 
14
- namespace rho
15
- {
14
+
15
+
16
+ #undef DEFAULT_LOGCATEGORY
17
+ #define DEFAULT_LOGCATEGORY "TimerImpl"
18
+
19
+
20
+ namespace rho
21
+ {
16
22
  class CTimerFactory;
17
23
 
18
24
  using namespace apiGenerator;
19
25
  using namespace common;
20
-
26
+
21
27
  class CTimerSingletonImpl: public CTimerSingletonBase
22
28
  {
23
29
  static unsigned int createdTimers;
24
30
 
25
31
  public:
26
-
32
+
27
33
  CTimerSingletonImpl(): CTimerSingletonBase(){}
28
-
34
+
29
35
  //methods
30
- // create Create a timers objects.
31
- virtual void create(rho::apiGenerator::CMethodResult& oResult)
36
+ // create Create a timers objects.
37
+ virtual void create(rho::apiGenerator::CMethodResult& oResult)
32
38
  {
33
39
  ++createdTimers;
34
40
 
35
41
  char buf[10];
36
42
  sprintf(buf, "%d", createdTimers);
37
43
  oResult.set(buf);
38
- }
39
- // enumerate This is documentation
40
- virtual void enumerate(rho::apiGenerator::CMethodResult& oResult) { }
44
+ }
45
+ // enumerate This is documentation
46
+ virtual void enumerate(rho::apiGenerator::CMethodResult& oResult) { }
41
47
  };
42
-
48
+
43
49
  unsigned int CTimerSingletonImpl::createdTimers = 0;
44
50
 
45
51
  class CTimerImpl : public CTimerBase, public common::CRhoTimer::ICallback
@@ -55,7 +61,7 @@ namespace rho
55
61
 
56
62
  virtual void run()
57
63
  {
58
-
64
+
59
65
  while ( !RHODESAPP().isApplicationActive() ) {
60
66
  wait(10);
61
67
  }
@@ -71,37 +77,40 @@ namespace rho
71
77
 
72
78
  public:
73
79
  CTimerImpl(const rho::String& timerID) : m_timerID(timerID), m_answerThread(0) {}
74
- virtual ~CTimerImpl()
80
+ virtual ~CTimerImpl()
75
81
  {
76
82
  if (!m_answerThread)
77
83
  delete m_answerThread;
78
84
  }
79
85
 
80
86
  //methods
81
- virtual void start( int interval, rho::apiGenerator::CMethodResult& oResult)
87
+ virtual void start( int interval, rho::apiGenerator::CMethodResult& oResult)
82
88
  {
83
89
  if (interval <= 0)
84
90
  {
91
+ LOG(ERROR) + "$NetRequestProcess$ PRE SET ERROR CTimerImpl::start";
85
92
  oResult.setError("invalid interval");
86
- return;
93
+ LOG(ERROR) + "$NetRequestProcess$ POST SET ERROR CTimerImpl::start";
94
+
95
+ return;
87
96
  }
88
97
 
89
98
  m_oResult = oResult;
90
99
  common::CRhoTimer& timerManager = RHODESAPP().getTimer();
91
100
  timerManager.addNativeTimer(interval, this);
92
- }
101
+ }
93
102
 
94
103
  virtual void stop(rho::apiGenerator::CMethodResult& oResult)
95
104
  {
96
105
  common::CRhoTimer& timerManager = RHODESAPP().getTimer();
97
106
  timerManager.stopNativeTimer(this);
98
- }
107
+ }
99
108
 
100
- virtual void isAlive(rho::apiGenerator::CMethodResult& oResult)
109
+ virtual void isAlive(rho::apiGenerator::CMethodResult& oResult)
101
110
  {
102
111
  common::CRhoTimer& timerManager = RHODESAPP().getTimer();
103
112
  oResult.set(timerManager.isNativeTimerExist(this));
104
- }
113
+ }
105
114
 
106
115
  virtual bool onTimer()
107
116
  {
@@ -114,20 +123,20 @@ namespace rho
114
123
  return true;
115
124
  }
116
125
  };
117
-
126
+
118
127
  ////////////////////////////////////////////////////////////////////////
119
-
120
- class CTimerFactory: public CTimerFactoryBase
128
+
129
+ class CTimerFactory: public CTimerFactoryBase
121
130
  {
122
131
  public:
123
132
  CTimerFactory(){}
124
-
133
+
125
134
  ITimerSingleton* createModuleSingleton()
126
- {
135
+ {
127
136
  return new CTimerSingletonImpl();
128
137
  }
129
-
130
- virtual ITimer* createModuleByID(const rho::String& strID){
138
+
139
+ virtual ITimer* createModuleByID(const rho::String& strID){
131
140
  return new CTimerImpl(strID);
132
141
  };
133
142
 
@@ -136,7 +145,7 @@ namespace rho
136
145
  return m_hashModules.size();
137
146
  }
138
147
  };
139
-
148
+
140
149
  }
141
150
 
142
151
  extern "C" void Init_Timer_extension()