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
@@ -62,7 +62,11 @@ public class ContactAccessorOld implements ContactAccessor {
|
|
62
62
|
public ContactAccessorOld() {
|
63
63
|
cr = RhodesService.getInstance().getContentResolver();
|
64
64
|
}
|
65
|
-
|
65
|
+
|
66
|
+
private static String getConditionString(Map<String,Object> conditionsMap) {
|
67
|
+
return null;
|
68
|
+
}
|
69
|
+
|
66
70
|
private void fillPhones(String id, Contact contact) {
|
67
71
|
Cursor cursor = cr.query(Contacts.Phones.CONTENT_URI,
|
68
72
|
new String[] {Phones.NUMBER, Phones.TYPE},
|
@@ -94,7 +98,7 @@ public class ContactAccessorOld implements ContactAccessor {
|
|
94
98
|
}
|
95
99
|
|
96
100
|
@Override
|
97
|
-
public int getCount(int offset, int max_results) {
|
101
|
+
public int getCount(int offset, int max_results, Map<String, Object> conditions) {
|
98
102
|
StringBuilder sortMode = new StringBuilder();
|
99
103
|
if (max_results > 0 || offset > 0) {
|
100
104
|
sortMode.append(People._ID).append(" ASC");
|
@@ -114,7 +118,7 @@ public class ContactAccessorOld implements ContactAccessor {
|
|
114
118
|
}
|
115
119
|
|
116
120
|
@Override
|
117
|
-
public Map<String, Contact> getContacts(int offset, int max_results, List<String> select) throws Exception {
|
121
|
+
public Map<String, Contact> getContacts(int offset, int max_results, List<String> select, Map<String, Object> conditions) throws Exception {
|
118
122
|
Map<String, Contact> contacts = new HashMap<String, Contact>();
|
119
123
|
|
120
124
|
Cursor cursor = cr.query(People.CONTENT_URI, null, null, null, null);
|
@@ -136,10 +140,11 @@ public class ContactAccessorOld implements ContactAccessor {
|
|
136
140
|
|
137
141
|
//contact.setField(PB_COMPANY_NAME, cursor.getString(cursor.getColumnIndex(People.COMPANY)));
|
138
142
|
|
139
|
-
contact.setField(Phonebook.PB_FIRST_NAME, "");
|
140
|
-
contact.setField(Phonebook.PB_LAST_NAME, "");
|
143
|
+
//contact.setField(Phonebook.PB_FIRST_NAME, "");
|
144
|
+
//contact.setField(Phonebook.PB_LAST_NAME, "");
|
141
145
|
String name = cursor.getString(cursor.getColumnIndex(People.NAME));
|
142
146
|
if (name != null) {
|
147
|
+
contact.setField(Phonebook.PB_DISPLAY_NAME, name);
|
143
148
|
String[] names = name.split(" ");
|
144
149
|
|
145
150
|
if (names.length == 1) {
|
@@ -220,7 +225,7 @@ public class ContactAccessorOld implements ContactAccessor {
|
|
220
225
|
|
221
226
|
@Override
|
222
227
|
public Contact getContact(String id) throws Exception {
|
223
|
-
Map<String, Contact> allContacts = getContacts(0, -1, null);
|
228
|
+
Map<String, Contact> allContacts = getContacts(0, -1, null, null);
|
224
229
|
/*TODO: implement old API getContact by id. */
|
225
230
|
return allContacts.get(id);
|
226
231
|
}
|
@@ -96,11 +96,11 @@ public class Phonebook {
|
|
96
96
|
}
|
97
97
|
}
|
98
98
|
|
99
|
-
public int queryContactCount(int offset, int limit) {
|
99
|
+
public int queryContactCount(int offset, int limit, Map<String,Object> conditions) {
|
100
100
|
int res = 0;
|
101
101
|
if (checkState()) {
|
102
102
|
try {
|
103
|
-
res = accessor.getCount(offset, limit);
|
103
|
+
res = accessor.getCount(offset, limit, conditions);
|
104
104
|
} catch (Exception e) {
|
105
105
|
Logger.E(TAG, e);
|
106
106
|
}
|
@@ -119,15 +119,15 @@ public class Phonebook {
|
|
119
119
|
PB_BUSINESS_NUMBER,
|
120
120
|
PB_EMAIL_ADDRESS,
|
121
121
|
PB_COMPANY_NAME };
|
122
|
-
queryContacts(0, -1, Arrays.asList(allColumns));
|
122
|
+
queryContacts(0, -1, Arrays.asList(allColumns), null);
|
123
123
|
}
|
124
124
|
|
125
|
-
public void queryContacts(int offset, int max_results, List<String> select) {
|
125
|
+
public void queryContacts(int offset, int max_results, List<String> select, Map<String,Object> conditions) {
|
126
126
|
if (!checkState())
|
127
127
|
return;
|
128
128
|
try {
|
129
129
|
Logger.I(TAG, "queryContacts()");
|
130
|
-
contactList = accessor.getContacts(offset, max_results, select);
|
130
|
+
contactList = accessor.getContacts(offset, max_results, select, conditions);
|
131
131
|
}
|
132
132
|
catch (Exception e) {
|
133
133
|
Logger.E(TAG, e);
|
@@ -28,6 +28,7 @@ package com.rhomobile.rhodes.webview;
|
|
28
28
|
|
29
29
|
import com.rhomobile.rhodes.RhodesActivity;
|
30
30
|
|
31
|
+
import android.app.Activity;
|
31
32
|
import android.view.Window;
|
32
33
|
import android.webkit.JsResult;
|
33
34
|
import android.webkit.WebChromeClient;
|
@@ -35,7 +36,7 @@ import android.webkit.WebView;
|
|
35
36
|
|
36
37
|
public class ChromeClientOld extends WebChromeClient {
|
37
38
|
|
38
|
-
private
|
39
|
+
private Activity mRhodesActivity;
|
39
40
|
|
40
41
|
public ChromeClientOld(RhodesActivity rhodesActivity) {
|
41
42
|
mRhodesActivity = rhodesActivity;
|
@@ -0,0 +1,125 @@
|
|
1
|
+
package com.rhomobile.rhodes.webview;
|
2
|
+
|
3
|
+
import java.lang.reflect.Constructor;
|
4
|
+
|
5
|
+
import com.rhomobile.rhodes.RhodesActivity;
|
6
|
+
|
7
|
+
import android.app.Activity;
|
8
|
+
import android.content.Context;
|
9
|
+
import android.os.Build;
|
10
|
+
import android.view.View;
|
11
|
+
import android.webkit.WebChromeClient;
|
12
|
+
import android.webkit.WebViewClient;
|
13
|
+
|
14
|
+
public class GoogleWebView implements WebView {
|
15
|
+
|
16
|
+
private static WebChromeClient mChromeClient;
|
17
|
+
private static WebViewClient mWebViewClient;
|
18
|
+
private static RhoWebSettings mWebSettings;
|
19
|
+
private static Boolean mInitialized = false;
|
20
|
+
|
21
|
+
private android.webkit.WebView mWebView;
|
22
|
+
|
23
|
+
public GoogleWebView(Activity activity) {
|
24
|
+
synchronized(mInitialized) {
|
25
|
+
if (!mInitialized) {
|
26
|
+
initWebStuff(activity);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
mWebView = new android.webkit.WebView(activity);
|
30
|
+
mWebSettings.setWebSettings(mWebView);
|
31
|
+
mWebView.setWebChromeClient(mChromeClient);
|
32
|
+
mWebView.setWebViewClient(mWebViewClient);
|
33
|
+
mWebView.clearCache(true);
|
34
|
+
}
|
35
|
+
|
36
|
+
private static void initWebStuff(Activity activity) {
|
37
|
+
String ccName;
|
38
|
+
String wsName;
|
39
|
+
int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
|
40
|
+
if (sdkVersion < Build.VERSION_CODES.ECLAIR_MR1) {
|
41
|
+
ccName = "ChromeClientOld";
|
42
|
+
wsName = "RhoWebSettingsOld";
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
ccName = "ChromeClientNew";
|
46
|
+
wsName = "RhoWebSettingsNew";
|
47
|
+
}
|
48
|
+
|
49
|
+
try {
|
50
|
+
String pkgname = ChromeClientOld.class.getPackage().getName();
|
51
|
+
String fullName = pkgname + "." + ccName;
|
52
|
+
Class<? extends WebChromeClient> ccClass =
|
53
|
+
Class.forName(fullName).asSubclass(WebChromeClient.class);
|
54
|
+
|
55
|
+
Constructor<? extends WebChromeClient> ctor = ccClass.getConstructor(RhodesActivity.class);
|
56
|
+
mChromeClient = ctor.newInstance(activity);
|
57
|
+
|
58
|
+
pkgname = RhoWebSettings.class.getPackage().getName();
|
59
|
+
fullName = pkgname + "." + wsName;
|
60
|
+
Class<? extends RhoWebSettings> wsClass =
|
61
|
+
Class.forName(fullName).asSubclass(RhoWebSettings.class);
|
62
|
+
mWebSettings = wsClass.newInstance();
|
63
|
+
|
64
|
+
mWebViewClient = new RhoWebViewClient();
|
65
|
+
|
66
|
+
mInitialized = true;
|
67
|
+
}
|
68
|
+
catch (Exception e) {
|
69
|
+
throw new IllegalStateException(e);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
@Override
|
74
|
+
public View getView() {
|
75
|
+
return mWebView;
|
76
|
+
}
|
77
|
+
|
78
|
+
@Override
|
79
|
+
public boolean canGoBack() {
|
80
|
+
return mWebView.canGoBack();
|
81
|
+
}
|
82
|
+
|
83
|
+
@Override
|
84
|
+
public void goBack() {
|
85
|
+
mWebView.goBack();
|
86
|
+
}
|
87
|
+
|
88
|
+
@Override
|
89
|
+
public void goForward() {
|
90
|
+
mWebView.goForward();
|
91
|
+
}
|
92
|
+
|
93
|
+
@Override
|
94
|
+
public void reload() {
|
95
|
+
mWebView.reload();
|
96
|
+
}
|
97
|
+
|
98
|
+
@Override
|
99
|
+
public void clear() {
|
100
|
+
mWebView.clearView();
|
101
|
+
mWebView.clearCache(true);
|
102
|
+
mWebView.invalidate();
|
103
|
+
mWebView.loadData("", "", "");
|
104
|
+
}
|
105
|
+
|
106
|
+
@Override
|
107
|
+
public String getUrl() {
|
108
|
+
return mWebView.getUrl();
|
109
|
+
}
|
110
|
+
|
111
|
+
@Override
|
112
|
+
public void loadUrl(String url) {
|
113
|
+
mWebView.loadUrl(url);
|
114
|
+
}
|
115
|
+
|
116
|
+
@Override
|
117
|
+
public void loadData(String data, String mime, String encoding) {
|
118
|
+
mWebView.loadData(data, mime, encoding);
|
119
|
+
}
|
120
|
+
|
121
|
+
@Override
|
122
|
+
public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
|
123
|
+
mWebView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
|
124
|
+
}
|
125
|
+
}
|
@@ -37,11 +37,10 @@ public class RhoWebSettingsOld implements RhoWebSettings {
|
|
37
37
|
webSettings.setSaveFormData(false);
|
38
38
|
webSettings.setJavaScriptEnabled(true);
|
39
39
|
webSettings.setJavaScriptCanOpenWindowsAutomatically(false);
|
40
|
-
webSettings.setSupportZoom(
|
41
|
-
|
40
|
+
webSettings.setSupportZoom(true);
|
41
|
+
webSettings.setBuiltInZoomControls(true);
|
42
42
|
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
|
43
43
|
webSettings.setSupportMultipleWindows(false);
|
44
|
-
// webSettings.setLoadsImagesAutomatically(true);
|
45
44
|
|
46
45
|
w.setVerticalScrollBarEnabled(true);
|
47
46
|
w.setHorizontalScrollBarEnabled(true);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
package com.rhomobile.rhodes.webview;
|
2
|
+
|
3
|
+
import android.view.View;
|
4
|
+
|
5
|
+
public interface WebView {
|
6
|
+
View getView();
|
7
|
+
boolean canGoBack();
|
8
|
+
void goBack();
|
9
|
+
void goForward();
|
10
|
+
void reload();
|
11
|
+
void clear();
|
12
|
+
String getUrl();
|
13
|
+
void loadUrl(String url);
|
14
|
+
void loadData(String data, String mime, String encoding);
|
15
|
+
void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl);
|
16
|
+
}
|
@@ -95,3 +95,17 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java
|
|
95
95
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java
|
96
96
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java
|
97
97
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java
|
98
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebView.java
|
99
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java
|
100
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java
|
101
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java
|
102
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java
|
103
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java
|
104
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality04.java
|
105
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java
|
106
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality06.java
|
107
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java
|
108
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java
|
109
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java
|
110
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java
|
111
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java
|
@@ -80,7 +80,8 @@ ANDROID_PERMISSIONS = {
|
|
80
80
|
'bluetooth' => ['BLUETOOTH_ADMIN', 'BLUETOOTH'],
|
81
81
|
'calendar' => ['READ_CALENDAR', 'WRITE_CALENDAR'],
|
82
82
|
'sdcard' => 'WRITE_EXTERNAL_STORAGE',
|
83
|
-
'push' => proc do |manifest| add_push(manifest) end
|
83
|
+
'push' => proc do |manifest| add_push(manifest) end,
|
84
|
+
'webkit_browser' => nil
|
84
85
|
}
|
85
86
|
|
86
87
|
ANDROID_CAPS_ALWAYS_ENABLED = ['network_state']
|
@@ -345,6 +346,43 @@ namespace "config" do
|
|
345
346
|
|
346
347
|
Rake::Task["config:common"].invoke
|
347
348
|
|
349
|
+
$java = $config["env"]["paths"]["java"]
|
350
|
+
|
351
|
+
$androidsdkpath = $config["env"]["paths"]["android"]
|
352
|
+
unless File.exists? $androidsdkpath
|
353
|
+
puts "Missing or invalid 'android' section in rhobuild.yml: '#{$androidsdkpath}'"
|
354
|
+
exit 1
|
355
|
+
end
|
356
|
+
|
357
|
+
$androidndkpath = $config["env"]["paths"]["android-ndk"]
|
358
|
+
unless File.exists? $androidndkpath
|
359
|
+
puts "Missing or invalid 'android-ndk' section in rhobuild.yml: '#{$androidndkpath}'"
|
360
|
+
exit 1
|
361
|
+
end
|
362
|
+
|
363
|
+
errfmt = "WARNING!!! Path to Android %s contain spaces! It will not work because of the Google toolchain restrictions. Move it to another location and reconfigure rhodes."
|
364
|
+
if $androidndkpath =~ /\s/
|
365
|
+
puts(errfmt % "NDK")
|
366
|
+
exit 1
|
367
|
+
end
|
368
|
+
|
369
|
+
$min_sdk_level = $app_config["android"]["minSDK"] unless $app_config["android"].nil?
|
370
|
+
$min_sdk_level = $config["android"]["minSDK"] if $min_sdk_level.nil? and not $config["android"].nil?
|
371
|
+
$min_sdk_level = $min_sdk_level.to_i unless $min_sdk_level.nil?
|
372
|
+
$min_sdk_level = ANDROID_SDK_LEVEL if $min_sdk_level.nil?
|
373
|
+
|
374
|
+
$max_sdk_level = $app_config["android"]["maxSDK"] unless $app_config["android"].nil?
|
375
|
+
|
376
|
+
$androidplatform = AndroidTools.fill_api_levels $androidsdkpath
|
377
|
+
if $androidplatform == nil
|
378
|
+
puts "No Android platform found at SDK path: '#{$androidsdkpath}'"
|
379
|
+
exit 1
|
380
|
+
end
|
381
|
+
|
382
|
+
android_api_levels = AndroidTools.get_installed_api_levels
|
383
|
+
android_api_levels.sort!
|
384
|
+
$found_api_level = android_api_levels.last
|
385
|
+
|
348
386
|
$ext_android_rhodes_activity_listener = []
|
349
387
|
$ext_android_manifest_changes= []
|
350
388
|
$ext_android_resources_addons = []
|
@@ -369,20 +407,13 @@ namespace "config" do
|
|
369
407
|
|
370
408
|
puts "Use Google addon API: #{$use_google_addon_api}" if USE_TRACES
|
371
409
|
|
372
|
-
$emuversion = $app_config["android"]["version"] unless $app_config["android"].nil?
|
373
|
-
$emuversion = $config["android"]["version"] if $emuversion.nil? and !$config["android"].nil?
|
374
|
-
|
375
410
|
$uri_scheme = $app_config["android"]["URIScheme"] unless $app_config["android"].nil?
|
376
411
|
$uri_scheme = "http" if $uri_scheme.nil?
|
377
412
|
|
378
413
|
$uri_host = $app_config["android"]["URIHost"] unless $app_config["android"].nil?
|
379
414
|
|
380
|
-
$
|
381
|
-
$
|
382
|
-
$min_sdk_level = $min_sdk_level.to_i unless $min_sdk_level.nil?
|
383
|
-
$min_sdk_level = ANDROID_SDK_LEVEL if $min_sdk_level.nil?
|
384
|
-
|
385
|
-
$max_sdk_level = $app_config["android"]["maxSDK"] unless $app_config["android"].nil?
|
415
|
+
$emuversion = $app_config["android"]["version"] unless $app_config["android"].nil?
|
416
|
+
$emuversion = $config["android"]["version"] if $emuversion.nil? and !$config["android"].nil?
|
386
417
|
|
387
418
|
# Here is switch between release/debug configuration used for
|
388
419
|
# building native libraries
|
@@ -392,29 +423,6 @@ namespace "config" do
|
|
392
423
|
$build_release = !$app_config["debug"].to_i
|
393
424
|
end
|
394
425
|
|
395
|
-
$androidsdkpath = $config["env"]["paths"]["android"]
|
396
|
-
unless File.exists? $androidsdkpath
|
397
|
-
puts "Missing or invalid 'android' section in rhobuild.yml: '#{$androidsdkpath}'"
|
398
|
-
exit 1
|
399
|
-
end
|
400
|
-
|
401
|
-
$androidndkpath = $config["env"]["paths"]["android-ndk"]
|
402
|
-
unless File.exists? $androidndkpath
|
403
|
-
puts "Missing or invalid 'android-ndk' section in rhobuild.yml: '#{$androidndkpath}'"
|
404
|
-
exit 1
|
405
|
-
end
|
406
|
-
|
407
|
-
errfmt = "WARNING!!! Path to Android %s contain spaces! It will not work because of the Google toolchain restrictions. Move it to another location and reconfigure rhodes."
|
408
|
-
#if $androidsdkpath =~ /\s/
|
409
|
-
# puts(errfmt % "SDK")
|
410
|
-
# exit 1
|
411
|
-
#end
|
412
|
-
if $androidndkpath =~ /\s/
|
413
|
-
puts(errfmt % "NDK")
|
414
|
-
exit 1
|
415
|
-
end
|
416
|
-
|
417
|
-
$java = $config["env"]["paths"]["java"]
|
418
426
|
$androidpath = Jake.get_absolute $config["build"]["androidpath"]
|
419
427
|
$bindir = File.join($app_path, "bin")
|
420
428
|
$rhobindir = File.join($androidpath, "bin")
|
@@ -478,40 +486,20 @@ namespace "config" do
|
|
478
486
|
end
|
479
487
|
|
480
488
|
puts "+++ Looking for platform..." if USE_TRACES
|
481
|
-
napilevel = $min_sdk_level
|
489
|
+
# napilevel = $min_sdk_level
|
482
490
|
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
apilevel = -1
|
493
|
-
marketversion = nil
|
494
|
-
File.open(props, "r") do |f|
|
495
|
-
while line = f.gets
|
496
|
-
apilevel = $1.to_i if line =~ /^\s*AndroidVersion\.ApiLevel\s*=\s*([0-9]+)\s*$/
|
497
|
-
marketversion = $1 if line =~ /^\s*Platform\.Version\s*=\s*([^\s]*)\s*$/
|
491
|
+
$emuversion = AndroidTools.get_market_version($min_sdk_level) if $emuversion.nil?
|
492
|
+
if $emuversion.nil?
|
493
|
+
android_api_levels.each do |v|
|
494
|
+
puts "Check api level for emulator '#{v}'"
|
495
|
+
if v >= $min_sdk_level
|
496
|
+
$emuversion = AndroidTools.get_market_version(v)
|
497
|
+
puts "emulator version will used: '#{$emuversion}'"
|
498
|
+
break
|
498
499
|
end
|
499
500
|
end
|
500
|
-
|
501
|
-
puts "+++ API LEVEL of #{platform}: #{apilevel}" if USE_TRACES
|
502
|
-
android_api_levels.push apilevel
|
503
|
-
|
504
|
-
if apilevel >= napilevel
|
505
|
-
napilevel = apilevel
|
506
|
-
$androidplatform = File.basename(platform)
|
507
|
-
$found_api_level = apilevel
|
508
|
-
end
|
509
501
|
end
|
510
|
-
|
511
|
-
android_api_levels.sort!
|
512
|
-
|
513
|
-
$emuversion = get_market_version($min_sdk_level) if $emuversion.nil?
|
514
|
-
requested_api_level = get_api_level($emuversion)
|
502
|
+
requested_api_level = AndroidTools.get_api_level($emuversion)
|
515
503
|
|
516
504
|
if USE_TRACES
|
517
505
|
puts "Found API levels:"
|
@@ -592,12 +580,6 @@ namespace "config" do
|
|
592
580
|
$storealias = $config["android"]["production"]["alias"] if $storealias.nil? and !$config["android"].nil? and !$config["android"]["production"].nil?
|
593
581
|
$storealias = "rhomobile.keystore" if $storealias.nil?
|
594
582
|
|
595
|
-
# $app_config["capabilities"] = [] if $app_config["capabilities"].nil?
|
596
|
-
# $app_config["capabilities"] = [] unless $app_config["capabilities"].is_a? Array
|
597
|
-
# if $app_config["android"] and $app_config["android"]["capabilities"]
|
598
|
-
# $app_config["capabilities"] += $app_config["android"]["capabilities"]
|
599
|
-
# $app_config["android"]["capabilities"] = nil
|
600
|
-
# end
|
601
583
|
$app_config["capabilities"] += ANDROID_CAPS_ALWAYS_ENABLED
|
602
584
|
$app_config["capabilities"].map! { |cap| cap.is_a?(String) ? cap : nil }.delete_if { |cap| cap.nil? }
|
603
585
|
$use_google_addon_api = true unless $app_config["capabilities"].index("push").nil?
|
@@ -676,6 +658,11 @@ namespace "config" do
|
|
676
658
|
end
|
677
659
|
end
|
678
660
|
|
661
|
+
if $min_sdk_level > $found_api_level
|
662
|
+
puts "Latest installed Android platform '#{$androidplatform}' does not meet minSdk '#{$min_sdk_level}' requirement"
|
663
|
+
exit 1
|
664
|
+
end
|
665
|
+
|
679
666
|
$emuversion = $emuversion.to_s
|
680
667
|
$avdname = "rhoAndroid" + $emuversion.gsub(/[^0-9]/, "")
|
681
668
|
$avdname += "ext" if $use_google_addon_api
|
@@ -708,13 +695,6 @@ namespace "config" do
|
|
708
695
|
|
709
696
|
$extensionsdir = $bindir + "/libs/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/extensions"
|
710
697
|
|
711
|
-
#$app_config["extensions"] = [] if $app_config["extensions"].nil?
|
712
|
-
#$app_config["extensions"] = [] unless $app_config["extensions"].is_a? Array
|
713
|
-
#if $app_config["android"] and $app_config["android"]["extensions"]
|
714
|
-
# $app_config["extensions"] += $app_config["android"]["extensions"]
|
715
|
-
# $app_config["android"]["extensions"] = nil
|
716
|
-
#end
|
717
|
-
|
718
698
|
$push_sender = nil
|
719
699
|
$push_sender = $config["android"]["push"]["sender"] if !$config["android"].nil? and !$config["android"]["push"].nil?
|
720
700
|
$push_sender = $app_config["android"]["push"]["sender"] if !$app_config["android"].nil? and !$app_config["android"]["push"].nil?
|
@@ -723,9 +703,7 @@ namespace "config" do
|
|
723
703
|
$push_notifications = nil
|
724
704
|
$push_notifications = $app_config["android"]["push"]["notifications"] if !$app_config["android"].nil? and !$app_config["android"]["push"].nil?
|
725
705
|
$push_notifications = "none" if $push_notifications.nil?
|
726
|
-
$push_notifications = $push_notifications
|
727
|
-
|
728
|
-
|
706
|
+
$push_notifications = $push_notifications
|
729
707
|
|
730
708
|
mkdir_p $bindir if not File.exists? $bindir
|
731
709
|
mkdir_p $rhobindir if not File.exists? $rhobindir
|
@@ -774,25 +752,7 @@ namespace "build" do
|
|
774
752
|
|
775
753
|
File.open(File.join(assets, "name"), "w") { |f| f.write($appname) }
|
776
754
|
|
777
|
-
|
778
|
-
|
779
|
-
File.open(File.join(assets, 'rho.dat'), 'w') do |dat|
|
780
|
-
Dir.glob(File.join(assets, '**/*')).sort.each do |f|
|
781
|
-
relpath = f[psize..-1]
|
782
|
-
|
783
|
-
if File.directory?(f)
|
784
|
-
type = 'dir'
|
785
|
-
elsif File.file?(f)
|
786
|
-
type = 'file'
|
787
|
-
else
|
788
|
-
next
|
789
|
-
end
|
790
|
-
size = File.stat(f).size
|
791
|
-
tm = File.stat(f).mtime.to_i
|
792
|
-
|
793
|
-
dat.puts "#{relpath}\t#{type}\t#{size.to_s}\t#{tm.to_s}"
|
794
|
-
end
|
795
|
-
end
|
755
|
+
Jake.build_file_map(assets, "rho.dat")
|
796
756
|
end
|
797
757
|
|
798
758
|
task :extensions => :genconfig do
|
@@ -814,59 +774,69 @@ namespace "build" do
|
|
814
774
|
mkdir_p $extensionsdir unless File.directory? $extensionsdir
|
815
775
|
|
816
776
|
$app_config["extensions"].each do |ext|
|
777
|
+
puts "#{ext} is processing..."
|
817
778
|
$app_config["extpaths"].each do |p|
|
818
779
|
extpath = File.join(p, ext, 'ext')
|
819
780
|
|
820
|
-
|
821
|
-
if File.file? extyml
|
822
|
-
extconf = Jake.config(File.open(extyml))
|
781
|
+
puts "Checking extpath: #{extpath}"
|
823
782
|
|
824
|
-
|
825
|
-
|
783
|
+
if File.exists? extpath and File.directory? extpath
|
784
|
+
puts "#{extpath} is building..."
|
785
|
+
extyml = File.join(p, ext,"ext.yml")
|
786
|
+
if File.file? extyml
|
787
|
+
puts "#{extyml} is processing..."
|
788
|
+
extconf = Jake.config(File.open(extyml))
|
826
789
|
|
827
|
-
|
828
|
-
|
829
|
-
android_manifest_changes = File.join(p, ext, android_manifest_changes)
|
830
|
-
$ext_android_manifest_changes << android_manifest_changes
|
831
|
-
end
|
790
|
+
android_listener = extconf["android_rhodes_activity_listener"]
|
791
|
+
$ext_android_rhodes_activity_listener << android_listener unless android_listener.nil?
|
832
792
|
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
793
|
+
android_manifest_changes = extconf["android_manifest_changes"]
|
794
|
+
if android_manifest_changes != nil
|
795
|
+
android_manifest_changes = File.join(p, ext, android_manifest_changes)
|
796
|
+
$ext_android_manifest_changes << android_manifest_changes
|
797
|
+
end
|
838
798
|
|
839
|
-
|
840
|
-
|
841
|
-
|
799
|
+
android_resources_addons = extconf["android_resources_addons"]
|
800
|
+
if android_resources_addons != nil
|
801
|
+
android_resources_addons = File.join(p, ext, android_resources_addons)
|
802
|
+
$ext_android_resources_addons << android_resources_addons
|
803
|
+
end
|
842
804
|
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
end
|
847
|
-
end
|
805
|
+
android_additional_sources_list = extconf["android_additional_sources_list"]
|
806
|
+
if android_additional_sources_list != nil
|
807
|
+
android_additional_sources_list = File.join(p, ext, android_additional_sources_list)
|
848
808
|
|
809
|
+
File.open(android_additional_sources_list, "r") do |f|
|
810
|
+
while line = f.gets
|
811
|
+
$ext_android_additional_sources_list << File.join(p, ext, line)
|
812
|
+
end
|
813
|
+
end
|
814
|
+
end
|
815
|
+
puts "#{extyml} is processed"
|
849
816
|
end
|
850
|
-
end
|
851
817
|
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
818
|
+
if RUBY_PLATFORM =~ /(win|w)32$/
|
819
|
+
next unless File.exists? File.join(extpath, 'build.bat')
|
820
|
+
else
|
821
|
+
next unless File.executable? File.join(extpath, 'build')
|
822
|
+
end
|
857
823
|
|
858
|
-
|
824
|
+
ENV['TEMP_FILES_DIR'] = File.join(ENV["TARGET_TEMP_DIR"], ext)
|
859
825
|
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
end
|
867
|
-
end
|
826
|
+
if RUBY_PLATFORM =~ /(win|w)32$/
|
827
|
+
Jake.run('build.bat', [], extpath)
|
828
|
+
else
|
829
|
+
Jake.run('./build', [], extpath)
|
830
|
+
end
|
831
|
+
exit 1 unless $?.success?
|
868
832
|
|
869
|
-
|
833
|
+
puts "#{extpath} is built"
|
834
|
+
# to prevent to build 2 extensions with same name
|
835
|
+
break
|
836
|
+
end # exists?
|
837
|
+
end # $app_config["extpaths"].each
|
838
|
+
end # $app_config["extensions"].each
|
839
|
+
end #task :extensions
|
870
840
|
|
871
841
|
task :libsqlite => "config:android" do
|
872
842
|
srcdir = File.join($shareddir, "sqlite")
|
@@ -1079,6 +1049,8 @@ namespace "build" do
|
|
1079
1049
|
regenerate = true if caps_already_enabled[k].nil? or caps_enabled[k] != caps_already_enabled[k]
|
1080
1050
|
end
|
1081
1051
|
|
1052
|
+
puts caps_enabled.inspect
|
1053
|
+
|
1082
1054
|
if regenerate
|
1083
1055
|
puts "Need to regenerate genconfig.h"
|
1084
1056
|
$stdout.flush
|
@@ -1128,7 +1100,9 @@ namespace "build" do
|
|
1128
1100
|
f.puts "package #{JAVA_PACKAGE_NAME};"
|
1129
1101
|
f.puts "public class Capabilities {"
|
1130
1102
|
ANDROID_PERMISSIONS.keys.sort.each do |k|
|
1131
|
-
|
1103
|
+
val = 'false'
|
1104
|
+
val = 'true' if caps_enabled[k]
|
1105
|
+
f.puts " public static final boolean #{k.upcase}_ENABLED = #{val};"
|
1132
1106
|
end
|
1133
1107
|
f.puts "}"
|
1134
1108
|
end
|
@@ -1752,30 +1726,30 @@ namespace "run" do
|
|
1752
1726
|
end
|
1753
1727
|
|
1754
1728
|
puts "start read log"
|
1755
|
-
|
1729
|
+
|
1730
|
+
io = File.new(log_name, 'r:UTF-8')
|
1756
1731
|
end_spec = false
|
1757
1732
|
while !end_spec do
|
1758
|
-
io = File.new(log_name, "r")
|
1759
1733
|
|
1760
1734
|
io.each do |line|
|
1761
1735
|
#puts line
|
1762
1736
|
|
1763
|
-
end_spec = !Jake.process_spec_output(line)
|
1737
|
+
end_spec = !Jake.process_spec_output(line) if line.valid_encoding?
|
1764
1738
|
break if end_spec
|
1765
1739
|
end
|
1766
|
-
io.close
|
1767
1740
|
|
1768
1741
|
break unless AndroidTools.application_running($device_flag, $app_package_name)
|
1769
1742
|
sleep(5) unless end_spec
|
1770
1743
|
end
|
1744
|
+
io.close
|
1771
1745
|
|
1772
1746
|
Jake.process_spec_results(start)
|
1773
1747
|
|
1774
1748
|
# stop app
|
1775
|
-
do_uninstall($device_flag)
|
1776
1749
|
if $device_flag == '-e'
|
1777
1750
|
AndroidTools.kill_adb_and_emulator
|
1778
1751
|
else
|
1752
|
+
do_uninstall($device_flag)
|
1779
1753
|
AndroidTools.kill_adb
|
1780
1754
|
end
|
1781
1755
|
|
@@ -1790,13 +1764,19 @@ namespace "run" do
|
|
1790
1764
|
task :device do
|
1791
1765
|
$device_flag = "-d"
|
1792
1766
|
Jake.run_spec_app('android','phone_spec')
|
1793
|
-
|
1767
|
+
unless $dont_exit_on_failure
|
1768
|
+
exit 1 if $total.to_i==0
|
1769
|
+
exit $failed.to_i
|
1770
|
+
end
|
1794
1771
|
end
|
1795
1772
|
|
1796
1773
|
task :emulator do
|
1797
1774
|
$device_flag = "-e"
|
1798
1775
|
Jake.run_spec_app('android','phone_spec')
|
1799
|
-
|
1776
|
+
unless $dont_exit_on_failure
|
1777
|
+
exit 1 if $total.to_i==0
|
1778
|
+
exit $failed.to_i
|
1779
|
+
end
|
1800
1780
|
end
|
1801
1781
|
end
|
1802
1782
|
|
@@ -1804,13 +1784,19 @@ namespace "run" do
|
|
1804
1784
|
task :device do
|
1805
1785
|
$device_flag = "-d"
|
1806
1786
|
Jake.run_spec_app('android','framework_spec')
|
1807
|
-
|
1787
|
+
unless $dont_exit_on_failure
|
1788
|
+
exit 1 if $total.to_i==0
|
1789
|
+
exit $failed.to_i
|
1790
|
+
end
|
1808
1791
|
end
|
1809
1792
|
|
1810
1793
|
task :emulator do
|
1811
1794
|
$device_flag = "-e"
|
1812
1795
|
Jake.run_spec_app('android','framework_spec')
|
1813
|
-
|
1796
|
+
unless $dont_exit_on_failure
|
1797
|
+
exit 1 if $total.to_i==0
|
1798
|
+
exit $failed.to_i
|
1799
|
+
end
|
1814
1800
|
end
|
1815
1801
|
end
|
1816
1802
|
|
@@ -1831,6 +1817,7 @@ namespace "run" do
|
|
1831
1817
|
puts "Agg Total: #{$total}"
|
1832
1818
|
puts "Agg Passed: #{$passed}"
|
1833
1819
|
puts "Agg Failed: #{$failed}"
|
1820
|
+
exit 1 if $total.to_i==0
|
1834
1821
|
exit $failed.to_i
|
1835
1822
|
end
|
1836
1823
|
|
@@ -1850,6 +1837,17 @@ namespace "run" do
|
|
1850
1837
|
Rake::Task["run:rhosimulator"].invoke
|
1851
1838
|
end
|
1852
1839
|
|
1840
|
+
task :rhosimulator_debug => ["config:set_android_platform","config:common"] do
|
1841
|
+
|
1842
|
+
$emuversion = $app_config["android"]["version"] unless $app_config["android"].nil?
|
1843
|
+
$emuversion = $config["android"]["version"] if $emuversion.nil? and !$config["android"].nil?
|
1844
|
+
|
1845
|
+
$rhosim_config = "platform='android'\r\n"
|
1846
|
+
$rhosim_config += "os_version='#{$emuversion}'\r\n" if $emuversion
|
1847
|
+
|
1848
|
+
Rake::Task["run:rhosimulator_debug"].invoke
|
1849
|
+
end
|
1850
|
+
|
1853
1851
|
task :get_info => "config:android" do
|
1854
1852
|
$androidtargets.each do |level|
|
1855
1853
|
puts "#{get_market_version(level[0])}"
|
@@ -1926,6 +1924,10 @@ namespace "run" do
|
|
1926
1924
|
cmd << " -no-window" if options[:hidden]
|
1927
1925
|
cmd << " -avd #{$avdname}"
|
1928
1926
|
Thread.new { system(cmd) }
|
1927
|
+
|
1928
|
+
puts "Waiting for emulator..."
|
1929
|
+
puts Jake.run($adb, ['wait-for-device'] )
|
1930
|
+
|
1929
1931
|
puts "Waiting up to 180 seconds for emulator..."
|
1930
1932
|
startedWaiting = Time.now
|
1931
1933
|
adbRestarts = 1
|