rhodes 3.2.3 → 3.3.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +10 -0
- data/Rakefile +153 -46
- data/doc/build.txt +261 -102
- data/doc/configuration.txt +5 -2
- data/doc/device-caps.txt +134 -23
- data/doc/extensions.txt +922 -69
- data/doc/generator.txt +96 -39
- data/doc/install.txt +35 -19
- data/doc/jqt-jqm-transition.txt +17 -1
- data/doc/rhom.txt +23 -2
- data/doc/rhostudio-eclipse.txt +49 -0
- data/doc/rhostudio-test-plan.txt +440 -0
- data/doc/simulator.txt +1 -1
- data/doc/synchronization.txt +40 -1
- data/lib/build/jake.rb +108 -7
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +0 -35
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +8 -2
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -195
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +6 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +5 -0
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +64 -20
- data/lib/extensions/debugger/CHANGELOG +3 -0
- data/lib/extensions/debugger/debugger.rb +26 -21
- data/lib/extensions/digest-md5/ext/Rakefile +5 -5
- data/lib/extensions/digest-md5/ext/build +10 -1
- data/lib/extensions/digest-md5/ext/defs.h +19 -0
- data/lib/extensions/digest-md5/ext/digest-md5.vcproj +317 -9
- data/lib/extensions/digest-md5/ext/iphone/Dmd5.xcodeproj/project.pbxproj +290 -0
- data/lib/extensions/digest-md5/ext/iphone/Dmd5_Prefix.pch +7 -0
- data/lib/extensions/digest-md5/ext/iphone/Rakefile +79 -0
- data/lib/extensions/digest-sha1/ext/Rakefile +5 -5
- data/lib/extensions/digest-sha1/ext/build +10 -1
- data/lib/extensions/digest-sha1/ext/defs.h +19 -0
- data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +317 -9
- data/lib/extensions/digest-sha1/ext/iphone/Dsha1.xcodeproj/project.pbxproj +278 -0
- data/lib/extensions/digest-sha1/ext/iphone/Dsha1_Prefix.pch +7 -0
- data/lib/extensions/digest-sha1/ext/iphone/Rakefile +79 -0
- data/lib/extensions/digest/ext/Rakefile +5 -5
- data/lib/extensions/digest/ext/build +10 -1
- data/lib/extensions/digest/ext/digest.vcproj +317 -9
- data/lib/extensions/digest/ext/iphone/Digest.xcodeproj/project.pbxproj +270 -0
- data/lib/extensions/digest/ext/iphone/Digest_Prefix.pch +7 -0
- data/lib/extensions/digest/ext/iphone/Rakefile +79 -0
- data/lib/extensions/esri/ext/esri/platform/iphone/ESRI.xcodeproj/project.pbxproj +10 -2
- data/lib/extensions/esri/ext/esri/platform/iphone/Rakefile +6 -0
- data/lib/extensions/fcntl/ext/Rakefile +5 -5
- data/lib/extensions/fcntl/ext/build +9 -1
- data/lib/extensions/fcntl/ext/iphone/Fcntl.xcodeproj/project.pbxproj +262 -0
- data/lib/extensions/fcntl/ext/iphone/Fcntl_Prefix.pch +7 -0
- data/lib/extensions/fcntl/ext/iphone/Rakefile +79 -0
- data/lib/extensions/net-http/net/http.rb +9 -7
- data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +64 -20
- data/lib/extensions/rhoxml/rexml/document.rb +3 -2
- data/lib/extensions/rhoxml/rexml/instruction.rb +70 -0
- data/lib/framework/builtinME.rb +9 -0
- data/lib/framework/date/format.rb +1 -1
- data/lib/framework/dateME.rb +19 -2
- data/lib/framework/rho/rho.rb +15 -4
- data/lib/framework/rho/rhoapplication.rb +1 -0
- data/lib/framework/rho/rhocontact.rb +10 -27
- data/lib/framework/rho/rhoevent_c.rb +8 -2
- data/lib/framework/rho/rhosupport.rb +25 -0
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +15 -0
- data/lib/framework/rholang/localization_simplified.rb +8 -10
- data/lib/framework/rhom/rhom_object_factory.rb +8 -2
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/jni/Application.mk +2 -1
- data/platform/android/Rhodes/jni/include/rhodes.h +9 -0
- data/platform/android/Rhodes/jni/src/callbacks.cpp +31 -1
- data/platform/android/Rhodes/jni/src/event.cpp +75 -31
- data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/phonebook.cpp +73 -9
- data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -0
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +16 -24
- data/platform/android/Rhodes/jni/src/signature.cpp +27 -1
- data/platform/android/Rhodes/{default.properties → project.properties} +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +14 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +14 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +38 -115
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +69 -52
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +21 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +38 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +212 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +82 -125
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +39 -19
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +106 -136
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +26 -25
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +40 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +47 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality04.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +75 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality06.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +44 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +73 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +57 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +322 -76
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +11 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +5 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +125 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +2 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebView.java +16 -0
- data/platform/android/build/RhodesSRC_build.files +14 -0
- data/platform/android/build/android.rake +149 -147
- data/platform/android/build/android_tools.rb +58 -0
- data/platform/android/build/librhocommon_build.files +1 -0
- data/platform/android/build/libruby_build.files +3 -0
- data/platform/bb/RubyVM/src/com/rho/RhoConf.java +11 -1
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +11 -5
- data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +3 -2
- data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +2 -0
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +20 -8
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +9 -6
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +45 -18
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +1 -2
- data/platform/bb/build/bb.rake +84 -70
- data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +106 -14
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +1 -1
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +108 -16
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +10 -5
- data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +21 -4
- data/platform/bb/rhodes/src/rhomobile/mapview/Annotation.java +17 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/MapView.java +8 -5
- data/platform/bb/rhodes/src/rhomobile/mapview/MapViewScreen.java +3 -1
- data/platform/iphone/Classes/AppManager/AppManager.m +15 -3
- data/platform/iphone/Classes/Event/Event.m +45 -2
- data/platform/iphone/Classes/MapView/MapViewController.m +8 -4
- data/platform/iphone/Classes/Phonebook/phonebook.m +30 -7
- data/platform/iphone/Classes/Rhodes.h +11 -1
- data/platform/iphone/Classes/Rhodes.m +141 -9
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +27 -1
- data/platform/iphone/Classes/SimpleMainView.h +1 -0
- data/platform/iphone/Classes/SimpleMainView.m +4 -0
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +31 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +10 -0
- data/platform/iphone/rbuild/iphone.rake +33 -6
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +10 -2
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +22 -2
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +14 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +10 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
- data/platform/osx/build/osx.rake +58 -7
- data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +427 -69
- data/platform/shared/RhoConnectClient/RhoConnectClient.h +21 -2
- data/platform/shared/common/Android.mk +2 -1
- data/platform/shared/common/AutoPointer.h +23 -0
- data/platform/shared/common/BundleManager.cpp +333 -0
- data/platform/shared/common/RhoFile.cpp +206 -23
- data/platform/shared/common/RhoFile.h +14 -4
- data/platform/shared/common/RhoFilePath.h +18 -0
- data/platform/shared/common/RhoStd.h +11 -1
- data/platform/shared/common/RhoThread.h +4 -1
- data/platform/shared/common/RhodesApp.cpp +31 -8
- data/platform/shared/common/RhodesApp.h +14 -0
- data/platform/shared/common/RhodesAppBase.cpp +6 -6
- data/platform/shared/common/RhodesAppBase.h +1 -1
- data/platform/shared/common/emml.h +34 -0
- data/platform/shared/common/iphone/RhoFileImpl.m +30 -2
- data/platform/shared/common/map/BaseMapEngine.cpp +3 -3
- data/platform/shared/common/map/GeocodingMapEngine.cpp +205 -14
- data/platform/shared/common/map/GeocodingMapEngine.h +25 -2
- data/platform/shared/common/map/MapEngine.cpp +24 -2
- data/platform/shared/common/map/MapEngine.h +23 -12
- data/platform/shared/common/phonebook/PhonebookParams.cpp +99 -0
- data/platform/shared/common/phonebook/PhonebookParams.h +52 -0
- data/platform/shared/common/rhoparams.cpp +14 -0
- data/platform/shared/common/rhoparams.h +1 -0
- data/platform/shared/db/DBAdapter.cpp +43 -24
- data/platform/shared/db/DBAdapter.h +6 -1
- data/platform/shared/db/DBAttrManager.cpp +50 -1
- data/platform/shared/logging/RhoLog.h +3 -0
- data/platform/shared/logging/RhoLogSink.cpp +5 -1
- data/platform/shared/net/CURLNetRequest.cpp +2 -0
- data/platform/shared/qt/rhodes/QtMainWindow.cpp +14 -1
- data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +2 -2
- data/platform/shared/qt/rhodes/impl/RhoFileImpl.cpp +1 -1
- data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +14 -2
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +16 -2
- data/platform/shared/qt/rhodes/main.cpp +28 -0
- data/platform/shared/qt/rhodes/rhodes.pro +3 -0
- data/platform/shared/qt/rholib/rholib.pro +2 -1
- data/platform/shared/qt/rubylib/rubylib.pro +2 -1
- data/platform/shared/ruby/Android.mk +3 -0
- data/platform/shared/ruby/class.c +7 -0
- data/platform/shared/ruby/compile.c +18 -10
- data/platform/shared/ruby/encdb.h +18 -8
- data/platform/shared/ruby/eval.c +108 -2
- data/platform/shared/ruby/ext/alert/alert_wrap.c +64 -20
- data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +64 -20
- data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +67 -23
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +64 -20
- data/platform/shared/ruby/ext/calendar/event_wrap.c +64 -20
- data/platform/shared/ruby/ext/camera/camera_wrap.c +64 -20
- data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +64 -20
- data/platform/shared/ruby/ext/geolocation/geolocation.i +16 -0
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +127 -26
- data/platform/shared/ruby/ext/mapview/mapview_wrap.c +64 -20
- data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +65 -21
- data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +64 -20
- data/platform/shared/ruby/ext/navbar/navbar_wrap.c +64 -20
- data/platform/shared/ruby/ext/phonebook/phonebook.i +7 -7
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +95 -120
- data/platform/shared/ruby/ext/rho/rhoruby.c +4 -4
- data/platform/shared/ruby/ext/rho/rhoruby.h +2 -0
- data/platform/shared/ruby/ext/rho/rhosupport.c +39 -6
- data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +65 -21
- data/platform/shared/ruby/ext/ringtones/ringtones_wrap.c +64 -20
- data/platform/shared/ruby/ext/signature/signature.i +37 -5
- data/platform/shared/ruby/ext/signature/signature_wrap.c +274 -45
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +65 -21
- data/platform/shared/ruby/ext/system/system.i +14 -2
- data/platform/shared/ruby/ext/system/system_wrap.c +146 -25
- data/platform/shared/ruby/ext/webview/webview_wrap.c +65 -21
- data/platform/shared/ruby/include/ruby/ruby.h +15 -4
- data/platform/shared/ruby/inits.c +1 -0
- data/platform/shared/ruby/io.c +13 -3
- data/platform/shared/ruby/win32/win32.c +3 -3
- data/platform/shared/ruby/wince/io_wce.c +2 -2
- data/platform/shared/rubyext/System.cpp +9 -5
- data/platform/shared/sync/ClientRegister.cpp +18 -8
- data/platform/shared/sync/SyncEngine.cpp +25 -11
- data/platform/shared/sync/SyncEngine.h +2 -0
- data/platform/shared/sync/SyncSource.cpp +40 -15
- data/platform/shared/sync/SyncSource.h +3 -2
- data/platform/shared/sync/SyncThread.cpp +9 -4
- data/platform/shared/sync/SyncThread.h +3 -1
- data/platform/symbian/build/symbian.rake +14 -9
- data/platform/symbian/rhodes/rhodes.pro +11 -8
- data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +2 -2
- data/platform/symbian/rubylib/rubylib.pro +3 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +315 -2
- data/platform/wm/build/build_inf.js +235 -187
- data/platform/wm/build/wm.rake +388 -233
- data/platform/wm/rhodes.sln +56 -0
- data/platform/wm/rhodes/MainWindow.cpp +139 -77
- data/platform/wm/rhodes/MainWindow.h +27 -22
- data/platform/wm/rhodes/MapView/{Graphics.cpp → Bitmap.cpp} +15 -253
- data/platform/wm/rhodes/MapView/Bitmap.h +86 -0
- data/platform/wm/rhodes/MapView/MapViewManager.cpp +7 -2
- data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
- data/platform/wm/rhodes/MapView/Win32Graphics.cpp +263 -0
- data/platform/wm/rhodes/MapView/Win32Graphics.h +133 -0
- data/platform/wm/rhodes/MapView/WmGraphics.cpp +291 -0
- data/platform/wm/rhodes/MapView/{Graphics.h → WmGraphics.h} +14 -56
- data/platform/wm/rhodes/Rhodes.cpp +128 -32
- data/platform/wm/rhodes/Rhodes.rc +6 -2
- data/platform/wm/rhodes/camera/Camera.cpp +1 -0
- data/platform/wm/rhodes/phonebook/phonebook.cpp +2 -2
- data/platform/wm/rhodes/phonebook/phonebook.h +2 -2
- data/platform/wm/rhodes/resource.h +3 -2
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -0
- data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +4 -0
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +675 -0
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +123 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +12 -2
- data/platform/wm/rhodes/rhodes.vcproj +2732 -1113
- data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
- data/platform/wm/rhodes/stdafx.h +1 -0
- data/platform/wm/rhoelements.sln +118 -62
- data/platform/wm/rubylib/rubylib.vcproj +345 -16
- data/platform/wm/sqlite3/sqlite3.vcproj +305 -0
- data/platform/wm/syncengine/syncengine.vcproj +309 -0
- data/platform/wm/tools/detool/LogServer.cpp +19 -2
- data/platform/wm/tools/detool/detool.cpp +131 -6
- data/platform/wm/tools/detool/detool.vcproj +3 -1
- data/platform/wm/tools/detool/stdafx.h +1 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Libraries/Builtins/RangeOps.cs +589 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/RubyEncoding.cs +678 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs +271 -0
- data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyUtils.cs +31 -1
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
- data/platform/wp7/RhoRubyLib/common/RhoStd.cs +6 -0
- data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +16 -2
- data/platform/wp7/RhoRubyLib/net/NetRequest.cs +2 -0
- data/platform/wp7/RhoRubyLib/rubyext/RhoSyncEngine.cs +1 -2
- data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +13 -10
- data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +30 -8
- data/platform/wp7/build/wp.rake +5 -0
- data/rakefile.rb +153 -46
- data/res/build-tools/detool.exe +0 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyerrors.swg +155 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyhead.swg +158 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyiterators.swg +932 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubyrun.swg +448 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubystdfunctors.swg +162 -0
- data/res/build-tools/swig_patch/Lib/ruby/rubytracking.swg +159 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_basic_string.i +97 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_map.i +418 -0
- data/res/build-tools/swig_patch/Lib/ruby/std_multimap.i +227 -0
- data/res/build-tools/swig_patch/Lib/swiginit.swg +269 -0
- data/res/build-tools/swig_patch/README +7 -0
- data/res/generators/templates/application/app/Settings/controller.rb +42 -1
- data/res/generators/templates/application/app/Settings/wait.erb +1 -1
- data/res/generators/templates/application/app/application.rb +1 -1
- data/res/generators/templates/application/app/layout.erb +8 -8
- data/res/generators/templates/application/build.yml +0 -1
- data/res/generators/templates/application/public/css/android.css +6 -0
- data/res/generators/templates/application/public/css/blackberry.css +6 -0
- data/res/generators/templates/application/public/css/iphone.css +6 -0
- data/res/generators/templates/application/public/css/jqmobile-patch.css +14 -0
- data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.css → jquery.mobile-1.0.css} +452 -354
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.js → jquery.mobile-1.0.js} +629 -442
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +2 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +172 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.css +714 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +2 -0
- data/res/generators/templates/application/public/js/jqmobile-patch.js +136 -7
- data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -20
- data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -17
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +8 -2
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +5 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +64 -20
- data/rhomobile-debug.gemspec +1 -1
- data/spec/framework_spec/app/layout.erb +1 -1
- data/spec/framework_spec/app/spec/core/rational/Rational_spec.rb +1 -1
- data/spec/framework_spec/app/spec/library/stringio/shared/each_char.rb +6 -2
- data/spec/framework_spec/app/spec/shared/rational/{Rational.rb → rational_main.rb} +0 -0
- data/spec/framework_spec/build.yml +0 -3
- data/spec/perfomance_spec/app/Benchmark/controller.rb +1 -1
- data/spec/perfomance_spec/app/layout.erb +1 -1
- data/spec/phone_spec/app/BlobTest_s/blob_test_s.rb +13 -0
- data/spec/phone_spec/app/BlobTest_s/test.png +0 -0
- data/spec/phone_spec/app/BlobTest_s/test2.png +0 -0
- data/spec/phone_spec/app/spec/blobsync_spec.rb +27 -15
- data/spec/phone_spec/app/spec/date_spec.rb +27 -1
- data/spec/phone_spec/app/spec/rho_spec.rb +6 -0
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +64 -26
- data/spec/phone_spec/app/spec/syncengine_spec.rb +28 -7
- data/spec/phone_spec/app/spec/uri_spec.rb +4 -4
- data/spec/phone_spec/app/spec_runner.rb +4 -2
- data/spec/phone_spec/build.yml +7 -9
- data/spec/phone_spec/rhoconfig.txt +1 -0
- data/version +1 -1
- metadata +75 -22
- data/Manifest.txt +0 -7853
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.cpp +0 -384
- data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.h +0 -41
- data/platform/wm/rhodes/signature/Signature.cpp +0 -396
- data/platform/wm/rhodes/signature/Signature.h +0 -84
- data/platform/wm/rubylib/rubylib.vcproj.VLAD.Vladimir.user +0 -429
- data/platform/wm/sqlite3/sqlite3.vcproj.VLAD.Vladimir.user +0 -429
- data/platform/wm/syncengine/syncengine.vcproj.VLAD.Vladimir.user +0 -429
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.css +0 -12
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.js +0 -170
- data/rhomobile-debug-1.0.5.gem +0 -0
@@ -33,6 +33,64 @@
|
|
33
33
|
|
34
34
|
module AndroidTools
|
35
35
|
|
36
|
+
def fill_api_levels(sdkpath)
|
37
|
+
$api_levels = Hash.new
|
38
|
+
$market_versions = Hash.new
|
39
|
+
max_apilevel = 0
|
40
|
+
max_platform = nil
|
41
|
+
|
42
|
+
Dir.glob(File.join(sdkpath, "platforms", "*")).each do |platform|
|
43
|
+
props = File.join(platform, "source.properties")
|
44
|
+
unless File.file? props
|
45
|
+
puts "+++ WARNING! No source.properties found in #{platform}"
|
46
|
+
next
|
47
|
+
end
|
48
|
+
|
49
|
+
apilevel = 0
|
50
|
+
marketversion = nil
|
51
|
+
File.open(props, "r") do |f|
|
52
|
+
while line = f.gets
|
53
|
+
apilevel = $1.to_i if line =~ /^\s*AndroidVersion\.ApiLevel\s*=\s*([0-9]+)\s*$/
|
54
|
+
marketversion = $1 if line =~ /^\s*Platform\.Version\s*=\s*([^\s]*)\s*$/
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
puts "+++ API LEVEL of #{platform}: #{apilevel}" if USE_TRACES
|
59
|
+
|
60
|
+
if apilevel != 0
|
61
|
+
$api_levels[marketversion] = apilevel
|
62
|
+
$market_versions[apilevel] = marketversion
|
63
|
+
if apilevel > max_apilevel
|
64
|
+
max_apilevel = apilevel
|
65
|
+
max_platform = File.basename platform
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
max_platform
|
71
|
+
end
|
72
|
+
module_function :fill_api_levels
|
73
|
+
|
74
|
+
def get_installed_market_versions
|
75
|
+
$api_levels.keys
|
76
|
+
end
|
77
|
+
module_function :get_installed_market_versions
|
78
|
+
|
79
|
+
def get_installed_api_levels
|
80
|
+
$market_versions.keys
|
81
|
+
end
|
82
|
+
module_function :get_installed_api_levels
|
83
|
+
|
84
|
+
def get_market_version(apilevel)
|
85
|
+
$market_versions[apilevel]
|
86
|
+
end
|
87
|
+
module_function :get_market_version
|
88
|
+
|
89
|
+
def get_api_level(marketversion)
|
90
|
+
$api_levels[marketversion]
|
91
|
+
end
|
92
|
+
module_function :get_api_level
|
93
|
+
|
36
94
|
def get_app_log (appname, device, silent = false)
|
37
95
|
pkgname = "com.#{$vendor}." + appname.downcase.gsub(/[^A-Za-z_0-9]/, '')
|
38
96
|
path = File.join('/data/data', pkgname, 'rhodata', 'RhoLog.txt')
|
@@ -17,6 +17,7 @@ platform/shared/common/SplashScreen.cpp
|
|
17
17
|
platform/shared/common/ThreadQueue.cpp
|
18
18
|
platform/shared/common/Tokenizer.cpp
|
19
19
|
platform/shared/common/RhoTime.cpp
|
20
|
+
platform/shared/common/BundleManager.cpp
|
20
21
|
platform/shared/net/AsyncHttp.cpp
|
21
22
|
platform/shared/net/CURLNetRequest.cpp
|
22
23
|
platform/shared/net/HttpServer.cpp
|
@@ -15,6 +15,9 @@ platform/shared/ruby/enc/ascii.c
|
|
15
15
|
platform/shared/ruby/enc/unicode.c
|
16
16
|
platform/shared/ruby/enc/us_ascii.c
|
17
17
|
platform/shared/ruby/enc/utf_8.c
|
18
|
+
platform/shared/ruby/enc/encdb.c
|
19
|
+
platform/shared/ruby/enc/iso_8859_1.c
|
20
|
+
platform/shared/ruby/enc/iso_8859_9.c
|
18
21
|
platform/shared/ruby/enum.c
|
19
22
|
platform/shared/ruby/enumerator.c
|
20
23
|
platform/shared/ruby/error.c
|
@@ -69,6 +69,16 @@ public class RhoConf {
|
|
69
69
|
m_mapChangedValues.put(szName, getString(szName) );
|
70
70
|
|
71
71
|
String strData = saveChangesToString();
|
72
|
+
|
73
|
+
RhoFile.deleteFile(getConfFilePath()+CONF_CHANGES);
|
74
|
+
|
75
|
+
try{
|
76
|
+
RhoFile.writeStringToFile(getConfFilePath()+CONF_CHANGES, strData);
|
77
|
+
}catch(Exception exc)
|
78
|
+
{
|
79
|
+
LOG.ERROR("saveToFile failed.", exc);
|
80
|
+
}
|
81
|
+
/*
|
72
82
|
SimpleFile oFile = null;
|
73
83
|
|
74
84
|
try{
|
@@ -81,7 +91,7 @@ public class RhoConf {
|
|
81
91
|
}catch(Exception exc){
|
82
92
|
if ( oFile != null )
|
83
93
|
try{ oFile.close(); }catch(IOException exc2){}
|
84
|
-
}
|
94
|
+
}*/
|
85
95
|
|
86
96
|
}
|
87
97
|
|
@@ -640,7 +640,7 @@ public class DBAdapter extends RubyBasic
|
|
640
640
|
|
641
641
|
//getAttrMgr().load(this);
|
642
642
|
|
643
|
-
m_dbStorage.setDbCallback(new DBCallback(this));
|
643
|
+
//m_dbStorage.setDbCallback(new DBCallback(this));
|
644
644
|
|
645
645
|
//m_dbAdapters.addElement(this);
|
646
646
|
|
@@ -793,7 +793,7 @@ public class DBAdapter extends RubyBasic
|
|
793
793
|
|
794
794
|
//getAttrMgr().load(this);
|
795
795
|
|
796
|
-
m_dbStorage.setDbCallback(new DBCallback(this));
|
796
|
+
//m_dbStorage.setDbCallback(new DBCallback(this));
|
797
797
|
|
798
798
|
}catch(Exception e)
|
799
799
|
{
|
@@ -1016,7 +1016,7 @@ public class DBAdapter extends RubyBasic
|
|
1016
1016
|
|
1017
1017
|
//getAttrMgr().load(this);
|
1018
1018
|
|
1019
|
-
m_dbStorage.setDbCallback(new DBCallback(this));
|
1019
|
+
//m_dbStorage.setDbCallback(new DBCallback(this));
|
1020
1020
|
|
1021
1021
|
}catch(Exception e)
|
1022
1022
|
{
|
@@ -1144,8 +1144,6 @@ public class DBAdapter extends RubyBasic
|
|
1144
1144
|
{
|
1145
1145
|
DBAdapter db = (DBAdapter)enumDBs.nextElement();
|
1146
1146
|
db.getAttrMgr().loadBlobAttrs(db);
|
1147
|
-
if ( !db.getAttrMgr().hasBlobAttrs() )
|
1148
|
-
db.m_dbStorage.setDbCallback(null);
|
1149
1147
|
}
|
1150
1148
|
}
|
1151
1149
|
|
@@ -1339,6 +1337,14 @@ public class DBAdapter extends RubyBasic
|
|
1339
1337
|
|
1340
1338
|
}
|
1341
1339
|
|
1340
|
+
public void setDBCallback(boolean bSet)
|
1341
|
+
{
|
1342
|
+
if ( bSet )
|
1343
|
+
m_dbStorage.setDbCallback(new DBCallback(this));
|
1344
|
+
else
|
1345
|
+
m_dbStorage.setDbCallback(null);
|
1346
|
+
}
|
1347
|
+
|
1342
1348
|
public static class DBCallback implements IDBCallback
|
1343
1349
|
{
|
1344
1350
|
private DBAdapter m_db;
|
@@ -78,7 +78,8 @@ public class DBAttrManager {
|
|
78
78
|
public void loadBlobAttrs(DBAdapter db)throws DBException
|
79
79
|
{
|
80
80
|
loadAttrs(db, m_mapBlobAttrs, "blob_attribs", m_mapSrcNames);
|
81
|
-
|
81
|
+
|
82
|
+
db.setDBCallback(db.getAttrMgr().hasBlobAttrs());
|
82
83
|
}
|
83
84
|
|
84
85
|
static void loadAttrs(DBAdapter db, Hashtable/*Ptr< int, Hashtable<String,int>* >&*/ mapAttrs, String strDBAttr, Hashtable mapSrcNames)throws DBException
|
@@ -115,7 +116,7 @@ public class DBAttrManager {
|
|
115
116
|
|
116
117
|
mapAttrs.put( nSrcID, mapAttr );
|
117
118
|
if ( mapSrcNames != null )
|
118
|
-
mapSrcNames.put(res.getStringByIdx(2)
|
119
|
+
mapSrcNames.put(res.getStringByIdx(2), nSrcID);
|
119
120
|
}
|
120
121
|
}
|
121
122
|
}
|
@@ -108,6 +108,7 @@ public class RhoFile
|
|
108
108
|
public static boolean isFileExist(String szFilePath)
|
109
109
|
{
|
110
110
|
IRAFile oFile = null;
|
111
|
+
//LOG.INFO("isFileExist:" + szFilePath);
|
111
112
|
|
112
113
|
try
|
113
114
|
{
|
@@ -116,6 +117,7 @@ public class RhoFile
|
|
116
117
|
return oFile.exists();
|
117
118
|
}catch(Exception exc)
|
118
119
|
{
|
120
|
+
LOG.ERROR("isFileExist failed:" + szFilePath, exc);
|
119
121
|
return false;
|
120
122
|
}finally
|
121
123
|
{
|
@@ -44,6 +44,7 @@ public class RhoConnection implements IHttpConnection {
|
|
44
44
|
protected Properties resHeaders = new Properties();
|
45
45
|
/** Request state **/
|
46
46
|
protected boolean requestProcessed = false;
|
47
|
+
protected boolean m_isDispatchCall = false;
|
47
48
|
/** Input/Output streams **/
|
48
49
|
private /*ByteArray*/InputStream responseData = null;
|
49
50
|
private ByteArrayOutputStream postData = new ByteArrayOutputStream();
|
@@ -109,6 +110,8 @@ public class RhoConnection implements IHttpConnection {
|
|
109
110
|
LOG.TRACE("Close browser connection.");
|
110
111
|
}
|
111
112
|
|
113
|
+
public boolean isDispatchCall(){ return m_isDispatchCall; }
|
114
|
+
|
112
115
|
public Object getNativeConnection() {
|
113
116
|
throw new RuntimeException("getNativeConnection - Not implemented");
|
114
117
|
}
|
@@ -139,13 +142,13 @@ public class RhoConnection implements IHttpConnection {
|
|
139
142
|
}
|
140
143
|
|
141
144
|
public String getHeaderField(String name) throws IOException {
|
142
|
-
|
145
|
+
LOG.TRACE("getHeaderField: " + name);
|
143
146
|
processRequest();
|
144
147
|
return resHeaders.getPropertyIgnoreCase(name);
|
145
148
|
}
|
146
149
|
|
147
150
|
public String getHeaderField(int index) throws IOException {
|
148
|
-
|
151
|
+
LOG.TRACE("getHeaderField: " + index);
|
149
152
|
processRequest();
|
150
153
|
if (index >= resHeaders.size()) {
|
151
154
|
return null;
|
@@ -154,7 +157,7 @@ public class RhoConnection implements IHttpConnection {
|
|
154
157
|
}
|
155
158
|
|
156
159
|
public long getHeaderFieldDate(String name, long def) throws IOException {
|
157
|
-
|
160
|
+
LOG.TRACE("getHeaderFieldDate: " + name);
|
158
161
|
processRequest();
|
159
162
|
try {
|
160
163
|
return DateTimeTokenizer.parse(getHeaderField(name));
|
@@ -169,7 +172,7 @@ public class RhoConnection implements IHttpConnection {
|
|
169
172
|
}
|
170
173
|
|
171
174
|
public int getHeaderFieldInt(String name, int def) throws IOException {
|
172
|
-
|
175
|
+
LOG.TRACE("getHeaderFieldInt: " + name);
|
173
176
|
processRequest();
|
174
177
|
try {
|
175
178
|
return Integer.parseInt(getHeaderField(name));
|
@@ -182,7 +185,7 @@ public class RhoConnection implements IHttpConnection {
|
|
182
185
|
}
|
183
186
|
|
184
187
|
public String getHeaderFieldKey(int index) throws IOException {
|
185
|
-
|
188
|
+
LOG.TRACE("getHeaderFieldKey: " + index);
|
186
189
|
processRequest();
|
187
190
|
if (index >= resHeaders.size())
|
188
191
|
return null;
|
@@ -216,7 +219,7 @@ public class RhoConnection implements IHttpConnection {
|
|
216
219
|
|
217
220
|
public String getRef() {
|
218
221
|
LOG.TRACE("getRef: " + uri.getFragment());
|
219
|
-
return uri.getFragment();
|
222
|
+
return uri.getFragment() != null ? uri.getFragment() : "";
|
220
223
|
}
|
221
224
|
|
222
225
|
public String getRequestMethod() {
|
@@ -225,7 +228,7 @@ public class RhoConnection implements IHttpConnection {
|
|
225
228
|
}
|
226
229
|
|
227
230
|
public String getRequestProperty(String key) {
|
228
|
-
|
231
|
+
LOG.TRACE("getRequestProperty: " + key);
|
229
232
|
return reqHeaders.getPropertyIgnoreCase(key);
|
230
233
|
}
|
231
234
|
|
@@ -309,7 +312,7 @@ public class RhoConnection implements IHttpConnection {
|
|
309
312
|
* the value for the request header field.
|
310
313
|
*/
|
311
314
|
protected void setRequestField(String key, String value) {
|
312
|
-
|
315
|
+
LOG.TRACE("setRequestField: key = " + key + "; value = " + value);
|
313
316
|
|
314
317
|
/*
|
315
318
|
* If application setRequestProperties("Connection", "close") then we
|
@@ -361,19 +364,23 @@ public class RhoConnection implements IHttpConnection {
|
|
361
364
|
}
|
362
365
|
|
363
366
|
public DataInputStream openDataInputStream() throws IOException {
|
367
|
+
LOG.TRACE("openDataInputStream");
|
364
368
|
return new DataInputStream(openInputStream());
|
365
369
|
}
|
366
370
|
|
367
371
|
public InputStream openInputStream() throws IOException {
|
372
|
+
LOG.TRACE("openInputStream");
|
368
373
|
processRequest();
|
369
374
|
return responseData;
|
370
375
|
}
|
371
376
|
|
372
377
|
public DataOutputStream openDataOutputStream() throws IOException {
|
378
|
+
LOG.TRACE("openDataOutputStream");
|
373
379
|
return new DataOutputStream(postData);
|
374
380
|
}
|
375
381
|
|
376
382
|
public OutputStream openOutputStream() throws IOException {
|
383
|
+
LOG.TRACE("openOutputStream");
|
377
384
|
return postData;
|
378
385
|
}
|
379
386
|
|
@@ -414,18 +421,22 @@ public class RhoConnection implements IHttpConnection {
|
|
414
421
|
|
415
422
|
resHeaders.addProperty("Location", strLoc );
|
416
423
|
contentLength = 0;
|
424
|
+
|
425
|
+
responseData = new ByteArrayInputStream("".getBytes());
|
417
426
|
}
|
418
427
|
|
419
428
|
void respondOK(){
|
420
429
|
responseCode = HTTP_OK;
|
421
430
|
responseMsg = "Success";
|
422
431
|
contentLength = 0;
|
432
|
+
responseData = new ByteArrayInputStream("".getBytes());
|
423
433
|
}
|
424
434
|
|
425
435
|
void respondNotModified(){
|
426
436
|
responseCode = HTTP_NOTMODIFIED;
|
427
437
|
responseMsg = "Success";
|
428
438
|
contentLength = 0;
|
439
|
+
responseData = new ByteArrayInputStream("".getBytes());
|
429
440
|
}
|
430
441
|
|
431
442
|
void respondNotFound( String strError ){
|
@@ -815,6 +826,7 @@ public class RhoConnection implements IHttpConnection {
|
|
815
826
|
if ( dispatch() )
|
816
827
|
{
|
817
828
|
requestProcessed = true;
|
829
|
+
m_isDispatchCall = true;
|
818
830
|
return;
|
819
831
|
}
|
820
832
|
}
|
@@ -445,7 +445,7 @@ public class SyncEngine implements NetRequest.IRhoSession
|
|
445
445
|
oSrc.getDB().executeSQL("UPDATE sources set last_updated=?,last_inserted_size=?,last_deleted_size=?, "+
|
446
446
|
"last_sync_duration=?,last_sync_success=?, backend_refresh_time=? WHERE source_id=?",
|
447
447
|
new Long(endTime.toULong()/1000), new Integer(oSrc.getInsertedCount()), new Integer(oSrc.getDeletedCount()),
|
448
|
-
new Long((endTime.minus(startTime)).toULong()), new Integer(oSrc.
|
448
|
+
new Long((endTime.minus(startTime)).toULong()), new Integer(oSrc.m_nErrCode == RhoAppAdapter.ERR_NONE?1:0),
|
449
449
|
new Integer(oSrc.getRefreshTime()), oSrc.getID() );
|
450
450
|
}
|
451
451
|
//
|
@@ -961,7 +961,7 @@ public class SyncEngine implements NetRequest.IRhoSession
|
|
961
961
|
/*bError = !*/syncOneSource(i, strQueryParams);
|
962
962
|
}
|
963
963
|
|
964
|
-
if ( !isSchemaChanged() )
|
964
|
+
if ( !isSchemaChanged() && getState() != SyncEngine.esStop )
|
965
965
|
getNotify().fireSyncNotification(null, true, RhoAppAdapter.ERR_NONE, RhoAppAdapter.getMessageText("sync_completed"));
|
966
966
|
}
|
967
967
|
|
@@ -1067,9 +1067,12 @@ public class SyncEngine implements NetRequest.IRhoSession
|
|
1067
1067
|
|
1068
1068
|
public void logout()throws Exception
|
1069
1069
|
{
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1070
|
+
stopSync();
|
1071
|
+
logout_int();
|
1072
|
+
}
|
1073
|
+
|
1074
|
+
public void logout_int()throws Exception
|
1075
|
+
{
|
1073
1076
|
getUserDB().executeSQL( "UPDATE client_info SET session = NULL");
|
1074
1077
|
m_strSession = "";
|
1075
1078
|
|
@@ -1087,7 +1090,7 @@ public class SyncEngine implements NetRequest.IRhoSession
|
|
1087
1090
|
|
1088
1091
|
getUserDB().executeSQL("DELETE FROM client_info");
|
1089
1092
|
|
1090
|
-
|
1093
|
+
logout_int();
|
1091
1094
|
}
|
1092
1095
|
}
|
1093
1096
|
|
@@ -85,13 +85,12 @@ public class SyncSource
|
|
85
85
|
boolean m_bTokenFromDB;
|
86
86
|
|
87
87
|
int m_nCurPageCount, m_nInserted, m_nDeleted, m_nTotalCount;
|
88
|
-
boolean m_bGetAtLeastOnePage = false;
|
89
88
|
int m_nErrCode = RhoAppAdapter.ERR_NONE;
|
90
89
|
String m_strError = "", m_strServerError = "";
|
91
90
|
String m_strQueryParams = "";
|
92
91
|
|
93
92
|
int m_nRefreshTime = 0;
|
94
|
-
int m_nProgressStep =
|
93
|
+
int m_nProgressStep = 0;
|
95
94
|
boolean m_bSchemaSource;
|
96
95
|
|
97
96
|
static class CAssociation
|
@@ -124,7 +123,6 @@ public class SyncSource
|
|
124
123
|
int getProgressStep(){ return m_nProgressStep; }
|
125
124
|
void setProgressStep(int nProgressStep){ m_nProgressStep = nProgressStep; }
|
126
125
|
|
127
|
-
boolean getGetAtLeastOnePage(){ return m_bGetAtLeastOnePage; }
|
128
126
|
int getRefreshTime(){ return m_nRefreshTime; }
|
129
127
|
Vector/*<CAssociation>*/ getAssociations(){ return m_arAssociations; }
|
130
128
|
|
@@ -150,12 +148,12 @@ public class SyncSource
|
|
150
148
|
m_nID = new Integer(0);
|
151
149
|
|
152
150
|
m_bTokenFromDB = true;
|
153
|
-
|
151
|
+
m_nProgressStep = 0;
|
152
|
+
|
154
153
|
m_nCurPageCount = 0;
|
155
154
|
m_nInserted = 0;
|
156
155
|
m_nDeleted = 0;
|
157
156
|
m_nTotalCount = 0;
|
158
|
-
m_bGetAtLeastOnePage = false;
|
159
157
|
|
160
158
|
m_nErrCode = RhoAppAdapter.ERR_NONE;
|
161
159
|
m_bSchemaSource = db.isTableExist(m_strName);
|
@@ -168,12 +166,12 @@ public class SyncSource
|
|
168
166
|
m_nID = new Integer(id);
|
169
167
|
m_strName = name;
|
170
168
|
m_strSyncType = strSyncType;
|
169
|
+
m_nProgressStep = 0;
|
171
170
|
|
172
171
|
m_nCurPageCount = 0;
|
173
172
|
m_nInserted = 0;
|
174
173
|
m_nDeleted = 0;
|
175
174
|
m_nTotalCount = 0;
|
176
|
-
m_bGetAtLeastOnePage = false;
|
177
175
|
|
178
176
|
m_nErrCode = RhoAppAdapter.ERR_NONE;
|
179
177
|
|
@@ -243,12 +241,21 @@ public class SyncSource
|
|
243
241
|
//getSync().stopSync();
|
244
242
|
throw exc;
|
245
243
|
}finally{
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
244
|
+
TimeInterval endTime = TimeInterval.getCurrentTime();
|
245
|
+
|
246
|
+
int nSyncSucess = m_nErrCode == RhoAppAdapter.ERR_NONE ? 1 : 0;
|
247
|
+
if ( nSyncSucess > 0 )
|
248
|
+
getDB().executeSQL("UPDATE sources set last_updated=?,last_inserted_size=?,last_deleted_size=?, "+
|
249
|
+
"last_sync_duration=?,last_sync_success=?, backend_refresh_time=? WHERE source_id=?",
|
250
|
+
new Long(endTime.toULong()/1000), new Integer(getInsertedCount()), new Integer(getDeletedCount()),
|
251
|
+
new Long((endTime.minus(startTime)).toULong()),
|
252
|
+
new Integer(nSyncSucess), new Integer(m_nRefreshTime), getID() );
|
253
|
+
else
|
254
|
+
getDB().executeSQL("UPDATE sources set last_inserted_size=?,last_deleted_size=?, "+
|
255
|
+
"last_sync_duration=?,last_sync_success=?, backend_refresh_time=? WHERE source_id=?",
|
256
|
+
new Integer(getInsertedCount()), new Integer(getDeletedCount()),
|
257
|
+
new Long((endTime.minus(startTime)).toULong()),
|
258
|
+
new Integer(nSyncSucess), new Integer(m_nRefreshTime), getID() );
|
252
259
|
}
|
253
260
|
}
|
254
261
|
|
@@ -514,7 +521,9 @@ public class SyncSource
|
|
514
521
|
oItem.m_strContentType = "application/octet-stream";
|
515
522
|
oItem.m_strName = strAttrib + "-" + strObject;
|
516
523
|
|
517
|
-
m_arBlobAttrs.
|
524
|
+
if ( m_arBlobAttrs.indexOf(strAttrib) == -1 )
|
525
|
+
m_arBlobAttrs.addElement(strAttrib);
|
526
|
+
|
518
527
|
m_arMultipartItems.addElement(oItem);
|
519
528
|
}
|
520
529
|
|
@@ -872,21 +881,39 @@ public class SyncSource
|
|
872
881
|
|
873
882
|
if ( bCheckUIRequest )
|
874
883
|
{
|
875
|
-
int nSyncObjectCount = getNotify().incLastSyncObjectCount(getID());
|
876
|
-
if ( getProgressStep() > 0 && (nSyncObjectCount%getProgressStep() == 0) )
|
877
|
-
getNotify().fireSyncNotification(this, false, RhoAppAdapter.ERR_NONE, "");
|
878
|
-
|
879
884
|
if ( getDB().isUIWaitDB() )
|
880
885
|
{
|
881
886
|
LOG.INFO("Commit transaction because of UI request.");
|
882
887
|
getDB().endTransaction();
|
888
|
+
|
889
|
+
checkProgressStepNotify(false);
|
890
|
+
|
883
891
|
SyncThread.getInstance().sleep(1000);
|
884
892
|
getDB().startTransaction();
|
885
|
-
}
|
893
|
+
}else
|
894
|
+
checkProgressStepNotify(true);
|
886
895
|
}
|
887
896
|
}
|
888
897
|
}
|
889
898
|
|
899
|
+
void checkProgressStepNotify(boolean bEndTransaction)throws Exception
|
900
|
+
{
|
901
|
+
int nSyncObjectCount = getNotify().incLastSyncObjectCount(getID());
|
902
|
+
if ( getProgressStep() > 0 && (nSyncObjectCount%getProgressStep() == 0) )
|
903
|
+
{
|
904
|
+
if ( bEndTransaction )
|
905
|
+
{
|
906
|
+
LOG.INFO("Commit transaction because of Sync Progress notification.");
|
907
|
+
getDB().endTransaction();
|
908
|
+
}
|
909
|
+
|
910
|
+
getNotify().fireSyncNotification(this, false, RhoAppAdapter.ERR_NONE, "");
|
911
|
+
|
912
|
+
if ( bEndTransaction )
|
913
|
+
getDB().startTransaction();
|
914
|
+
}
|
915
|
+
}
|
916
|
+
|
890
917
|
void processAssociations(String strOldObject, String strNewObject)throws Exception
|
891
918
|
{
|
892
919
|
for ( int i = 0; i < m_arAssociations.size(); i++ )
|