rhodes 2.1.0 → 2.2.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. data/CHANGELOG +7 -0
  2. data/README.textile +4 -5
  3. data/Rakefile +8 -1
  4. data/lib/build/jake.rb +22 -16
  5. data/lib/extensions/rhoxml/rexml/cdata.rb +67 -0
  6. data/lib/extensions/rhoxml/rexml/document.rb +2 -116
  7. data/lib/extensions/rhoxml/rexml/element.rb +1 -1
  8. data/lib/extensions/rhoxml/rexml/text.rb +117 -0
  9. data/lib/framework/rho/render.rb +19 -11
  10. data/lib/framework/rho/rho.rb +17 -10
  11. data/lib/framework/rho/rhobluetooth.rb +103 -0
  12. data/lib/framework/rho/rhocontroller.rb +2 -0
  13. data/lib/framework/rho/rhoevent.rb +43 -0
  14. data/lib/framework/rho/rhoevent_bb.rb +80 -0
  15. data/lib/framework/rho/rhoevent_c.rb +47 -0
  16. data/lib/framework/rhodes.rb +2 -2
  17. data/lib/framework/rhom/rhom_db_adapter.rb +2 -1
  18. data/lib/framework/rhom/rhom_model.rb +9 -3
  19. data/lib/framework/rhom/rhom_object_factory.rb +46 -22
  20. data/lib/framework/rhom/rhom_source.rb +12 -10
  21. data/lib/framework/version.rb +2 -2
  22. data/lib/rhodes.rb +2 -2
  23. data/platform/android/Rhodes/AndroidManifest.xml +23 -2
  24. data/platform/android/Rhodes/gen/com/rhomobile/rhodes/R.java +54 -38
  25. data/platform/android/Rhodes/jni/include/rhodes.h +3 -0
  26. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +2 -2
  27. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +4 -0
  28. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +16 -0
  29. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_bluetooth_RhoBluetoothManager.h +21 -0
  30. data/platform/android/Rhodes/jni/src/bluetooth.cpp +169 -0
  31. data/platform/android/Rhodes/jni/src/callbacks.cpp +10 -0
  32. data/platform/android/Rhodes/jni/src/event.cpp +429 -0
  33. data/platform/android/Rhodes/jni/src/fileapi.cpp +51 -1
  34. data/platform/android/Rhodes/jni/src/rhodes.cpp +16 -0
  35. data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -0
  36. data/platform/android/Rhodes/res/layout/bt_device_list.xml +42 -0
  37. data/platform/android/Rhodes/res/layout/bt_device_name.xml +7 -0
  38. data/platform/android/Rhodes/res/values/strings.xml +8 -0
  39. data/platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java +14 -0
  40. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +2 -0
  41. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Push.java +7 -0
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +58 -0
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +53 -0
  44. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -0
  45. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +144 -3
  46. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java +66 -0
  47. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java +201 -0
  48. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +139 -0
  49. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java +401 -0
  50. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerOld.java +136 -0
  51. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.java +457 -0
  52. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java +71 -0
  53. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +12 -7
  54. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +19 -0
  55. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +261 -0
  56. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +4 -2
  57. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +2 -2
  58. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +10 -2
  59. data/platform/android/build/RhodesSRC_build.files +33 -22
  60. data/platform/android/build/android.rake +198 -27
  61. data/platform/android/build/librhodes_build.files +3 -1
  62. data/platform/android/build/libruby_build.files +4 -1
  63. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBResult.java +2 -2
  64. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBRowResult.java +1 -1
  65. data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +7 -4
  66. data/platform/bb/Hsqldb/src/org/hsqldb/Like.java +3 -3
  67. data/platform/bb/Hsqldb/src/org/hsqldb/Table.java +3 -1
  68. data/platform/bb/Hsqldb/src/org/hsqldb/Tokenizer.java +1 -1
  69. data/platform/bb/RubyVM/RubyVM.jdp +1 -0
  70. data/platform/bb/RubyVM/src/com/rho/RhoConf.java +108 -1
  71. data/platform/bb/RubyVM/src/com/rho/RhoLogConf.java +7 -1
  72. data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +7 -4
  73. data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +7 -1
  74. data/platform/bb/RubyVM/src/com/rho/net/AsyncHttp.java +1 -1
  75. data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +21 -23
  76. data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +19 -10
  77. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +8 -0
  78. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +3 -0
  79. data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +14 -17
  80. data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFile.java +7 -5
  81. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +2 -0
  82. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +10 -1
  83. data/platform/bb/RubyVM/src/j2me/io/File.java +7 -6
  84. data/platform/bb/build/RubyVM_build.files +412 -412
  85. data/platform/bb/build/bb.rake +42 -18
  86. data/platform/bb/build/hsqldb_build.files +151 -151
  87. data/platform/bb/build/rhodes_build.files +44 -40
  88. data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +2 -0
  89. data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +237 -0
  90. data/platform/bb/rhodes/platform/common/com/rho/RhodesApplicationPlatform.java +14 -0
  91. data/platform/bb/rhodes/rhodes.jdp +6 -1
  92. data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +7 -1
  93. data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +14 -0
  94. data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +62 -76
  95. data/platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java +660 -0
  96. data/platform/bb/rhodes/src/{rhomobile → com/rho/rubyext}/RhoPhonebook.java +95 -38
  97. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +22 -1
  98. data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +26 -6
  99. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -7
  100. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothManager.java +528 -0
  101. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothPort.java +281 -0
  102. data/platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothScreen.java +119 -0
  103. data/platform/bb/rhodes/src/rhomobile/camera/CameraFilesListener.java +2 -2
  104. data/platform/iphone/Classes/AppManager/AppManager.m +70 -7
  105. data/platform/iphone/Classes/Bluetooth/Bluetooth.h +72 -0
  106. data/platform/iphone/Classes/Bluetooth/Bluetooth.m +414 -0
  107. data/platform/iphone/Classes/Event/Event.h +12 -0
  108. data/platform/iphone/Classes/Event/Event.m +300 -0
  109. data/platform/iphone/Classes/LogOptionsController.h +2 -1
  110. data/platform/iphone/Classes/LogOptionsController.m +1 -1
  111. data/platform/iphone/Classes/LogViewController.h +2 -1
  112. data/platform/iphone/Classes/MapView/MapViewController.h +2 -1
  113. data/platform/iphone/Classes/RhoViewController.h +16 -0
  114. data/platform/iphone/Classes/RhoViewController.m +20 -0
  115. data/platform/iphone/Classes/Rhodes.h +12 -0
  116. data/platform/iphone/Classes/Rhodes.m +34 -6
  117. data/platform/iphone/Classes/Signature/SignatureViewController.h +2 -2
  118. data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -10
  119. data/platform/iphone/Classes/SimpleMainView.h +2 -2
  120. data/platform/iphone/Classes/SimpleMainView.m +5 -14
  121. data/platform/iphone/Classes/SplashViewController.h +2 -2
  122. data/platform/iphone/Classes/TabbedMainView.h +2 -2
  123. data/platform/iphone/Classes/TabbedMainView.m +5 -10
  124. data/platform/iphone/Info.plist +5 -5
  125. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +39 -0
  126. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +47 -4
  127. data/platform/osx/Rhodes Debugger/NoodleLineNumberView.m +3 -2
  128. data/platform/shared/common/AutoPointer.h +3 -0
  129. data/platform/shared/common/RhoConf.cpp +2 -1
  130. data/platform/shared/common/RhoThread.h +1 -1
  131. data/platform/shared/common/RhoTime.h +3 -3
  132. data/platform/shared/common/RhodesApp.cpp +75 -23
  133. data/platform/shared/common/RhodesApp.h +4 -0
  134. data/platform/shared/common/RhodesAppBase.h +2 -0
  135. data/platform/shared/common/ThreadQueue.cpp +23 -18
  136. data/platform/shared/common/ThreadQueue.h +2 -0
  137. data/platform/shared/db/res/db/syncdb.schema +39 -39
  138. data/platform/shared/logging/RhoLogConf.cpp +58 -3
  139. data/platform/shared/logging/RhoLogConf.h +3 -1
  140. data/platform/shared/net/CURLNetRequest.cpp +17 -6
  141. data/platform/shared/net/HttpServer.cpp +125 -25
  142. data/platform/shared/net/HttpServer.h +4 -3
  143. data/platform/shared/ruby/ext/bluetooth/bluetooth.i +56 -0
  144. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +2563 -0
  145. data/platform/shared/ruby/ext/calendar/calendar.i +28 -0
  146. data/platform/shared/ruby/ext/calendar/calendar_wrap.c +2251 -0
  147. data/platform/shared/ruby/ext/calendar/event.h +41 -0
  148. data/platform/shared/ruby/ext/calendar/event.i +28 -0
  149. data/platform/shared/ruby/ext/calendar/event_wrap.c +2151 -0
  150. data/platform/shared/ruby/ext/rho/rhoruby.c +103 -3
  151. data/platform/shared/ruby/ext/rho/rhoruby.h +16 -2
  152. data/platform/shared/ruby/ext/rhoconf/rhoconf.i +12 -0
  153. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +101 -0
  154. data/platform/shared/ruby/ext/system/system.i +14 -0
  155. data/platform/shared/ruby/ext/system/system_wrap.c +2568 -2208
  156. data/platform/shared/ruby/main.c +8 -0
  157. data/platform/shared/rubyext/GeoLocation.cpp +6 -3
  158. data/platform/shared/rubyext/System.cpp +14 -0
  159. data/platform/shared/sync/SyncEngine.cpp +9 -1
  160. data/platform/shared/sync/SyncNotify.cpp +16 -8
  161. data/platform/shared/sync/SyncNotify.h +1 -0
  162. data/platform/shared/sync/SyncThread.cpp +7 -12
  163. data/platform/shared/sync/SyncThread.h +5 -3
  164. data/platform/wm/build/wm.rake +7 -1
  165. data/platform/wm/rhodes/Alert.cpp +1 -1
  166. data/platform/wm/rhodes/MainWindow.cpp +28 -0
  167. data/platform/wm/rhodes/MainWindow.h +9 -0
  168. data/platform/wm/rhodes/OutlookApp.cpp +72 -0
  169. data/platform/wm/rhodes/OutlookApp.h +22 -0
  170. data/platform/wm/rhodes/Rhodes.cpp +8 -0
  171. data/platform/wm/rhodes/Rhodes.rc +31 -0
  172. data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +1274 -0
  173. data/platform/wm/rhodes/bluetooth/Bluetooth.h +321 -0
  174. data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +37 -70
  175. data/platform/wm/rhodes/phonebook/NativeAddressBook.h +0 -4
  176. data/platform/wm/rhodes/resource.h +8 -1
  177. data/platform/wm/rhodes/rho/net/NetRequest.cpp +4 -0
  178. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -4
  179. data/platform/wm/rhodes/rho/rubyext/calendar.cpp +487 -0
  180. data/platform/wm/rhodes/rhodes.vcproj +28 -11
  181. data/platform/wm/rhodes/stdafx.h +1 -0
  182. data/platform/wm/rubylib/rubylib.vcproj +32 -0
  183. data/rakefile.rb +8 -1
  184. data/res/generators/templates/application/Rakefile +1 -1
  185. data/res/generators/templates/application/app/layout.erb +4 -1
  186. data/res/generators/templates/application/build.yml +0 -1
  187. data/res/generators/templates/application/public/css/iphone.css +2 -2
  188. data/res/generators/templates/application/public/jqtouch/jqtouch-iphone.css +9 -0
  189. data/res/generators/templates/application/public/jqtouch/jqtouch.css +1 -5
  190. data/res/generators/templates/application/public/jqtouch/jqtouch.js +3 -2
  191. data/rhodes.gemspec +1 -1
  192. data/spec/perfomance_spec/app/Benchmark/benchmark.rb +4 -0
  193. data/spec/perfomance_spec/app/Benchmark/bulk_results.erb +13 -0
  194. data/spec/perfomance_spec/app/Benchmark/controller.rb +178 -0
  195. data/spec/perfomance_spec/app/Benchmark/create_results.erb +13 -0
  196. data/spec/perfomance_spec/app/Benchmark/customers.erb +35 -0
  197. data/spec/perfomance_spec/app/Benchmark/index.erb +9 -0
  198. data/spec/perfomance_spec/app/Benchmark/products.erb +25 -0
  199. data/spec/perfomance_spec/app/Benchmark/search_results.erb +13 -0
  200. data/spec/perfomance_spec/app/Customer/customer.rb +6 -0
  201. data/spec/perfomance_spec/app/Perftest/index.erb +5 -0
  202. data/spec/perfomance_spec/app/Product/index.erb +25 -0
  203. data/spec/perfomance_spec/app/Product/product.rb +6 -0
  204. data/spec/perfomance_spec/app/helpers/application_helper.rb +126 -0
  205. data/spec/perfomance_spec/app/helpers/browser_helper.rb +18 -0
  206. data/spec/perfomance_spec/rhoconfig.txt +1 -1
  207. data/spec/phone_spec/app/Account_s/account_s.rb +5 -2
  208. data/spec/phone_spec/app/Case/case.rb +1 -0
  209. data/spec/phone_spec/app/Case_s/case_s.rb +2 -0
  210. data/spec/phone_spec/app/Data/perftest.json +35 -0
  211. data/spec/phone_spec/app/Data/testCDATA.xml +11 -0
  212. data/spec/phone_spec/app/Product/product.rb +1 -1
  213. data/spec/phone_spec/app/{Spec → spec}/asynchttp_spec.rb +66 -17
  214. data/spec/phone_spec/app/{Spec → spec}/barcode_spec.rb +0 -0
  215. data/spec/phone_spec/app/{Spec → spec}/blobsync_spec.rb +0 -0
  216. data/spec/phone_spec/app/{Spec → spec}/bsearch_spec.rb +0 -0
  217. data/spec/phone_spec/app/{Spec → spec}/bulksync_spec.rb +0 -0
  218. data/spec/phone_spec/app/{Spec → spec}/contacts_spec.rb +0 -0
  219. data/spec/phone_spec/app/{Spec → spec}/crypt_spec.rb +0 -0
  220. data/spec/phone_spec/app/{Spec → spec}/date_spec.rb +0 -0
  221. data/spec/phone_spec/app/spec/events_spec.rb +199 -0
  222. data/spec/phone_spec/app/{Spec → spec}/fixtures/client_info.txt +0 -0
  223. data/spec/phone_spec/app/{Spec → spec}/fixtures/object_values.txt +0 -0
  224. data/spec/phone_spec/app/{Spec → spec}/json_spec.rb +11 -2
  225. data/spec/phone_spec/app/{Spec → spec}/mapview_spec.rb +0 -0
  226. data/spec/phone_spec/app/{Spec → spec}/nativebar_spec.rb +0 -0
  227. data/spec/phone_spec/app/{Spec → spec}/navbar_spec.rb +0 -0
  228. data/spec/phone_spec/app/{Spec → spec}/pagination/fixtures/object_values.txt +0 -0
  229. data/spec/phone_spec/app/{Spec → spec}/rho_controller_spec.rb +5 -0
  230. data/spec/phone_spec/app/{Spec → spec}/rho_spec.rb +48 -0
  231. data/spec/phone_spec/app/{Spec → spec}/rhofile_spec.rb +9 -6
  232. data/spec/phone_spec/app/{Spec → spec}/rhom_object_spec.rb +188 -9
  233. data/spec/phone_spec/app/{Spec → spec}/syncengine_spec.rb +0 -0
  234. data/spec/phone_spec/app/{Spec → spec}/xml_spec.rb +15 -0
  235. data/spec/phone_spec/app/{Spec → spec}/xruby_spec.rb +0 -0
  236. data/spec/phone_spec/app/spec_runner.rb +4 -1
  237. data/spec/phone_spec/build.yml +2 -1
  238. metadata +95 -31
  239. data/platform/bb/rhodes/platform/5.0/com/rho/RhoMainScreen.java +0 -36
  240. data/platform/bb/rhodes/platform/6.0/com/rho/BrowserAdapter5.java +0 -155
  241. data/platform/bb/rhodes/platform/6.0/com/rho/RhoMainScreen.java +0 -36
@@ -31,6 +31,21 @@ describe "Xml" do
31
31
  ch_count.should == 10
32
32
  end
33
33
 
34
+ it "should parse CDATA" do
35
+ file_name = File.join(Rho::RhoApplication::get_model_path('app','Data'), 'testCDATA.xml')
36
+
37
+ file = File.new(file_name)
38
+ doc = REXML::Document.new(file)
39
+
40
+ persons = REXML::XPath.each( doc, "//person/" )
41
+ firstname=""
42
+ persons.each do |ch|
43
+ firstname = ch.elements['firstname'].text
44
+ end
45
+
46
+ firstname.should == "Sample bold <b</b>Tag"
47
+ end
48
+
34
49
  class MyStreamListener
35
50
 
36
51
  def initialize(events)
@@ -16,9 +16,11 @@ class SpecRunner < MSpecScript
16
16
 
17
17
  config[:files] << [ "spec/rhom_object_spec",
18
18
  [ {:schema_model=>true, :sync_model=>true}, {:schema_model=>true, :sync_model=>false},
19
- {:schema_model=>false, :sync_model=>true}, {:schema_model=>false, :sync_model=>true} ] ]
19
+ {:schema_model=>false, :sync_model=>true}, {:schema_model=>false, :sync_model=>false} ] ]
20
20
 
21
21
  config[:files] << "spec/contacts_spec" unless System.get_property('device_name') == 'Win32'
22
+ config[:files] << "spec/events_spec" unless System.get_property('device_name') == 'Win32'
23
+
22
24
  config[:files] << "spec/barcode_spec" unless System.get_property('device_name') == 'Win32'
23
25
  config[:files] << "spec/mapview_spec" unless System.get_property('platform') == 'WINDOWS'
24
26
  config[:files] << "spec/nativebar_spec" if System.get_property('platform') == 'APPLE' || System.get_property('platform') == 'ANDROID'
@@ -27,6 +29,7 @@ class SpecRunner < MSpecScript
27
29
  config[:files] << "spec/xruby_spec" if defined? RHO_ME
28
30
 
29
31
  config[:files] << [ "spec/syncengine_spec", [ {:schema_model=>true }, {:schema_model=>false } ] ]
32
+
30
33
  config[:files] << "spec/blobsync_spec"
31
34
  config[:files] << "spec/bulksync_spec"
32
35
  end
@@ -18,7 +18,6 @@ android:
18
18
  mapping: enabled
19
19
  capabilities:
20
20
  - network_state
21
- - pim
22
21
 
23
22
  extensions: ["barcode"]
24
23
 
@@ -29,7 +28,9 @@ bb:
29
28
  extensions: ["barcode"]
30
29
 
31
30
  capabilities:
31
+ - pim
32
32
  - push
33
+ - calendar
33
34
 
34
35
  extensions: ["json", "rhoxml", "rhospec", "crypt"]
35
36
 
metadata CHANGED
@@ -1,13 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhodes
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
4
+ hash: 62196417
5
+ prerelease: true
6
6
  segments:
7
7
  - 2
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 2.1.0
10
+ - beta
11
+ - 1
12
+ version: 2.2.0.beta.1
11
13
  platform: ruby
12
14
  authors:
13
15
  - Rhomobile
@@ -15,7 +17,7 @@ autorequire:
15
17
  bindir: bin
16
18
  cert_chain: []
17
19
 
18
- date: 2010-09-03 00:00:00 -07:00
20
+ date: 2010-10-13 00:00:00 -07:00
19
21
  default_executable:
20
22
  dependencies:
21
23
  - !ruby/object:Gem::Dependency
@@ -658,6 +660,7 @@ files:
658
660
  - lib/extensions/rholang/rhomsg_ru.rb
659
661
  - lib/extensions/rhospec/rhospec.rb
660
662
  - lib/extensions/rhoxml/rexml/attribute.rb
663
+ - lib/extensions/rhoxml/rexml/cdata.rb
661
664
  - lib/extensions/rhoxml/rexml/child.rb
662
665
  - lib/extensions/rhoxml/rexml/document.rb
663
666
  - lib/extensions/rhoxml/rexml/element.rb
@@ -675,6 +678,7 @@ files:
675
678
  - lib/extensions/rhoxml/rexml/parsers/xpathparser.rb
676
679
  - lib/extensions/rhoxml/rexml/set.rb
677
680
  - lib/extensions/rhoxml/rexml/source.rb
681
+ - lib/extensions/rhoxml/rexml/text.rb
678
682
  - lib/extensions/rhoxml/rexml/xmltokens.rb
679
683
  - lib/extensions/rhoxml/rexml/xpath.rb
680
684
  - lib/extensions/rhoxml/rexml/xpath_parser.rb
@@ -703,9 +707,13 @@ files:
703
707
  - lib/framework/rho/render.rb
704
708
  - lib/framework/rho/rho.rb
705
709
  - lib/framework/rho/rhoapplication.rb
710
+ - lib/framework/rho/rhobluetooth.rb
706
711
  - lib/framework/rho/rhocontact.rb
707
712
  - lib/framework/rho/rhocontroller.rb
708
713
  - lib/framework/rho/rhoerror.rb
714
+ - lib/framework/rho/rhoevent.rb
715
+ - lib/framework/rho/rhoevent_bb.rb
716
+ - lib/framework/rho/rhoevent_c.rb
709
717
  - lib/framework/rho/rhofsconnector.rb
710
718
  - lib/framework/rho/rhomsg.rb
711
719
  - lib/framework/rho/rhosupport.rb
@@ -761,6 +769,7 @@ files:
761
769
  - platform/android/Rhodes/gen/com/rhomobile/rhodes/R.java
762
770
  - platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc
763
771
  - platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_alert_Alert.h
772
+ - platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_bluetooth_RhoBluetoothManager.h
764
773
  - platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_camera_Camera.h
765
774
  - platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_datetime_DateTimePicker.h
766
775
  - platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_file_RhoFileApi.h
@@ -779,9 +788,11 @@ files:
779
788
  - platform/android/Rhodes/jni/include/rhodes/sslimpl.h
780
789
  - platform/android/Rhodes/jni/include/rhodes.h
781
790
  - platform/android/Rhodes/jni/src/alert.cpp
791
+ - platform/android/Rhodes/jni/src/bluetooth.cpp
782
792
  - platform/android/Rhodes/jni/src/callbacks.cpp
783
793
  - platform/android/Rhodes/jni/src/camera.cpp
784
794
  - platform/android/Rhodes/jni/src/datetimepicker.cpp
795
+ - platform/android/Rhodes/jni/src/event.cpp
785
796
  - platform/android/Rhodes/jni/src/fileapi.cpp
786
797
  - platform/android/Rhodes/jni/src/geolocation.cpp
787
798
  - platform/android/Rhodes/jni/src/logconf.cpp
@@ -818,6 +829,8 @@ files:
818
829
  - platform/android/Rhodes/res/drawable/signature_clear.png
819
830
  - platform/android/Rhodes/res/drawable/signature_ok.png
820
831
  - platform/android/Rhodes/res/drawable/sync.png
832
+ - platform/android/Rhodes/res/layout/bt_device_list.xml
833
+ - platform/android/Rhodes/res/layout/bt_device_name.xml
821
834
  - platform/android/Rhodes/res/layout/camera.xml
822
835
  - platform/android/Rhodes/res/layout/datetime.xml
823
836
  - platform/android/Rhodes/res/layout/dialog_activity.xml
@@ -831,6 +844,13 @@ files:
831
844
  - platform/android/Rhodes/rhobundle.xml
832
845
  - platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java
833
846
  - platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java
847
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java
848
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java
849
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java
850
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerNew.java
851
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManagerOld.java
852
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.java
853
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java
834
854
  - platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java
835
855
  - platform/android/Rhodes/src/com/rhomobile/rhodes/camera/FileList.java
836
856
  - platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java
@@ -838,6 +858,8 @@ files:
838
858
  - platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java
839
859
  - platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePicker.java
840
860
  - platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePickerScreen.java
861
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java
862
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java
841
863
  - platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java
842
864
  - platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java
843
865
  - platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java
@@ -861,6 +883,9 @@ files:
861
883
  - platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java
862
884
  - platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactField.java
863
885
  - platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java
886
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/Push.java
887
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java
888
+ - platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
864
889
  - platform/android/Rhodes/src/com/rhomobile/rhodes/RhoActivity.java
865
890
  - platform/android/Rhodes/src/com/rhomobile/rhodes/RhoConf.java
866
891
  - platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java
@@ -1063,11 +1088,10 @@ files:
1063
1088
  - platform/bb/rhodes/platform/4.2.2/com/rho/BBVersionSpecific.java
1064
1089
  - platform/bb/rhodes/platform/4.7/com/rho/RhoMainScreen.java
1065
1090
  - platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java
1066
- - platform/bb/rhodes/platform/5.0/com/rho/RhoMainScreen.java
1067
- - platform/bb/rhodes/platform/6.0/com/rho/BrowserAdapter5.java
1068
- - platform/bb/rhodes/platform/6.0/com/rho/RhoMainScreen.java
1091
+ - platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java
1069
1092
  - platform/bb/rhodes/platform/common/com/rho/BBVersionSpecific.java
1070
1093
  - platform/bb/rhodes/platform/common/com/rho/BrowserAdapter5.java
1094
+ - platform/bb/rhodes/platform/common/com/rho/RhodesApplicationPlatform.java
1071
1095
  - platform/bb/rhodes/platform/common/com/rho/RhoMainScreen.java
1072
1096
  - platform/bb/rhodes/resources/icon.png
1073
1097
  - platform/bb/rhodes/rhodes.csl
@@ -1086,14 +1110,20 @@ files:
1086
1110
  - platform/bb/rhodes/src/com/rho/net/NetworkAccess.java
1087
1111
  - platform/bb/rhodes/src/com/rho/net/SSLSocket.java
1088
1112
  - platform/bb/rhodes/src/com/rho/net/TCPSocket.java
1113
+ - platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java
1089
1114
  - platform/bb/rhodes/src/com/rho/RhoMainScreen.java
1090
1115
  - platform/bb/rhodes/src/com/rho/RhoRubyHelper.java
1091
1116
  - platform/bb/rhodes/src/com/rho/rubyext/Alert.java
1092
1117
  - platform/bb/rhodes/src/com/rho/rubyext/GeoLocation.java
1118
+ - platform/bb/rhodes/src/com/rho/rubyext/RhoCalendar.java
1119
+ - platform/bb/rhodes/src/com/rho/rubyext/RhoPhonebook.java
1093
1120
  - platform/bb/rhodes/src/com/rho/rubyext/System.java
1094
1121
  - platform/bb/rhodes/src/com/rho/rubyext/WebView.java
1095
1122
  - platform/bb/rhodes/src/com/rho/rubyext/XMLParser.java
1096
1123
  - platform/bb/rhodes/src/com/rho/Version.java
1124
+ - platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothManager.java
1125
+ - platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothPort.java
1126
+ - platform/bb/rhodes/src/rhomobile/bluetooth/BluetoothScreen.java
1097
1127
  - platform/bb/rhodes/src/rhomobile/camera/Camera.java
1098
1128
  - platform/bb/rhodes/src/rhomobile/camera/CameraFilesListener.java
1099
1129
  - platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java
@@ -1113,7 +1143,6 @@ files:
1113
1143
  - platform/bb/rhodes/src/rhomobile/NativeBar.java
1114
1144
  - platform/bb/rhodes/src/rhomobile/PushListeningThread.java
1115
1145
  - platform/bb/rhodes/src/rhomobile/RhodesApplication.java
1116
- - platform/bb/rhodes/src/rhomobile/RhoPhonebook.java
1117
1146
  - platform/bb/rhodes/src/rhomobile/RingtoneManager.java
1118
1147
  - platform/bb/rhodes/src/rhomobile/SecondaryResourceFetchThread.java
1119
1148
  - platform/bb/rhodes/src/rhomobile/Utilities.java
@@ -1545,6 +1574,8 @@ files:
1545
1574
  - platform/iphone/Classes/AppManager/AppManager.h
1546
1575
  - platform/iphone/Classes/AppManager/AppManager.m
1547
1576
  - platform/iphone/Classes/AppManager/AppManagerI.h
1577
+ - platform/iphone/Classes/Bluetooth/Bluetooth.h
1578
+ - platform/iphone/Classes/Bluetooth/Bluetooth.m
1548
1579
  - platform/iphone/Classes/Camera/PickImageDelegate.h
1549
1580
  - platform/iphone/Classes/Camera/PickImageDelegate.m
1550
1581
  - platform/iphone/Classes/DateTime.h
@@ -1554,6 +1585,8 @@ files:
1554
1585
  - platform/iphone/Classes/DateTimePickerDelegate.m
1555
1586
  - platform/iphone/Classes/Dispatcher/Dispatcher.c
1556
1587
  - platform/iphone/Classes/Dispatcher/Dispatcher.h
1588
+ - platform/iphone/Classes/Event/Event.h
1589
+ - platform/iphone/Classes/Event/Event.m
1557
1590
  - platform/iphone/Classes/GeoLocation/LocationController.h
1558
1591
  - platform/iphone/Classes/GeoLocation/LocationController.m
1559
1592
  - platform/iphone/Classes/LogOptionsController.h
@@ -1584,6 +1617,8 @@ files:
1584
1617
  - platform/iphone/Classes/RhoMainView.h
1585
1618
  - platform/iphone/Classes/RhoNativeViewManager.mm
1586
1619
  - platform/iphone/Classes/RhoNativeViewManagerOC.h
1620
+ - platform/iphone/Classes/RhoViewController.h
1621
+ - platform/iphone/Classes/RhoViewController.m
1587
1622
  - platform/iphone/Classes/RingtoneManager.h
1588
1623
  - platform/iphone/Classes/RingtoneManager.m
1589
1624
  - platform/iphone/Classes/Signature/SignatureDelegate.h
@@ -2173,6 +2208,13 @@ files:
2173
2208
  - platform/shared/ruby/ext/alert/alert_wrap.c
2174
2209
  - platform/shared/ruby/ext/asynchttp/asynchttp.i
2175
2210
  - platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c
2211
+ - platform/shared/ruby/ext/bluetooth/bluetooth.i
2212
+ - platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c
2213
+ - platform/shared/ruby/ext/calendar/calendar.i
2214
+ - platform/shared/ruby/ext/calendar/calendar_wrap.c
2215
+ - platform/shared/ruby/ext/calendar/event.h
2216
+ - platform/shared/ruby/ext/calendar/event.i
2217
+ - platform/shared/ruby/ext/calendar/event_wrap.c
2176
2218
  - platform/shared/ruby/ext/camera/camera.i
2177
2219
  - platform/shared/ruby/ext/camera/camera_wrap.c
2178
2220
  - platform/shared/ruby/ext/datetimepicker/datetimepicker.i
@@ -3818,6 +3860,8 @@ files:
3818
3860
  - platform/wm/rhodes/AppManager.h
3819
3861
  - platform/wm/rhodes/atlutil-vc08.h
3820
3862
  - platform/wm/rhodes/atlutil.h
3863
+ - platform/wm/rhodes/bluetooth/Bluetooth.cpp
3864
+ - platform/wm/rhodes/bluetooth/Bluetooth.h
3821
3865
  - platform/wm/rhodes/camera/Camera.cpp
3822
3866
  - platform/wm/rhodes/camera/Camera.h
3823
3867
  - platform/wm/rhodes/DateTimePicker.cpp
@@ -3833,6 +3877,8 @@ files:
3833
3877
  - platform/wm/rhodes/menubar.cpp
3834
3878
  - platform/wm/rhodes/menubar.h
3835
3879
  - platform/wm/rhodes/OkCancelModalDialog.h
3880
+ - platform/wm/rhodes/OutlookApp.cpp
3881
+ - platform/wm/rhodes/OutlookApp.h
3836
3882
  - platform/wm/rhodes/phonebook/NativeAddressBook.cpp
3837
3883
  - platform/wm/rhodes/phonebook/NativeAddressBook.h
3838
3884
  - platform/wm/rhodes/phonebook/phonebook.cpp
@@ -3847,6 +3893,7 @@ files:
3847
3893
  - platform/wm/rhodes/rho/net/NetRequest.h
3848
3894
  - platform/wm/rhodes/rho/net/NetRequestImpl.cpp
3849
3895
  - platform/wm/rhodes/rho/net/NetRequestImpl.h
3896
+ - platform/wm/rhodes/rho/rubyext/calendar.cpp
3850
3897
  - platform/wm/rhodes/rho/rubyext/GeoLocationImpl.cpp
3851
3898
  - platform/wm/rhodes/rho/rubyext/GeoLocationImpl.h
3852
3899
  - platform/wm/rhodes/rho/rubyext/SystemImpl.cpp
@@ -3980,6 +4027,7 @@ files:
3980
4027
  - res/generators/templates/application/public/images/toolButton.png
3981
4028
  - res/generators/templates/application/public/images/toolButton_new.png
3982
4029
  - res/generators/templates/application/public/images/whiteButton.png
4030
+ - res/generators/templates/application/public/jqtouch/jqtouch-iphone.css
3983
4031
  - res/generators/templates/application/public/jqtouch/jqtouch.css
3984
4032
  - res/generators/templates/application/public/jqtouch/jqtouch.js
3985
4033
  - res/generators/templates/application/public/jqtouch/jqtouch.transitions.js
@@ -5622,11 +5670,24 @@ files:
5622
5670
  - spec/generator_spec/spec.opts
5623
5671
  - spec/generator_spec/spec_helper.rb
5624
5672
  - spec/perfomance_spec/app/application.rb
5673
+ - spec/perfomance_spec/app/Benchmark/benchmark.rb
5674
+ - spec/perfomance_spec/app/Benchmark/bulk_results.erb
5675
+ - spec/perfomance_spec/app/Benchmark/controller.rb
5676
+ - spec/perfomance_spec/app/Benchmark/create_results.erb
5677
+ - spec/perfomance_spec/app/Benchmark/customers.erb
5678
+ - spec/perfomance_spec/app/Benchmark/index.erb
5679
+ - spec/perfomance_spec/app/Benchmark/products.erb
5680
+ - spec/perfomance_spec/app/Benchmark/search_results.erb
5681
+ - spec/perfomance_spec/app/Customer/customer.rb
5682
+ - spec/perfomance_spec/app/helpers/application_helper.rb
5683
+ - spec/perfomance_spec/app/helpers/browser_helper.rb
5625
5684
  - spec/perfomance_spec/app/index.erb
5626
5685
  - spec/perfomance_spec/app/layout.erb
5627
5686
  - spec/perfomance_spec/app/Perftest/controller.rb
5628
5687
  - spec/perfomance_spec/app/Perftest/index.erb
5629
5688
  - spec/perfomance_spec/app/Perftest/perftest.rb
5689
+ - spec/perfomance_spec/app/Product/index.erb
5690
+ - spec/perfomance_spec/app/Product/product.rb
5630
5691
  - spec/perfomance_spec/build.yml
5631
5692
  - spec/perfomance_spec/icon/icon.ico
5632
5693
  - spec/perfomance_spec/icon/icon.png
@@ -5652,6 +5713,7 @@ files:
5652
5713
  - spec/phone_spec/app/Customer_s/customer_s.rb
5653
5714
  - spec/phone_spec/app/Data/big_test.json
5654
5715
  - spec/phone_spec/app/Data/circtest.json
5716
+ - spec/phone_spec/app/Data/perftest.json
5655
5717
  - spec/phone_spec/app/Data/reqTest.rb
5656
5718
  - spec/phone_spec/app/Data/septest.json
5657
5719
  - spec/phone_spec/app/Data/test.json
@@ -5659,32 +5721,34 @@ files:
5659
5721
  - spec/phone_spec/app/Data/test.xml
5660
5722
  - spec/phone_spec/app/Data/test1.xml
5661
5723
  - spec/phone_spec/app/Data/test_log.txt
5724
+ - spec/phone_spec/app/Data/testCDATA.xml
5662
5725
  - spec/phone_spec/app/index.erb
5663
5726
  - spec/phone_spec/app/loading.html
5664
5727
  - spec/phone_spec/app/Product/product.rb
5665
5728
  - spec/phone_spec/app/Product_s/product_s.rb
5666
- - spec/phone_spec/app/Spec/asynchttp_spec.rb
5667
- - spec/phone_spec/app/Spec/barcode_spec.rb
5668
- - spec/phone_spec/app/Spec/blobsync_spec.rb
5669
- - spec/phone_spec/app/Spec/bsearch_spec.rb
5670
- - spec/phone_spec/app/Spec/bulksync_spec.rb
5671
- - spec/phone_spec/app/Spec/contacts_spec.rb
5672
- - spec/phone_spec/app/Spec/crypt_spec.rb
5673
- - spec/phone_spec/app/Spec/date_spec.rb
5674
- - spec/phone_spec/app/Spec/fixtures/client_info.txt
5675
- - spec/phone_spec/app/Spec/fixtures/object_values.txt
5676
- - spec/phone_spec/app/Spec/json_spec.rb
5677
- - spec/phone_spec/app/Spec/mapview_spec.rb
5678
- - spec/phone_spec/app/Spec/nativebar_spec.rb
5679
- - spec/phone_spec/app/Spec/navbar_spec.rb
5680
- - spec/phone_spec/app/Spec/pagination/fixtures/object_values.txt
5681
- - spec/phone_spec/app/Spec/rho_controller_spec.rb
5682
- - spec/phone_spec/app/Spec/rho_spec.rb
5683
- - spec/phone_spec/app/Spec/rhofile_spec.rb
5684
- - spec/phone_spec/app/Spec/rhom_object_spec.rb
5685
- - spec/phone_spec/app/Spec/syncengine_spec.rb
5686
- - spec/phone_spec/app/Spec/xml_spec.rb
5687
- - spec/phone_spec/app/Spec/xruby_spec.rb
5729
+ - spec/phone_spec/app/spec/asynchttp_spec.rb
5730
+ - spec/phone_spec/app/spec/barcode_spec.rb
5731
+ - spec/phone_spec/app/spec/blobsync_spec.rb
5732
+ - spec/phone_spec/app/spec/bsearch_spec.rb
5733
+ - spec/phone_spec/app/spec/bulksync_spec.rb
5734
+ - spec/phone_spec/app/spec/contacts_spec.rb
5735
+ - spec/phone_spec/app/spec/crypt_spec.rb
5736
+ - spec/phone_spec/app/spec/date_spec.rb
5737
+ - spec/phone_spec/app/spec/events_spec.rb
5738
+ - spec/phone_spec/app/spec/fixtures/client_info.txt
5739
+ - spec/phone_spec/app/spec/fixtures/object_values.txt
5740
+ - spec/phone_spec/app/spec/json_spec.rb
5741
+ - spec/phone_spec/app/spec/mapview_spec.rb
5742
+ - spec/phone_spec/app/spec/nativebar_spec.rb
5743
+ - spec/phone_spec/app/spec/navbar_spec.rb
5744
+ - spec/phone_spec/app/spec/pagination/fixtures/object_values.txt
5745
+ - spec/phone_spec/app/spec/rho_controller_spec.rb
5746
+ - spec/phone_spec/app/spec/rho_spec.rb
5747
+ - spec/phone_spec/app/spec/rhofile_spec.rb
5748
+ - spec/phone_spec/app/spec/rhom_object_spec.rb
5749
+ - spec/phone_spec/app/spec/syncengine_spec.rb
5750
+ - spec/phone_spec/app/spec/xml_spec.rb
5751
+ - spec/phone_spec/app/spec/xruby_spec.rb
5688
5752
  - spec/phone_spec/app/spec_runner.rb
5689
5753
  - spec/phone_spec/app/SpecRunner/controller.rb
5690
5754
  - spec/phone_spec/app/SpecRunner/index.erb
@@ -1,36 +0,0 @@
1
- package com.rho;
2
-
3
- import net.rim.device.api.system.Display;
4
- import net.rim.device.api.ui.TouchEvent;
5
- import net.rim.device.api.ui.container.MainScreen;
6
-
7
- public abstract class RhoMainScreen extends MainScreen {
8
-
9
- protected abstract void onTouchUnclick();
10
-
11
- protected boolean touchEvent(TouchEvent message) {
12
- int nEvent = message.getEvent();
13
-
14
- if ( nEvent == TouchEvent.UNCLICK )
15
- {
16
- onTouchUnclick();
17
- return true;
18
- }
19
-
20
- return super.touchEvent(message);
21
- }
22
-
23
- public boolean isTouchScreen()
24
- {
25
- //DeviceInfo.getDevicename()
26
- return net.rim.device.api.ui.Touchscreen.isSupported();
27
- }
28
-
29
- protected abstract void onChangeOrientation(int x, int y, int nOrientation);
30
- protected void sublayout(int arg0, int arg1)
31
- {
32
- onChangeOrientation(arg0, arg1, Display.getOrientation()== Display.ORIENTATION_LANDSCAPE ? 1 : 2);
33
- super.sublayout(arg0, arg1);
34
- }
35
-
36
- };
@@ -1,155 +0,0 @@
1
- package com.rho;
2
-
3
- import net.rim.device.api.browser.field.RenderingOptions;
4
- import net.rim.device.api.browser.field2.*;
5
- import net.rim.device.api.system.Application;
6
-
7
- import javax.microedition.io.HttpConnection;
8
- import javax.microedition.io.InputConnection;
9
-
10
- import com.rho.RhodesApp;
11
- import com.rho.net.URI;
12
-
13
- import rhomobile.Utilities;
14
- import rhomobile.RhodesApplication.PrimaryResourceFetchThread;
15
- import rhomobile.RhodesApplication;
16
-
17
- //http://rim.lithium.com/t5/Java-Development/Browser-events-on-JDK-5-field2-package/m-p/430991
18
- //http://208.74.204.192/t5/Web-Development/Embedded-Browser-Ajax-support/m-p/410260;jsessionid=CDE85D9F4D88217EA118DE3F5DF9FEFD
19
- //http://supportforums.blackberry.com/t5/Web-Development/JavaScript-not-working-on-Black-Berry-Simulator-8330/m-p/412687#M3397
20
-
21
- public class BrowserAdapter5 implements IBrowserAdapter
22
- {
23
- private static final RhoLogger LOG = RhoLogger.RHO_STRIP_LOG ? new RhoEmptyLogger() :
24
- new RhoLogger("BrowserAdapter");
25
- private RhoMainScreen m_oMainScreen;
26
- private BrowserField m_oBrowserField;
27
- private BrowserFieldConfig m_oConfig;
28
-
29
- private RhodesApplication m_app;
30
-
31
- private class RhoProtocolController extends ProtocolController
32
- {
33
- public RhoProtocolController(BrowserField browserField) {
34
- super(browserField);
35
- }
36
-
37
- public void handleNavigationRequest(BrowserFieldRequest request)
38
- throws Exception
39
- {
40
- String url = request.getURL();
41
-
42
- if ( request.getPostData() == null ||
43
- request.getPostData().length == 0 )
44
- {
45
- //String referrer = request.getHeaders().getPropertyValue("referer");
46
- m_app.addToHistory(url, null );
47
- }
48
-
49
- PrimaryResourceFetchThread thread = new PrimaryResourceFetchThread(
50
- url, request.getHeaders(),request.getPostData(),url);
51
- thread.start();
52
- }
53
-
54
- public InputConnection handleResourceRequest(BrowserFieldRequest request)
55
- throws Exception
56
- {
57
- String url = request.getURL();
58
- if ( RhodesApp.getInstance().isRhodesAppUrl(url) || URI.isLocalData(url))
59
- {
60
- HttpConnection connection = Utilities.makeConnection(url, request.getHeaders(), null, null);
61
-
62
- return connection;
63
- }else
64
- return super.handleResourceRequest(request);
65
- }
66
-
67
- public void setNavigationRequestHandler(String protocol,
68
- BrowserFieldNavigationRequestHandler handler) {
69
- super.setNavigationRequestHandler(protocol, handler);
70
- }
71
-
72
- public void setResourceRequestHandler(String protocol,
73
- BrowserFieldResourceRequestHandler handler) {
74
- super.setResourceRequestHandler(protocol, handler);
75
- }
76
-
77
- };
78
- private RhoProtocolController m_oController;
79
-
80
- public BrowserAdapter5(RhoMainScreen oMainScreen, RhodesApplication app)
81
- {
82
- m_oMainScreen = oMainScreen;
83
- m_app = app;
84
-
85
- m_oConfig = new BrowserFieldConfig();
86
- m_oConfig.setProperty( BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_POINTER );
87
- m_oConfig.setProperty( BrowserFieldConfig.JAVASCRIPT_ENABLED, Boolean.TRUE );
88
- // m_oConfig.setProperty( BrowserFieldConfig.NAVIGATION_MODE, BrowserFieldConfig.NAVIGATION_MODE_CARET );
89
- m_oConfig.setProperty( BrowserFieldConfig.ENABLE_COOKIES, Boolean.TRUE );
90
- }
91
-
92
- public void setFullBrowser()
93
- {
94
- }
95
-
96
- private void createBrowserField()
97
- {
98
- m_oBrowserField = new BrowserField(m_oConfig);
99
- m_oBrowserField.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID, RenderingOptions.ALLOW_POPUPS, true);
100
- m_oController = new RhoProtocolController(m_oBrowserField);
101
- m_oConfig.setProperty(BrowserFieldConfig.CONTROLLER, m_oController);
102
-
103
- BrowserFieldListener _listener = new BrowserFieldListener()
104
- {
105
- public void documentLoaded(BrowserField browserField,
106
- org.w3c.dom.Document document) throws Exception
107
- {
108
- synchronized (Application.getEventLock())
109
- {
110
- m_oMainScreen.deleteAll();
111
- m_oMainScreen.add(m_oBrowserField);
112
- }
113
- }
114
- /*
115
- public void downloadProgress(BrowserField browserField,
116
- net.rim.device.api.browser.field.ContentReadEvent event)throws Exception
117
- {
118
- //Add your code here.
119
- }*/
120
- };
121
- m_oBrowserField.addListener( _listener );
122
- }
123
-
124
- public void processConnection(HttpConnection connection, Object e)
125
- {
126
- synchronized (Application.getEventLock())
127
- {
128
- createBrowserField();
129
- m_oBrowserField.displayContent(connection, (e != null ? (String)e : "") );
130
- }
131
- }
132
-
133
- public void executeJavascript(String strJavascript)
134
- {
135
- //synchronized (Application.getEventLock())
136
- {
137
- BrowserField field = (BrowserField)m_oMainScreen.getField(0);
138
- field.executeScript(strJavascript);
139
- }
140
- }
141
-
142
- //http://supportforums.blackberry.com/t5/Java-Development/Tab-Navigation/td-p/381156
143
- public boolean navigationMovement(int dx, int dy, int status, int time)
144
- {
145
- //TODO: try to change navigation
146
- /*
147
- Field focField = m_oBrowserField.getLeafFieldWithFocus();
148
- Manager focManager = focField != null ? focField.getManager() : null;
149
- boolean bHorizontal = false;
150
- if ( focManager != null && focManager instanceof HorizontalFieldManager)
151
- bHorizontal = true;
152
- */
153
- return false;
154
- }
155
- }