rhodes 3.4.2 → 3.5.1.12
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +9 -0
- data/Rakefile +61 -9
- data/doc/build.txt +147 -38
- data/doc/configuration.txt +49 -33
- data/doc/connect-to-web-services.txt +32 -32
- data/doc/contributing.txt +1 -1
- data/doc/device-caps.txt +62 -311
- data/doc/extensions.txt +104 -5
- data/doc/install.txt +17 -61
- data/doc/linea.txt +11 -11
- data/doc/nfc.txt +3 -3
- data/doc/release.txt +4 -4
- data/doc/rhom.txt +7 -7
- data/doc/rhostudio-test-plan.txt +12 -12
- data/doc/simulator.txt +32 -19
- data/doc/syncengine-ajax-api.txt +1 -1
- data/doc/synchronization.txt +8 -2
- data/doc/test-log-debug.txt +34 -3
- data/doc/ui.txt +8 -3
- data/installer/icon.ico +0 -0
- data/lib/build/jake.rb +27 -6
- data/lib/extensions/audiocapture/audiocapture.rb +43 -0
- data/lib/extensions/audiocapture/ext.yml +5 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/AndroidManifest.xml +10 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/Rakefile +77 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/ext_build.files +2 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/jni/src/audiocapture.cpp +189 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/src/com/audiocapture/Audiocapture.java +236 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/android/src/com/audiocapture/ExtAudioRecorder.java +573 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/Audiocapture.files +1 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/Rakefile +97 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/audiocapture.jdp +48 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/bb/src/com/audiocapture/Audiocapture.java +118 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Audiocapture.xcodeproj/project.pbxproj +314 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Audiocapture_Prefix.pch +7 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Classes/audioCapture.h +51 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Classes/audioCapture.m +418 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/iphone/Rakefile +79 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.sln +44 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.vcproj +647 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Audiocapture.vsprops +15 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/Rakefile +62 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/src/audiocapture_wm.cpp +40 -0
- data/lib/extensions/audiocapture/ext/audiocapture/platform/wm/src/audiocapture_wm.h +2 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/ruby/audiocapture.i +29 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/ruby/audiocapture_wrap.c +2310 -0
- data/lib/extensions/audiocapture/ext/audiocapture/shared/src/audiocapture.c +26 -0
- data/lib/extensions/audiocapture/ext/build +17 -0
- data/lib/extensions/audiocapture/ext/build.bat +36 -0
- data/lib/extensions/barcode/ext.yml +5 -3
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +87 -87
- data/lib/extensions/digest-md5/ext/build +1 -1
- data/lib/extensions/digest-sha1/ext/build +1 -1
- data/lib/extensions/digest-sha2/ext/build +1 -1
- data/lib/extensions/digest/ext/build +1 -1
- data/lib/extensions/fcntl/ext/fcntl.c +5 -5
- data/lib/extensions/gcm-push/ext.yml +8 -0
- data/lib/extensions/gcm-push/ext/android/AndroidManifest.rb +5 -0
- data/lib/extensions/gcm-push/ext/android/ApplicationManifestAdds.erb +8 -0
- data/lib/extensions/gcm-push/ext/android/Rakefile +66 -0
- data/lib/extensions/gcm-push/ext/android/ext_build.files +3 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/com_rhomobile_rhodes_gcm_GCMRhoListener.h +21 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/gcmpushclient.cpp +173 -0
- data/lib/extensions/gcm-push/ext/android/jni/src/gcmpushclient.h +62 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMBroadcastReceiver.java +40 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMFacade.java +55 -0
- data/lib/extensions/gcm-push/ext/android/src/com/rhomobile/rhodes/gcm/GCMIntentService.java +60 -0
- data/lib/extensions/gcm-push/ext/build +12 -0
- data/lib/extensions/gcm-push/ext/build.bat +8 -0
- data/lib/extensions/net-http/net/http.rb +153 -119
- data/lib/extensions/net-http/net/https.rb +4 -38
- data/lib/extensions/nfc/ext.yml +6 -4
- data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +2 -2
- data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/NfcTechActivity.java +0 -1
- data/lib/extensions/openssl/openssl/ssl-internal.rb +3 -1
- data/lib/extensions/rawsensors/ext.yml +4 -0
- data/lib/extensions/rawsensors/ext/build +17 -0
- data/lib/extensions/rawsensors/ext/build.bat +36 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/Rakefile +77 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/ext_build.files +1 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/jni/src/rawsensors.cpp +180 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/android/src/com/rawsensors/Rawsensors.java +355 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/Rakefile +97 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/Rawsensors.files +1 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/rawsensors.jdp +48 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/bb/src/com/rawsensors/Rawsensors.java +118 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Classes/RawSensors.h +66 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Classes/RawSensors.m +351 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rakefile +79 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rawsensors.xcodeproj/project.pbxproj +316 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/iphone/Rawsensors_Prefix.pch +7 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rakefile +62 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.sln +44 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.vcproj +647 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/Rawsensors.vsprops +15 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/src/rawsensors_wm.cpp +40 -0
- data/lib/extensions/rawsensors/ext/rawsensors/platform/wm/src/rawsensors_wm.h +2 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/ruby/rawsensors.i +22 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/ruby/rawsensors_wrap.c +2308 -0
- data/lib/extensions/rawsensors/ext/rawsensors/shared/src/rawsensors.c +25 -0
- data/lib/extensions/rawsensors/rawsensors.rb +36 -0
- data/lib/framework/autocomplete/AddressBar.rb +19 -0
- data/lib/framework/autocomplete/Alarm.rb +23 -0
- data/lib/framework/autocomplete/Alert.rb +19 -0
- data/lib/framework/autocomplete/AppApplication.rb +17 -0
- data/lib/framework/autocomplete/AppSwitcher.rb +13 -0
- data/lib/framework/autocomplete/Application.rb +23 -0
- data/lib/framework/autocomplete/AudioCapture.rb +31 -0
- data/lib/framework/autocomplete/BackButton.rb +25 -0
- data/lib/framework/autocomplete/Backlight.rb +21 -0
- data/lib/framework/autocomplete/Barcode.rb +29 -0
- data/lib/framework/autocomplete/BasicSocket.rb +87 -0
- data/lib/framework/autocomplete/Battery.rb +33 -0
- data/lib/framework/autocomplete/BottomCommandArea.rb +19 -0
- data/lib/framework/autocomplete/BrowserHelper.rb +19 -0
- data/lib/framework/autocomplete/Bsearch.rb +11 -0
- data/lib/framework/autocomplete/Camera.rb +17 -0
- data/lib/framework/autocomplete/CardReader.rb +29 -0
- data/lib/framework/autocomplete/Comm.rb +45 -0
- data/lib/framework/autocomplete/Cradle.rb +15 -0
- data/lib/framework/autocomplete/Date.rb +50 -0
- data/lib/framework/autocomplete/DateTime.rb +24 -0
- data/lib/framework/autocomplete/DateTimePicker.rb +15 -0
- data/lib/framework/autocomplete/Device.rb +19 -0
- data/lib/framework/autocomplete/Digest.rb +28 -0
- data/lib/framework/autocomplete/Dir.rb +63 -0
- data/lib/framework/autocomplete/Eink.rb +19 -0
- data/lib/framework/autocomplete/EmmlProfile.rb +19 -0
- data/lib/framework/autocomplete/File.rb +301 -0
- data/lib/framework/autocomplete/FileTransfer.rb +27 -0
- data/lib/framework/autocomplete/ForwardButton.rb +25 -0
- data/lib/framework/autocomplete/GeneratorController.rb +15 -0
- data/lib/framework/autocomplete/GeoLocation.rb +27 -0
- data/lib/framework/autocomplete/Gesture.rb +71 -0
- data/lib/framework/autocomplete/GoButton.rb +25 -0
- data/lib/framework/autocomplete/HashWithIndifferentAccess.rb +51 -0
- data/lib/framework/autocomplete/History.rb +11 -0
- data/lib/framework/autocomplete/HomeButton.rb +25 -0
- data/lib/framework/autocomplete/Hourglass.rb +17 -0
- data/lib/framework/autocomplete/IPSocket.rb +65 -0
- data/lib/framework/autocomplete/Imager.rb +53 -0
- data/lib/framework/autocomplete/IoAnalog.rb +73 -0
- data/lib/framework/autocomplete/IoDigital.rb +93 -0
- data/lib/framework/autocomplete/IoSystem.rb +21 -0
- data/lib/framework/autocomplete/JSON.rb +142 -0
- data/lib/framework/autocomplete/KeyCapture.rb +25 -0
- data/lib/framework/autocomplete/KeyState.rb +23 -0
- data/lib/framework/autocomplete/Keylight.rb +17 -0
- data/lib/framework/autocomplete/Lightsensor.rb +19 -0
- data/lib/framework/autocomplete/LocalizationSimplified.rb +33 -0
- data/lib/framework/autocomplete/MapView.rb +23 -0
- data/lib/framework/autocomplete/MediaPlayer.rb +19 -0
- data/lib/framework/autocomplete/Memory.rb +17 -0
- data/lib/framework/autocomplete/MinimizeButton.rb +25 -0
- data/lib/framework/autocomplete/NativeBar.rb +31 -0
- data/lib/framework/autocomplete/NavBar.rb +15 -0
- data/lib/framework/autocomplete/Network.rb +31 -0
- data/lib/framework/autocomplete/Notification.rb +35 -0
- data/lib/framework/autocomplete/OpenSSL.rb +440 -0
- data/lib/framework/autocomplete/Phonebook.rb +39 -0
- data/lib/framework/autocomplete/PowerOn.rb +13 -0
- data/lib/framework/autocomplete/Push.rb +27 -0
- data/lib/framework/autocomplete/QuitButton.rb +25 -0
- data/lib/framework/autocomplete/RHO_APPS_DIR.rb +8 -0
- data/lib/framework/autocomplete/RHO_ERB_EXT.rb +8 -0
- data/lib/framework/autocomplete/RHO_FRAMEWORK.rb +0 -0
- data/lib/framework/autocomplete/RHO_RB_EXT.rb +8 -0
- data/lib/framework/autocomplete/RawSensors.rb +53 -0
- data/lib/framework/autocomplete/Reboot.rb +13 -0
- data/lib/framework/autocomplete/Registry.rb +25 -0
- data/lib/framework/autocomplete/ReloadButton.rb +25 -0
- data/lib/framework/autocomplete/Rfid.rb +173 -0
- data/lib/framework/autocomplete/Rho.rb +496 -0
- data/lib/framework/autocomplete/RhoBluetooth.rb +41 -0
- data/lib/framework/autocomplete/RhoConf.rb +23 -0
- data/lib/framework/autocomplete/RhoElementsExt.rb +11 -0
- data/lib/framework/autocomplete/RhoLog.rb +13 -0
- data/lib/framework/autocomplete/RhoProfiler.rb +21 -0
- data/lib/framework/autocomplete/RhoStdout.rb +19 -0
- data/lib/framework/autocomplete/Rhodes.rb +13 -0
- data/lib/framework/autocomplete/RhodesNativeViewManager.rb +15 -0
- data/lib/framework/autocomplete/Rhom.rb +198 -0
- data/lib/framework/autocomplete/Rsm.rb +135 -0
- data/lib/framework/autocomplete/SQLite3.rb +36 -0
- data/lib/framework/autocomplete/SWIG.rb +24 -0
- data/lib/framework/autocomplete/ScanError.rb +9 -0
- data/lib/framework/autocomplete/Scanner.rb +379 -0
- data/lib/framework/autocomplete/ScreenOrientation.rb +23 -0
- data/lib/framework/autocomplete/SignatureCapture.rb +47 -0
- data/lib/framework/autocomplete/SignatureTool.rb +11 -0
- data/lib/framework/autocomplete/Sip.rb +19 -0
- data/lib/framework/autocomplete/SipButton.rb +25 -0
- data/lib/framework/autocomplete/Sntp.rb +13 -0
- data/lib/framework/autocomplete/Socket.rb +356 -0
- data/lib/framework/autocomplete/SocketError.rb +9 -0
- data/lib/framework/autocomplete/StopButton.rb +25 -0
- data/lib/framework/autocomplete/StringIO.rb +139 -0
- data/lib/framework/autocomplete/StringScanner.rb +102 -0
- data/lib/framework/autocomplete/Stylus.rb +15 -0
- data/lib/framework/autocomplete/SyncEngine.rb +77 -0
- data/lib/framework/autocomplete/System.rb +79 -0
- data/lib/framework/autocomplete/SystemTime.rb +17 -0
- data/lib/framework/autocomplete/TCPServer.rb +65 -0
- data/lib/framework/autocomplete/TCPSocket.rb +59 -0
- data/lib/framework/autocomplete/Telemetry.rb +23 -0
- data/lib/framework/autocomplete/Thread.rb +85 -0
- data/lib/framework/autocomplete/Time.rb +167 -0
- data/lib/framework/autocomplete/Timer.rb +19 -0
- data/lib/framework/autocomplete/TopCommandArea.rb +19 -0
- data/lib/framework/autocomplete/UDPSocket.rb +65 -0
- data/lib/framework/autocomplete/VideoCapture.rb +29 -0
- data/lib/framework/autocomplete/Volume.rb +13 -0
- data/lib/framework/autocomplete/Wake.rb +15 -0
- data/lib/framework/autocomplete/WebView.rb +31 -0
- data/lib/framework/autocomplete/Wlan.rb +87 -0
- data/lib/framework/autocomplete/Zoom.rb +15 -0
- data/lib/framework/autocomplete/ZoomInPageButton.rb +25 -0
- data/lib/framework/autocomplete/ZoomOutPageButton.rb +25 -0
- data/lib/framework/autocomplete/ZoomTextButton.rb +25 -0
- data/lib/framework/rho/render.rb +15 -4
- data/lib/framework/rho/rho.rb +17 -8
- data/lib/framework/rho/rhoapplication.rb +25 -3
- data/lib/framework/rho/rhocontact.rb +13 -0
- data/lib/framework/rho/rhoevent.rb +15 -0
- data/lib/framework/rho/rhonativeviewmanager.rb +3 -3
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhom/rhom.rb +5 -0
- data/lib/framework/rhomotoapi.rb +2 -1
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +4 -3
- data/platform/android/Rhodes/AndroidManifest.xml.erb +7 -7
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +22 -0
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +1 -9
- data/platform/android/Rhodes/jni/src/callbacks.cpp +2 -0
- data/platform/android/Rhodes/jni/src/camera.cpp +5 -0
- data/platform/android/Rhodes/jni/src/event.cpp +10 -0
- data/platform/android/Rhodes/jni/src/geolocation.cpp +10 -0
- data/platform/android/Rhodes/jni/src/logger.cpp +3 -1
- data/platform/android/Rhodes/jni/src/phonebook.cpp +11 -0
- data/platform/android/Rhodes/jni/src/rhodes.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +41 -25
- data/platform/android/Rhodes/jni/src/signature.cpp +7 -6
- data/platform/android/Rhodes/jni/src/webview.cpp +29 -0
- data/platform/android/Rhodes/project.properties +1 -1
- data/platform/android/Rhodes/res/drawable/icon.png +0 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/ConnectionChangeReceiver.java +28 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushContract.java +102 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +20 -56
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +9 -124
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +114 -126
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +26 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/PopupActivity.java +3 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +31 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +2 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePicker.java +3 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProvider.java +19 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProviderFroyo.java +5 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/CalendarIDsProviderICS.java +22 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +32 -22
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +5 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoListener.java +34 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +11 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/{webview → extmanager}/IRhoWebView.java +5 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +605 -492
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +16 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +9 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +43 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +82 -64
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +28 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/GoogleMapView.java +4 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +0 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality12.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality13.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality14.java +12 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +10 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +3 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +43 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebChromeClient.java +5 -0
- data/platform/android/build/RhodesSRC_build.files +10 -4
- data/platform/android/build/android.rake +46 -193
- data/platform/android/build/android_tools.rb +181 -13
- data/platform/bb/Hsqldb/src/org/hsqldb/CompiledStatementExecutor.java +3 -3
- data/platform/bb/Hsqldb/src/org/hsqldb/Expression.java +4 -2
- data/platform/bb/RubyVM/src/com/rho/IRhoRubyHelper.java +2 -0
- data/platform/bb/RubyVM/src/com/rho/RhoRuby.java +6 -0
- data/platform/bb/RubyVM/src/com/rho/ThreadQueue.java +13 -8
- data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +103 -1
- data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +18 -0
- data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +9 -2
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +16 -11
- data/platform/bb/RubyVM/src/com/rho/sync/ClientRegister.java +25 -3
- data/platform/bb/RubyVM/src/com/rho/sync/ISyncProtocol.java +1 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +122 -32
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +44 -14
- data/platform/bb/RubyVM/src/com/rho/sync/SyncProtocol_3.java +3 -2
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +340 -88
- data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +62 -15
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/AttrReader.java +1 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyFixnum.java +3 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/builtin/RubyHash.java +1 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyAPI.java +19 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyBasic.java +9 -0
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyBinding.java +4 -4
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyModule.java +13 -1
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyObject.java +16 -1
- data/platform/bb/build/bb.rake +3 -1
- data/platform/bb/build/rhodes_build.files +0 -1
- data/platform/bb/rhodes/platform/4.7/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +13 -3
- data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +1 -1
- data/platform/bb/rhodes/platform/common/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/resources/icon.png +0 -0
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +10 -0
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +13 -3
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +5 -0
- data/platform/bb/rhodes/src/com/rho/RhodesApplicationPlatform.java +1 -1
- data/platform/bb/rhodes/src/com/rho/file/Jsr75File.java +6 -1
- data/platform/bb/rhodes/src/com/rho/file/Jsr75RAFileImpl.java +6 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/GeoLocation.java +38 -9
- data/platform/bb/rhodes/src/com/rho/rubyext/SignatureCapture.java +13 -18
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +16 -1
- data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +0 -20
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +1 -10
- data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +40 -35
- data/platform/iphone/Classes/AppManager/AppManager.h +1 -1
- data/platform/iphone/Classes/AppManager/AppManager.m +46 -29
- data/platform/iphone/Classes/Camera/PickImageDelegate.m +9 -0
- data/platform/iphone/Classes/Event/Event.h +6 -1
- data/platform/iphone/Classes/Event/Event.m +67 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.h +2 -1
- data/platform/iphone/Classes/GeoLocation/LocationController.m +17 -1
- data/platform/iphone/Classes/NetworkStatusMonitor.h +17 -0
- data/platform/iphone/Classes/NetworkStatusMonitor.mm +58 -0
- data/platform/iphone/Classes/Phonebook/phonebook.h +6 -0
- data/platform/iphone/Classes/Phonebook/phonebook.m +62 -6
- data/platform/iphone/Classes/Reachability.h +31 -0
- data/platform/iphone/Classes/Reachability.m +223 -0
- data/platform/iphone/Classes/RhoMainView.h +1 -0
- data/platform/iphone/Classes/RhoViewController.m +16 -0
- data/platform/iphone/Classes/Rhodes.h +2 -0
- data/platform/iphone/Classes/Rhodes.m +89 -10
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +4 -7
- data/platform/iphone/Classes/SimpleMainView.m +16 -0
- data/platform/iphone/Classes/SplashViewController.m +11 -1
- data/platform/iphone/Classes/SplitView/RightViewController.m +6 -0
- data/platform/iphone/Classes/SplitView/SplittedMainView.m +5 -0
- data/platform/iphone/Classes/TabbedMainView.m +4 -0
- data/platform/iphone/Classes/WebView.m +14 -0
- data/platform/iphone/Info.plist +1 -6
- data/platform/iphone/iTunesArtwork.jpg +0 -0
- data/platform/iphone/icon.png +0 -0
- data/platform/iphone/icon114.png +0 -0
- data/platform/iphone/icon57.png +0 -0
- data/platform/iphone/icon72.png +0 -0
- data/platform/iphone/rbuild/iphone.rake +8 -11
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +20 -4
- data/platform/osx/Rhodes Launcher/rhorunner.app/icon.png +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit +0 -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/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqcorewlanbearer.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqgenericbearer.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqcncodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqjpcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqkrcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqtwcodecs.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/graphicssystems/libqtracegraphicssystem.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqgif.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqico.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqjpeg.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqmng.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtga.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtiff.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_inspector.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_tcp.dylib +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Resources/rho.icns +0 -0
- data/platform/shared/common/ExtManager.h +8 -0
- data/platform/shared/common/RhoDefs.h +3 -2
- data/platform/shared/common/RhoFile.cpp +14 -1
- data/platform/shared/common/RhoMutexLock.h +4 -0
- data/platform/shared/common/RhoPort.h +5 -1
- data/platform/shared/common/RhoStd.h +12 -0
- data/platform/shared/common/RhoThread.cpp +1 -2
- data/platform/shared/common/RhoTime.h +4 -0
- data/platform/shared/common/RhodesApp.cpp +189 -65
- data/platform/shared/common/RhodesApp.h +60 -7
- data/platform/shared/common/RhodesAppBase.cpp +2 -8
- data/platform/shared/common/RhodesAppBase.h +1 -0
- data/platform/shared/common/ThreadQueue.cpp +2 -2
- data/platform/shared/common/app_build_configs.c +3 -1
- data/platform/shared/common/map/MapEngine.cpp +39 -3
- data/platform/shared/common/push/IRhoPushClient.h +3 -3
- data/platform/shared/common/push/RhoPushManager.cpp +31 -53
- data/platform/shared/common/push/RhoPushManager.h +12 -26
- data/platform/shared/curl/lib/curl_config.h +1 -1
- data/platform/shared/json/RJSONTokener.c +3 -1
- data/platform/shared/json/config.h +4 -4
- data/platform/shared/json/json_tokener.c +1 -1
- data/platform/shared/logging/RhoLog.cpp +5 -5
- data/platform/shared/logging/RhoLogConf.cpp +4 -6
- data/platform/shared/logging/RhoLogConf.h +2 -2
- data/platform/shared/logging/RhoLogSink.cpp +2 -0
- data/platform/shared/net/HttpServer.cpp +54 -7
- data/platform/shared/net/HttpServer.h +2 -0
- data/platform/shared/qt/rhodes/QtMainWindow.cpp +22 -0
- data/platform/shared/qt/rhodes/QtMainWindow.h +1 -0
- data/platform/shared/qt/rhodes/impl/CalendarImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/GeoLocationImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +7 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +2 -0
- data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +5 -0
- data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +12 -0
- data/platform/shared/qt/rhodes/main.cpp +0 -7
- data/platform/shared/qt/rhodes/resources/rho.icns +0 -0
- data/platform/shared/qt/rhodes/resources/rho.ico +0 -0
- data/platform/shared/qt/rhodes/resources/rho.png +0 -0
- data/platform/shared/ruby/encoding.c +4 -0
- data/platform/shared/ruby/ext/calendar/calendar.i +3 -0
- data/platform/shared/ruby/ext/calendar/calendar_wrap.c +19 -0
- data/platform/shared/ruby/ext/camera/camera.i +2 -0
- data/platform/shared/ruby/ext/camera/camera_wrap.c +43 -2
- data/platform/shared/ruby/ext/geolocation/geolocation.i +4 -0
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +24 -4
- data/platform/shared/ruby/ext/phonebook/phonebook.i +4 -0
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +44 -0
- data/platform/shared/ruby/ext/rho/extensions.c +0 -2
- data/platform/shared/ruby/ext/rho/rhoruby.c +2 -0
- data/platform/shared/ruby/ext/rho/rhosupport.c +8 -0
- data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +1 -1
- data/platform/shared/ruby/ext/syncengine/syncengine.i +6 -2
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +19 -6
- data/platform/shared/ruby/ext/system/system.i +22 -0
- data/platform/shared/ruby/ext/system/system_wrap.c +158 -86
- data/platform/shared/ruby/ext/webview/webview.i +13 -8
- data/platform/shared/ruby/ext/webview/webview_wrap.c +88 -2
- data/platform/shared/ruby/include/ruby/win32.h +3 -1
- data/platform/shared/ruby/iphone/ruby/config.h +3 -3
- data/platform/shared/ruby/missing/hypot.c +4 -0
- data/platform/shared/ruby/random.c +6 -2
- data/platform/shared/ruby/thread_win32.c +8 -3
- data/platform/shared/ruby/win32/ruby/config.h +0 -3
- data/platform/shared/ruby/win32/win32.c +4 -0
- data/platform/shared/ruby/wp8/assert.c +12 -0
- data/platform/shared/ruby/wp8/assert.h +18 -0
- data/platform/shared/ruby/wp8/errno.c +11 -0
- data/platform/shared/ruby/wp8/errno.h +59 -0
- data/platform/shared/ruby/wp8/missing_wp8.h +74 -0
- data/platform/shared/ruby/wp8/signal.h +71 -0
- data/platform/shared/ruby/wp8/signal_wp8.c +26 -0
- data/platform/shared/ruby/wp8/stdio.c +36 -0
- data/platform/shared/ruby/wp8/stdlib.c +61 -0
- data/platform/shared/ruby/wp8/string_wp8.c +89 -0
- data/platform/shared/ruby/wp8/sys/stat.c +183 -0
- data/platform/shared/ruby/wp8/sys/stat.h +70 -0
- data/platform/shared/ruby/wp8/sys/timeb.c +31 -0
- data/platform/shared/ruby/wp8/sys/timeb.h +27 -0
- data/platform/shared/ruby/wp8/sys/types.h +62 -0
- data/platform/shared/ruby/wp8/sys/utime.c +44 -0
- data/platform/shared/ruby/wp8/sys/utime.h +27 -0
- data/platform/shared/ruby/wp8/time_wp8.c +256 -0
- data/platform/shared/ruby/wp8/varargs.h +34 -0
- data/platform/shared/ruby/wp8/win32/win32.c +5783 -0
- data/platform/shared/ruby/wp8/winsock_wp8.c +26 -0
- data/platform/shared/ruby/wp8/winsock_wp8.h +23 -0
- data/platform/shared/ruby/wp8/wp8.c +516 -0
- data/platform/shared/ruby/wp8/wp8.h +274 -0
- data/platform/shared/ruby/wp8/wp8main.c +18 -0
- data/platform/shared/rubyext/GeoLocation.cpp +1 -1
- data/platform/shared/rubyext/System.cpp +18 -4
- data/platform/shared/rubyext/ZipFiles.cpp +1 -1
- data/platform/shared/sync/ClientRegister.cpp +113 -23
- data/platform/shared/sync/ClientRegister.h +27 -16
- data/platform/shared/sync/ILoginListener.h +44 -0
- data/platform/shared/sync/SyncEngine.cpp +50 -24
- data/platform/shared/sync/SyncEngine.h +11 -5
- data/platform/shared/sync/SyncSource.cpp +87 -61
- data/platform/shared/sync/SyncSource.h +6 -3
- data/platform/shared/sync/SyncThread.cpp +8 -15
- data/platform/shared/sync/SyncThread.h +13 -7
- data/platform/shared/unzip/unzip.cpp +1 -1
- data/platform/shared/unzip/zip.h +8 -1
- data/platform/shared/xruby/src/com/xruby/runtime/builtin/AttrReader.java +13 -0
- data/platform/shared/xruby/src/com/xruby/runtime/builtin/RubyFixnum.java +3 -1
- data/platform/shared/xruby/src/com/xruby/runtime/lang/MethodBlockBase.java +9 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyBasic.java +9 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyBinding.java +17 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyMethod.java +22 -2
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyModule.java +25 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyObject.java +21 -0
- data/platform/shared/xruby/src/com/xruby/runtime/lang/RubyValue.java +8 -0
- data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +6 -0
- data/platform/win32/RhoSimulator/Microsoft.VC90.CRT.manifest +12 -5
- data/platform/win32/RhoSimulator/Microsoft.VC90.OpenMP.manifest +12 -5
- data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
- data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
- data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qico4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qmng4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qsvg4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtiff4.dll +0 -0
- data/platform/win32/RhoSimulator/msvcm90.dll +0 -0
- data/platform/win32/RhoSimulator/msvcp90.dll +0 -0
- data/platform/win32/RhoSimulator/msvcr90.dll +0 -0
- data/platform/win32/RhoSimulator/phonon4.dll +0 -0
- data/platform/win32/RhoSimulator/vcomp90.dll +0 -0
- data/platform/wm/build/wm.rake +67 -22
- data/platform/wm/rhodes.sln +485 -493
- data/platform/wm/rhodes/IEBrowserEngine.cpp +2 -6
- data/platform/wm/rhodes/MainWindow.cpp +86 -35
- data/platform/wm/rhodes/MainWindow.h +33 -0
- data/platform/wm/rhodes/Rhodes.cpp +288 -215
- data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +22 -17
- data/platform/wm/rhodes/bluetooth/Bluetooth.h +3 -3
- data/platform/wm/rhodes/camera/Camera.cpp +4 -0
- data/platform/wm/rhodes/camera/Camera.h +1 -0
- data/platform/wm/rhodes/phonebook/phonebook.cpp +9 -0
- data/platform/wm/rhodes/phonebook/phonebook.h +2 -0
- data/platform/wm/rhodes/resources/icon.ico +0 -0
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +5 -1
- data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +1 -11
- data/platform/wm/rhodes/rho/rubyext/GeoLocationImpl.cpp +5 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +21 -2
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +12 -0
- data/platform/wm/rhodes/rho/rubyext/calendar.cpp +9 -0
- data/platform/wm/rhodes/rhodes.vcproj +60 -60
- data/platform/wm/rhodes/simulator/MainWindowQt.cpp +91 -6
- data/platform/wm/rhodes/simulator/MainWindowQt.h +6 -0
- data/platform/wm/rhoelements.sln +624 -623
- data/platform/wm/tcmalloc/tcmalloc.vcproj +1230 -1070
- data/platform/wp7/RhoRubyLib/rubyext/RhoCamera.cs +6 -3
- data/platform/wp7/rhodes/Properties/WMAppManifest.xml +5 -0
- data/platform/wp7/rhodes/icon.png +0 -0
- data/platform/wp8/RhoAppRunner/Program.cs +99 -0
- data/platform/wp8/RhoAppRunner/Properties/AssemblyInfo.cs +36 -0
- data/platform/wp8/RhoAppRunner/RhoAppRunner.csproj +69 -0
- data/platform/wp8/build/wp.rake +486 -0
- data/platform/wp8/rhodes.sln +154 -0
- data/platform/wp8/rhodes/App.xaml +20 -0
- data/platform/wp8/rhodes/App.xaml.cs +189 -0
- data/platform/wp8/rhodes/Assets/ApplicationIcon.png +0 -0
- data/platform/wp8/rhodes/Assets/Tiles/FlipCycleTileMedium.png +0 -0
- data/platform/wp8/rhodes/Assets/Tiles/FlipCycleTileSmall.png +0 -0
- data/platform/wp8/rhodes/LocalizedStrings.cs +37 -0
- data/platform/wp8/rhodes/MainPage.xaml +21 -0
- data/platform/wp8/rhodes/MainPage.xaml.cs +339 -0
- data/platform/wp8/rhodes/Properties/AppManifest.xml +6 -0
- data/platform/wp8/rhodes/Properties/AssemblyInfo.cs +37 -0
- data/platform/wp8/rhodes/Properties/WMAppManifest.xml +47 -0
- data/platform/wp8/rhodes/Resources/AppResources.Designer.cs +127 -0
- data/platform/wp8/rhodes/Resources/AppResources.resx +135 -0
- data/platform/wp8/rhodes/common/IInputStream.cs +47 -0
- data/platform/wp8/rhodes/common/RhoFile.cs +374 -0
- data/platform/wp8/rhodes/common/RhoFilePath.cs +115 -0
- data/platform/wp8/rhodes/common/RhoResourceMap.cs +92 -0
- data/platform/wp8/rhodes/common/RhoStd.cs +237 -0
- data/platform/wp8/rhodes/icon.png +0 -0
- data/platform/wp8/rhodes/rhodes.csproj +198 -0
- data/platform/wp8/rholib/rholib.vcxproj +240 -0
- data/platform/wp8/rholib/rholib.vcxproj.filters +289 -0
- data/platform/wp8/rhoruntime/FakeDefs.cpp +134 -0
- data/platform/wp8/rhoruntime/common/ExtManager.cpp +449 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.cpp +58 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.h +60 -0
- data/platform/wp8/rhoruntime/common/RhoCryptImpl.cpp +274 -0
- data/platform/wp8/rhoruntime/common/RhoCryptImpl.h +78 -0
- data/platform/wp8/rhoruntime/common/RhoThreadImpl.cpp +109 -0
- data/platform/wp8/rhoruntime/common/RhoThreadImpl.h +56 -0
- data/platform/wp8/rhoruntime/pch_rhoruntime.cpp +27 -0
- data/platform/wp8/rhoruntime/pch_rhoruntime.h +30 -0
- data/platform/wp8/rhoruntime/rhoruntime.cpp +93 -0
- data/platform/wp8/rhoruntime/rhoruntime.h +114 -0
- data/platform/wp8/rhoruntime/rhoruntime.vcxproj +175 -0
- data/platform/wp8/rhoruntime/rhoruntime.vcxproj.filters +44 -0
- data/platform/wp8/rubylib/file.c +5459 -0
- data/platform/wp8/rubylib/rubylib.vcxproj +286 -0
- data/platform/wp8/rubylib/rubylib.vcxproj.filters +307 -0
- data/platform/wp8/sqlite3/crypto.c +933 -0
- data/platform/wp8/sqlite3/sqlite3.c +136332 -0
- data/platform/wp8/sqlite3/sqlite3.vcxproj +149 -0
- data/platform/wp8/sqlite3/sqlite3.vcxproj.filters +16 -0
- data/platform/wp8/syncengine/syncengine.vcxproj +199 -0
- data/platform/wp8/syncengine/syncengine.vcxproj.filters +155 -0
- data/rakefile.rb +61 -9
- data/res/build-tools/RhoAppRunnerWP8.exe +0 -0
- data/res/build-tools/license_rc.dll +0 -0
- data/res/build-tools/win32/license_rc.dll +0 -0
- data/res/build-tools/xruby-0.3.3.jar +0 -0
- data/res/generators/rhogen.rb +36 -0
- data/res/generators/templates/application/app/loading-568h@2x.png +0 -0
- data/res/generators/templates/application/app/loading-Landscape.png +0 -0
- data/res/generators/templates/application/app/loading-LandscapeLeft.png +0 -0
- data/res/generators/templates/application/app/loading-LandscapeRight.png +0 -0
- data/res/generators/templates/application/app/loading-Portrait.png +0 -0
- data/res/generators/templates/application/app/loading-PortraitUpsideDown.png +0 -0
- data/res/generators/templates/application/app/loading.png +0 -0
- data/res/generators/templates/application/app/loading@2x.png +0 -0
- data/res/generators/templates/application/icon/icon.ico +0 -0
- data/res/generators/templates/application/icon/icon.png +0 -0
- data/res/generators/templates/application/icon/icon114.png +0 -0
- data/res/generators/templates/application/icon/icon57.png +0 -0
- data/res/generators/templates/application/icon/icon72.png +0 -0
- data/res/generators/templates/application/public/css/android.css +1 -1
- data/res/generators/templates/application/public/jqmobile/images/icon-search-black.png +0 -0
- data/res/generators/templates/application/rhoconfig.txt +3 -1
- data/res/generators/templates/model/model.rb +1 -1
- data/res/icons/rho.icns +0 -0
- data/res/icons/rho.ico +0 -0
- data/res/icons/rho.png +0 -0
- data/res/icons/rhodes.icns +0 -0
- data/res/icons/rhodes.ico +0 -0
- data/res/icons/rhodes.png +0 -0
- data/res/icons/rhosim.icns +0 -0
- data/res/icons/rhosim.ico +0 -0
- data/res/icons/rhosim.png +0 -0
- data/res/libs/motorolalicence/android/MotorolaLicence.h +2 -1
- data/res/libs/motorolalicence/android/libMotorolaLicence.a +0 -0
- data/res/libs/motorolalicence/iphone/MotorolaLicence.h +2 -1
- data/res/libs/motorolalicence/iphone/libMotorolaLicence.a +0 -0
- data/spec/autocomplete_generator/Rakefile +37 -0
- data/spec/autocomplete_generator/app/Generator/controller.rb +40 -0
- data/spec/autocomplete_generator/app/Generator/generator.rb +236 -0
- data/spec/autocomplete_generator/app/Generator/index.erb +21 -0
- data/spec/autocomplete_generator/app/Settings/controller.rb +117 -0
- data/spec/autocomplete_generator/app/Settings/err_sync.erb +11 -0
- data/spec/autocomplete_generator/app/Settings/home.bb.erb +18 -0
- data/spec/autocomplete_generator/app/Settings/home.erb +19 -0
- data/spec/autocomplete_generator/app/Settings/index.bb.erb +31 -0
- data/spec/autocomplete_generator/app/Settings/index.erb +31 -0
- data/spec/autocomplete_generator/app/Settings/login.bb.erb +29 -0
- data/spec/autocomplete_generator/app/Settings/login.erb +25 -0
- data/spec/autocomplete_generator/app/Settings/reset.bb.erb +16 -0
- data/spec/autocomplete_generator/app/Settings/reset.erb +14 -0
- data/spec/autocomplete_generator/app/Settings/wait.bb.erb +10 -0
- data/spec/autocomplete_generator/app/Settings/wait.erb +10 -0
- data/spec/autocomplete_generator/app/application.rb +16 -0
- data/spec/autocomplete_generator/app/helpers/application_helper.rb +129 -0
- data/spec/autocomplete_generator/app/helpers/browser_helper.rb +22 -0
- data/spec/autocomplete_generator/app/index.bb.erb +21 -0
- data/spec/autocomplete_generator/app/index.erb +24 -0
- data/spec/autocomplete_generator/app/layout.erb +94 -0
- data/spec/autocomplete_generator/app/loading.html +11 -0
- data/spec/autocomplete_generator/build.yml +41 -0
- data/spec/autocomplete_generator/icon/icon.ico +0 -0
- data/spec/autocomplete_generator/icon/icon.png +0 -0
- data/spec/autocomplete_generator/icon/icon.svg +5334 -0
- data/spec/autocomplete_generator/icon/icon114.png +0 -0
- data/spec/autocomplete_generator/icon/icon57.png +0 -0
- data/spec/autocomplete_generator/icon/icon72.png +0 -0
- data/spec/autocomplete_generator/readme.txt +1 -0
- data/spec/autocomplete_generator/rhoconfig.txt +88 -0
- data/spec/autocomplete_generator/rhosimulator/Databases/Databases.db +0 -0
- data/spec/autocomplete_generator/rhosimulator/WebpageIcons.db +0 -0
- data/spec/autocomplete_generator/rhosimulator/db/syncdbuser.sqlite +0 -0
- data/spec/autocomplete_generator/rhosimulator/db/syncdbuser.sqlite.version +1 -0
- data/spec/autocomplete_generator/rhosimulator/rholog.txt_pos +1 -0
- data/spec/autocomplete_generator/rhosimulator/rhosimconfig.txt +8 -0
- data/spec/framework_spec/app/spec/rhomobile/NetHttp_spec.rb +22 -0
- data/spec/framework_spec/app/spec_runner.rb +12 -0
- data/spec/framework_spec/icon/icon.ico +0 -0
- data/spec/framework_spec/icon/icon.png +0 -0
- data/spec/perfomance_spec/icon/icon.ico +0 -0
- data/spec/perfomance_spec/icon/icon.png +0 -0
- data/spec/phone_spec/app/BlobBulkTest/blob_bulk_test.png +0 -0
- data/spec/phone_spec/app/BlobBulkTest_s/blob_bulk_test_s.png +0 -0
- data/spec/phone_spec/app/PartialTest/_index_partial.erb +5 -0
- data/spec/phone_spec/app/PartialTest/_index_partial_nested.erb +2 -0
- data/spec/phone_spec/app/PartialTest/index.erb +6 -0
- data/spec/phone_spec/app/spec/blob_bulksync_spec.rb +5 -3
- data/spec/phone_spec/app/spec/bulksync_spec.rb +33 -41
- data/spec/phone_spec/app/spec/database_spec.rb +5 -0
- data/spec/phone_spec/app/spec/json_spec.rb +50 -50
- data/spec/phone_spec/app/spec/rho_controller_spec.rb +29 -0
- data/spec/phone_spec/app/spec/syncengine_spec.rb +184 -47
- data/spec/phone_spec/app/spec_runner.rb +3 -2
- data/spec/phone_spec/icon/icon.ico +0 -0
- data/spec/phone_spec/icon/icon.png +0 -0
- data/spec/phone_spec/rhoconfig.txt +2 -0
- data/version +1 -1
- metadata +339 -47
- data/platform/android/Rhodes/PushReceiver.erb +0 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +0 -126
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java +0 -83
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +0 -246
- data/platform/bb/rhodes/src/com/rho/rubyext/PNGEncoder.java +0 -613
- data/res/icons/rho.psd +0 -0
- data/res/icons/rhodes.psd +0 -0
- data/res/icons/rhosim.psd +0 -0
data/doc/device-caps.txt
CHANGED
@@ -2,43 +2,10 @@
|
|
2
2
|
|
3
3
|
## Introduction
|
4
4
|
|
5
|
-
Rhodes provide access to device specific capabilities such as GPS, PIM, camera, SMS, video player, accelerometer, proximity detector and [native UI elements](ui).
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
<th>Capability</th>
|
10
|
-
<th>iOS</th>
|
11
|
-
<th>Windows Mobile</th>
|
12
|
-
<th>Windows Phone</th>
|
13
|
-
<th>BlackBerry</th>
|
14
|
-
<th>Android</th>
|
15
|
-
<th>RhoSimulator</th>
|
16
|
-
<th>Symbian</th>
|
17
|
-
<th>Windows Desktop</th>
|
18
|
-
</tr>
|
19
|
-
<tr><td class='cap'>GeoLocation</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
20
|
-
<tr><td class='cap'>PIM Contacts</td><td>0.3</td><td>0.3</td><td class='tbd'>TBD</td><td>0.3</td><td>1.0</td><td class='tbd'>3.5</td><td>3.1</td><td class='tbd'>TBD</td></tr>
|
21
|
-
<tr><td class='cap'>PIM Calendar</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
22
|
-
<tr><td class='cap'>Camera</td><td>1.0</td><td>1.0</td><td class='tbd'>TBD</td><td>1.0</td><td>1.0</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
23
|
-
<tr><td class='cap'>Barcode</td><td>2.1</td><td>2.1</td><td class='tbd'>TBD</td><td>2.1</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
24
|
-
<tr><td class='cap'>Date/Time picker</td><td>1.2.2</td><td>2.0</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.0</td><td class='tbd'>TBD</td><td>3.0</td></tr>
|
25
|
-
<tr><td class='cap'>Menu</td><td>1.2.2</td><td>2.0</td><td>3.0</td><td>1.2</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
|
26
|
-
<tr><td class='cap'>Toolbar</td><td>1.2.2</td><td>2.3</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.0</td><td>3.1</td><td>3.0</td></tr>
|
27
|
-
<tr><td class='cap'>Tab Bar</td><td>1.2.2</td><td class='tbd'>3.5</td><td>3.0</td><td class='tbd'>n/a</td><td>1.5</td><td>3.1</td><td>3.1</td><td class='tbd'>3.4</td></tr>
|
28
|
-
<tr><td class='cap'>Nav Bar</td><td>2.0</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>n/a</td><td>2.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
29
|
-
<tr><td class='cap'>Signature Capture</td><td>2.1</td><td>3.0</td><td class='tbd'>TBD</td><td class='tbd'>3.5</td><td>2.1</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
30
|
-
<tr class='tbd'><td class='cap'>Audio/Video capture</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td>4.0</td><td>4.0</td><td>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
31
|
-
<tr><td class='cap'>Bluetooth</td><td>2.2</td><td>2.2</td><td class='tbd'>TBD</td><td>2.2</td><td>2.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
32
|
-
<tr><td class='cap'>NFC</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td>3.0</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
33
|
-
<tr><td class='cap'>Push</td><td>1.2</td><td class='tbd'>4.0</td><td class='tbd'>TBD</td><td>1.2</td><td>2.2</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
34
|
-
<tr><td class='cap'>Screen rotation</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>2.0</td><td>2.1</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
35
|
-
<tr><td class='cap'>Native Maps</td><td>1.4</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td>1.4</td><td>1.5</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
36
|
-
<tr><td class='cap'>Alerts/Audio File Playback</td><td>1.2</td><td>1.5</td><td class='tbd'>TBD</td><td>1.2</td><td>1.2</td><td>3.1</td><td class='tbd'>TBD</td><td>3.1</td></tr>
|
37
|
-
<tr><td class='cap'>Ringtones</td><td>3.5</td><td>1.5</td><td class='tbd'>TBD</td><td>1.5</td><td>1.5</td><td class='tbd'>3.5</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
38
|
-
<tr><td class='cap'>Printing</td><td>3.4</td><td>3.4</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td><td class='tbd'>TBD</td></tr>
|
39
|
-
</table>
|
40
|
-
|
41
|
-
**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode), [NFC](/rhodes/device-caps#nfc), and [Inline Signature Capture](/rhodes/device-caps#signature-capture) APIs, as well as [Rhom data encryption](/rhodes/rhom#database-encryption) are removed from Rhodes. These features are only supported in Motorola RhoMobile Suite. If you wish to use these features, you will need to [upgrade to RhoMobile Suite](/rhoelements/rhoelements-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements']( /rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**
|
5
|
+
Rhodes provide access to device specific capabilities such as GPS, PIM, camera, SMS, video player, accelerometer, proximity detector and [native UI elements](ui). Check the [API Compatibility Matrix](/rhoelements/apicompatibility) for complete details on which APIs are supported on the variety of operating systems.
|
6
|
+
|
7
|
+
|
8
|
+
**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode), [NFC](/rhodes/device-caps#nfc), and [Inline Signature Capture](/rhodes/device-caps#signature-capture) APIs, as well as [Rhom data encryption](/rhodes/rhom#database-encryption) are removed from Rhodes. These features are only supported in Motorola RhoMobile Suite. If you wish to use these features, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements']( /rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**
|
42
9
|
|
43
10
|
## System class
|
44
11
|
The System Ruby class provides access to the system specific information.
|
@@ -170,11 +137,22 @@ To get current application Locale:
|
|
170
137
|
:::ruby
|
171
138
|
LocalizationSimplified::get_cur_locale #get current application locale
|
172
139
|
|
140
|
+
To use client with the HTTP proxy you should pass its URL as the first command line argument `-http_proxy_url=http://<login>:<passwod>@<host>:<port>` (Windows Desktop only), add it to rhoconfig.txt, or call the setter method from Ruby code:
|
141
|
+
:::ruby
|
142
|
+
System.set_http_proxy_url(url)
|
143
|
+
|
144
|
+
To stop using HTTP proxy (that was set by the command line, rhoconfig.txt or Ruby code) call:
|
145
|
+
:::ruby
|
146
|
+
System.unset_http_proxy()
|
147
|
+
|
148
|
+
**NOTE: `System.set_http_proxy_url(url)` and `System.unset_http_proxy()` are implemented only for Windows Mobile, WinCE and Windows Desktop **
|
149
|
+
|
173
150
|
To modify application window position and size:
|
174
151
|
:::ruby
|
175
152
|
System.set_window_frame(x,y,width,height) #change application window position and size
|
176
153
|
System.set_window_position(x,y) #change application window position
|
177
154
|
System.set_window_size(width,height) #change application window size
|
155
|
+
System.lock_window_size(locked) #lock/unlock window size change by user
|
178
156
|
|
179
157
|
**NOTE: These methods implemented only for Windows Desktop **
|
180
158
|
|
@@ -235,7 +213,7 @@ To show currency (see rails analog for details):
|
|
235
213
|
|
236
214
|
Geolocation information is available in two ways: as an asynchronous service through Ajax calls to a predefined local URL, or in a controller using Ruby calls to the GeoLocation class.
|
237
215
|
|
238
|
-
You need to enable the GPS capability to use
|
216
|
+
You need to enable the GPS capability to use GeoLocation. This is done by adding the following line to build.yml:
|
239
217
|
|
240
218
|
:::yaml
|
241
219
|
capabilities:
|
@@ -452,7 +430,7 @@ These two parameters are used to paginate contacts list. If used with :count exa
|
|
452
430
|
|
453
431
|
The next parameters are available at Android only.
|
454
432
|
|
455
|
-
* :select - list of contact properties have to be selected from phonebook (Use it to
|
433
|
+
* :select - list of contact properties have to be selected from phonebook (Use it to enhance query performance)
|
456
434
|
* :conditions - hash of conditions to query contacts. Look for more details below.
|
457
435
|
|
458
436
|
**NOTE: It is allowed to pass additional params hash at all platforms. Platforms that has no extended functionality will just skip these**
|
@@ -534,11 +512,11 @@ Condition like
|
|
534
512
|
:::ruby
|
535
513
|
{:phone => 'not_nil'}
|
536
514
|
will select all contacts which has at least one phone.
|
537
|
-
The
|
515
|
+
The following conditions are currently supported:
|
538
516
|
- 'not_nil'
|
539
517
|
- 'is_nil'
|
540
518
|
|
541
|
-
**NOTE: It may be useful to sort received contacts (
|
519
|
+
**NOTE: It may be useful to sort received contacts (especially if paginated). Contacts is ordered by 'display_name' column and then split for pages. Unfortunately the order inside page is lost while passing the list to ruby**
|
542
520
|
|
543
521
|
:::ruby
|
544
522
|
@count = Rho::RhoContact.find(:count, :conditions => {:phone => 'not_nil'})
|
@@ -619,10 +597,10 @@ On iPhone and Android additional event properties are supported. These are:
|
|
619
597
|
|
620
598
|
Recurrence properties:
|
621
599
|
"recurrence", "frequency"('daily', 'weekly', 'monthly', 'yearly'), "interval", "count", "end_date"
|
622
|
-
"count" and "end"
|
600
|
+
"count" and "end" recurrence properties are mutual exclusive. "end" is date/time beyond last event occurrence but within same day.
|
623
601
|
|
624
602
|
### Recurrence properties
|
625
|
-
Recurrence properties are
|
603
|
+
Recurrence properties are grouped in separate hash stored as single event property (event[Rho::RhoEvent::RECURRENCE]).
|
626
604
|
|
627
605
|
### Names of properties
|
628
606
|
There are helper constants defined in Rho::RhoEvent which can be used to address event values and as predefined set of values (for frequency).
|
@@ -743,13 +721,13 @@ See controller and view in the /app/Image folder of the [ System API Samples app
|
|
743
721
|
|
744
722
|
## Barcode
|
745
723
|
|
746
|
-
**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode) API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/
|
724
|
+
**NOTE: As of Rhodes version 3.3.3, the [Barcode](/rhodes/device-caps#barcode) API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements'](/rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**
|
747
725
|
|
748
726
|
The Barcode API allows to try recognize barcode on an image:
|
749
727
|
:::ruby
|
750
728
|
Barcode.barcode_recognize(image_file_full_path)
|
751
729
|
|
752
|
-
Barcode recognition functionality realized as Rhode Native extension. You should add "Barcode" to extension list in build.yml located in your application folder. `Barcode.barcode_recognize(image_file_full_path)` return string with recognized code or
|
730
|
+
Barcode recognition functionality realized as Rhode Native extension. You should add "Barcode" to extension list in build.yml located in your application folder. `Barcode.barcode_recognize(image_file_full_path)` return string with recognized code or empty string if not any recognized barcodes on the image. You can combine Camera for get picture with Barcode recognition for process barcode data - see sample below.
|
753
731
|
|
754
732
|
For barcode recognition we use Zbar library (iPhone, and Windows Mobile platforms) and ZXing library (Android and BlackBerry platforms). In this case we support next barcode types :
|
755
733
|
|
@@ -757,9 +735,9 @@ For barcode recognition we use Zbar library (iPhone, and Windows Mobile platform
|
|
757
735
|
* iPhone platform: UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 128, QR Code .
|
758
736
|
* Android and BlackBerry platforms: UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 128, Code 93, QR Code, ITF, Codabar
|
759
737
|
|
760
|
-
**NOTE: We are very sorry, but we are removed ZBar source code from our project by ZBar license requirements. For build Barcode extension for WM, you should download ZBar sources from http://zbar.sourceforge.net/ and copy to [rhodes root]/lib/extensions/barcode/ext/barcode/shared/zbar/zbar/ folder "include" and "zbar" folders from ZBar sources. Also you should fix ZBar sources for building by Microsoft Visual Studio (move define of inner function variables to begin of functions, etc.). See detailed
|
738
|
+
**NOTE: We are very sorry, but we are removed ZBar source code from our project by ZBar license requirements. For build Barcode extension for WM, you should download ZBar sources from http://zbar.sourceforge.net/ and copy to [rhodes root]/lib/extensions/barcode/ext/barcode/shared/zbar/zbar/ folder "include" and "zbar" folders from ZBar sources. Also you should fix ZBar sources for building by Microsoft Visual Studio (move define of inner function variables to begin of functions, etc.). See detailed instructions in your Rhodes installation at /lib/extensions/barcode/ext/barcode/shared/zbar/zbar/README.TXT**
|
761
739
|
|
762
|
-
On Android and iOS (not supported on iPhone 2G and iPhone 3G !)
|
740
|
+
On Android and iOS (not supported on iPhone 2G and iPhone 3G !) real-time barcode recognition is supported (second parameter is hash with options):
|
763
741
|
:::ruby
|
764
742
|
Barcode.take_barcode(url_for(:action => :take_callback), {})
|
765
743
|
|
@@ -767,7 +745,7 @@ On Android also you can use front camera for take_barcode :
|
|
767
745
|
:::ruby
|
768
746
|
Barcode.take_barcode(url_for(:action => :take_callback), {:camera => 'front'})
|
769
747
|
|
770
|
-
This code open special UI for real-time barcode recognizing from camera. If any barcode found recognizing stopped and user can select - confirm recognizing barcode or continue
|
748
|
+
This code open special UI for real-time barcode recognizing from camera. If any barcode found, recognizing stopped and user can select - confirm recognizing barcode or continue recognizing. If user confirmed or cancelled the callback will be called.
|
771
749
|
In callback are these parameters.
|
772
750
|
|
773
751
|
* "status" - "ok" or "cancel"
|
@@ -800,13 +778,17 @@ The following parameters are in the hash.
|
|
800
778
|
|
801
779
|
**NOTE: On Windows Mobile and Windows CE devices only "bmp" is supported as 'imageFormat'.**
|
802
780
|
|
781
|
+
**NOTE: On Blackberry devices only "png" is supported as 'imageFormat'.**
|
782
|
+
|
803
783
|
After user entered signature (or canceled) provided callback url will be called. Callback parameters will be the following.
|
804
784
|
|
805
785
|
* status - 'ok' or 'cancel'
|
806
786
|
* signature_uri - path to the image with signature
|
807
787
|
|
788
|
+
**NOTE: To take signature on Blackberry devices press Menu button then select 'Capture'.**
|
789
|
+
|
808
790
|
### Inline signature capture
|
809
|
-
**NOTE: As of Rhodes version 3.3.3, the Inline Signature Capture API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/
|
791
|
+
**NOTE: As of Rhodes version 3.3.3, the Inline Signature Capture API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements'](/rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**
|
810
792
|
|
811
793
|
Windows Mobile and Windows CE devices support signature capture started in window, which you can show over current page(scrolling is not supported in this case).
|
812
794
|
|
@@ -1043,9 +1025,9 @@ You can find complete example of using Bluetooth API in [Rhodes-System-Api-Sampl
|
|
1043
1025
|
## NFC
|
1044
1026
|
|
1045
1027
|
NFC (Near Field Communication). NFC API provide access to NFC functionality. You can check NFC availability on current device and register callback for listen event when NFC tag near of device. Currently NFC supported only on Android. And also Android version must be 2.3.3 or later.
|
1046
|
-
NFC API implemented in native extension. You should add "nfc" to extension list in your
|
1028
|
+
NFC API implemented in native extension. You should add "nfc" to extension list in your build.yml before start using NFC in your application. Please see detailed doc: [Rhodes NFC extension](/rhodes/nfc).
|
1047
1029
|
|
1048
|
-
**NOTE: As of Rhodes version 3.3.3, the [NFC](/rhodes/nfc) API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/
|
1030
|
+
**NOTE: As of Rhodes version 3.3.3, the [NFC](/rhodes/nfc) API is removed from Rhodes. This feature is only supported in Motorola RhoMobile Suite. If you wish to use this feature, you will need to [upgrade to RhoMobile Suite](/rhomobile-install). Your application's build.yml will also need to be modified to [indicate the application type is 'Rhoelements'](/rhoelements/rhoelements2-native#enabling-motorola-device-capabilities). Additionally, a [RhoElements license](/rhoelements/licensing) is required.**
|
1049
1031
|
|
1050
1032
|
## Ringtone manager
|
1051
1033
|
|
@@ -1076,7 +1058,7 @@ See controller and view in the /app/Ringtones folder of the [System API Samples
|
|
1076
1058
|
## Printing
|
1077
1059
|
|
1078
1060
|
### Printing on iOS
|
1079
|
-
iOS
|
1061
|
+
iOS include printing support. You should prepare File for printing and open it by standart platform - use:
|
1080
1062
|
:::ruby
|
1081
1063
|
System.open_url(file_full_path)
|
1082
1064
|
|
@@ -1092,7 +1074,7 @@ Android do not support printing. You can use any third-party application for pri
|
|
1092
1074
|
You should prepare file for printing and open it by standart platform - use:
|
1093
1075
|
:::ruby
|
1094
1076
|
System.open_url(file_full_path)
|
1095
|
-
Android
|
1077
|
+
Android platform opens that file in application registered for file extension or show select dialog for manually choose application if there are more than one application registered for this extension.
|
1096
1078
|
|
1097
1079
|
We recommend prepare PDF. You can use PDF-Writer pure Ruby library for it - we include it into rhodes - just include "pdf-writer" and "thread" extensions to your application extension list in build.yml.
|
1098
1080
|
:::yaml
|
@@ -1102,235 +1084,7 @@ See example in our [System API Samples application Generate PDF example](http://
|
|
1102
1084
|
|
1103
1085
|
|
1104
1086
|
## PUSH Notifications
|
1105
|
-
Push notification support is currently available for Android,
|
1106
|
-
|
1107
|
-
Testing push is a little more involved than some other features because it requires additional setup on both the RhoConnect application and Rhodes application. Please refer to [RhoConnect Device Push](/rhoconnect/push) for more information.
|
1108
|
-
|
1109
|
-
### Setup
|
1110
|
-
|
1111
|
-
First, enable push in your rhodes application in build.yml:
|
1112
|
-
|
1113
|
-
:::yaml
|
1114
|
-
capabilities:
|
1115
|
-
- push
|
1116
|
-
- vibrate #=> if you want to enable vibrate in your push messages
|
1117
|
-
|
1118
|
-
Next, your RhoConnect application should be running on a network that is accessible to your device. For example, you might have your RhoConnect application running on a LAN with IP 192.168.1.10, PORT 9292. Then make sure your device is connected to the same LAN and setup your application [rhoconfig.txt](configuration#run-time-configuration) syncserver as follows:
|
1119
|
-
|
1120
|
-
syncserver = 'http://192.168.1.10:9292/application'
|
1121
|
-
|
1122
|
-
Now your Rhodes application is configured to receive push messages.
|
1123
|
-
|
1124
|
-
To handle push message in ruby code it's needed to register push callback
|
1125
|
-
|
1126
|
-
:::ruby
|
1127
|
-
class AppApplication < Rho::RhoApplication
|
1128
|
-
def initialize
|
1129
|
-
super
|
1130
|
-
System.set_push_notification "/app/Push/push_callback", ""
|
1131
|
-
end
|
1132
|
-
end
|
1133
|
-
|
1134
|
-
Push callback set up in form of local application URL and called as callback nevermind rho_callback=1 specified in it's parameters list or not.
|
1135
|
-
There is several push message parameters that can be handled by Rhodes authomatically. These are:
|
1136
|
-
- alert
|
1137
|
-
- sound
|
1138
|
-
- vibrate
|
1139
|
-
- do_sync
|
1140
|
-
Every parameter can be specified in a push message body with its value:
|
1141
|
-
|
1142
|
-
:::text
|
1143
|
-
alert=some message here&sound=alert.wav&vibrate=3&do_sync=sync_src1,sync_src2
|
1144
|
-
|
1145
|
-
Automatic push message parameters handling takes its place in case no custom push callback or push callback returns "rho_push":
|
1146
|
-
|
1147
|
-
:::ruby
|
1148
|
-
def push_callback
|
1149
|
-
|
1150
|
-
# do some work here
|
1151
|
-
|
1152
|
-
"rho_push"
|
1153
|
-
end
|
1154
|
-
|
1155
|
-
### iPhone
|
1156
|
-
<a id="iphone-push-setup"></a>iPhone PUSH support uses the Apple Push Notification Service (APNS) introduced in iPhone SDK 3.0. In order to use the service, you will need to obtain a push-enabled provisioning profile and a server-side push certificate used for encrypting RhoConnect->APNS traffic.
|
1157
|
-
|
1158
|
-
In case of iPhone, regardless of the operation, the user will be presented with the option to activate the application if it is not running.
|
1159
|
-
|
1160
|
-
**NOTE: For testing push, you will need to build and deploy your application to a physical iPhone (or iPad) device. Apple does not support testing push on simulators.**
|
1161
|
-
|
1162
|
-
#### Setup Push Certificate
|
1163
|
-
The first step to setting up your environment is to create an APNS push certificate. To create the SSL certificate, follow the "Creating the SSL Certificate and Keys" section on the
|
1164
|
-
[developer site](https://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194-CH104-SW4).
|
1165
|
-
|
1166
|
-
Once you have the certificate, you will need to export it to a .pem format using [these instructions](https://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194-CH104-SW6). Make sure to name the output file 'apple_push_cert.pem' file from these instructions, since this is what we configured in our RhoConnect application.
|
1167
|
-
|
1168
|
-
Once you have this file, copy it to your RhoConnect application directory under the settings folder:
|
1169
|
-
|
1170
|
-
:::term
|
1171
|
-
$ cd myrhoconnectapp
|
1172
|
-
$ cp /path/to/apple_push_cert.pem settings/apple_push_cert.pem
|
1173
|
-
|
1174
|
-
Now your RhoConnect application is ready to send APNS messages.
|
1175
|
-
|
1176
|
-
#### Setup Provisioning Profile
|
1177
|
-
Next, you can setup your Apple Push Provisioning Profile using Apple's [developer site instructions](https://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html#//apple_ref/doc/uid/TP40008194-CH104-SW5). Once you have the profile installed in XCode and on your test device, you are ready to test push.
|
1178
|
-
|
1179
|
-
#### Setup iPhone Device
|
1180
|
-
Setting up the device is the same process as [building any normal Rhodes application](build#build-for-iphoneipad). When you start the application, make sure to also open the console window (cmd-shift-R). When the application starts, you should see some output in the console that shows the device token (towards the top):
|
1181
|
-
|
1182
|
-
2010-08-19 10:14:22.627 rhorunner[1486:307] Device token is <10fd92ab fa8ee481 55d9af6e 73290863 22b323fd 0d18fdbd 19e92d03 c0fef7c8>
|
1183
|
-
|
1184
|
-
This confirms that your application is running with push enabled. Once you login to the RhoConnect application and sync, you will see the device registered on the RhoConnect console under the user id you used to login. Now you are ready to [test push from your RhoConnect application](/rhoconnect/push-server-setup#testing-push-in-the-rhoconnect-web-console).
|
1185
|
-
|
1186
|
-
#### Alert Audio File Setup for iPhone
|
1187
|
-
In case of iPhone, audio files for the push alert should be placed in the `/public/alerts` folder and build script will copy them into root of the application main bundle (iPhone wouldn't play file from any other place).
|
1188
|
-
|
1189
|
-
### Android
|
1190
|
-
<a id="android-push-setup"></a>Android PUSH support uses the Android Cloud to Device Messaging (AC2DM) system introduced in Android 2.2 (Froyo). In order to use the service, you will need to register your role-based google account (or use existing one) and then register this account in [Google C2DM program](http://code.google.com/android/c2dm/signup.html).
|
1191
|
-
|
1192
|
-
Here are some guidelines for developing and testing an Android application that uses the C2DM feature:
|
1193
|
-
|
1194
|
-
* To develop and test your C2DM applications, you need to run and debug the applications on an Android 2.2 system image that includes the necessary underlying Google services.
|
1195
|
-
* To develop and debug on an actual device, you need a device running an Android 2.2 system image that includes the Market application.
|
1196
|
-
* To develop and test on the Android Emulator, you need to download the Android 2.2 version of the Google APIs Add-On into your SDK using the Android SDK and AVD Manager. Specifically, you need to download the component named "Google APIs by Google Inc, Android API 8". Then, you need to set up an AVD that uses that system image.
|
1197
|
-
* Android C2DM system uses an existing connection for Google services. This requires users to set up their Google account on their mobile devices (and on emulator!).
|
1198
|
-
|
1199
|
-
#### Setup application
|
1200
|
-
As first step, register role-based google account for your application. Here for example it will be referred as push-app@gmail.com.
|
1201
|
-
|
1202
|
-
Then modify your application's build.yml and specify there google account used to send PUSH messages:
|
1203
|
-
|
1204
|
-
:::yaml
|
1205
|
-
android:
|
1206
|
-
push:
|
1207
|
-
sender: push-app@gmail.com
|
1208
|
-
|
1209
|
-
|
1210
|
-
This is the same address used by RhoConnect to retrieve authtoken. See [here](/rhoconnect/push-server-setup#testing-push-in-the-rhoconnect-web-console) for more information.
|
1211
|
-
|
1212
|
-
**NOTE: WARNING! This e-mail address MUST NOT be the same as origin of google account on phone! This mean that google account registered on your phone/emulator MUST NOT be push-app@gmail.com; it MUST be another one. This is known bug in Android C2DM implementation - if sender and receiver are the same, underlying android service crash and lose message. More details [here](http://groups.google.com/group/android-c2dm/browse_thread/thread/128790789c4e9d6a/67aca1e1764724d4). This is actual not for all Android versions.**
|
1213
|
-
|
1214
|
-
At Android it is possible to set up status bar notifications for PUSH messages. In this case push message is handled by application only after user has opened the notification.
|
1215
|
-
There are two modes available for push notifications:
|
1216
|
-
- <i>always</i> - push notification is shown always
|
1217
|
-
- <i>background</i> - push notification is shown only if application is backgrounded (not started)
|
1218
|
-
If no push notification mode is specified in build.yml then no notifications are shown at all.
|
1219
|
-
|
1220
|
-
:::yaml
|
1221
|
-
android:
|
1222
|
-
push:
|
1223
|
-
notification: background
|
1224
|
-
|
1225
|
-
### BlackBerry
|
1226
|
-
<a id="blackberry-push-setup"></a>Notifications to BlackBerry are sent using PAP 2.0 message through a BES/MDS server.
|
1227
|
-
|
1228
|
-
On the simulator, this is done via the MDS simulator tool (which you've probably already seen in the form of a console window everytime you do 'rake run:bb'). On the device, this is done through the BES/MDS server that the phone is configured to use.
|
1229
|
-
|
1230
|
-
These instructions assume you are familiar with BES/MDS concepts (for more information please see [here](http://na.blackberry.com/eng/services/business/server/full/)).
|
1231
|
-
|
1232
|
-
In case of Blackberry, if the application is in the background, an alert operation will bring the application upfront; other operations will not.
|
1233
|
-
|
1234
|
-
#### Setup MDS Simulator
|
1235
|
-
<i>Make sure you close the BlackBerry simulator and MDS simulator before continuing for your changes to take effect!</i>
|
1236
|
-
|
1237
|
-
To enable the push port in your MDS simulator, edit the following file:
|
1238
|
-
|
1239
|
-
C:\Program Files\Research In Motion\BlackBerry JDE <VERSION YOU ARE BUILDING>\MDS\config\rimpublic.property
|
1240
|
-
|
1241
|
-
Uncomment the last line of the file, which should be 'push.application.reliable.ports=100':
|
1242
|
-
|
1243
|
-
push.application.reliable.ports=100
|
1244
|
-
|
1245
|
-
#### Setup BlackBerry Simulator
|
1246
|
-
To listen for incoming messages on BlackBerry, the Rhodes application will start when device powers on and will run a listener thread in the background. You will use the "push_port" option in the [rhoconfig.txt](configuration#run-time-configuration) to specify the listening port for incoming push messages. If "push_port" is not specified, default will be 100 as shown in the previous section.
|
1247
|
-
|
1248
|
-
**NOTE: For testing push, the BlackBerry simulator requires a 'kickstart' process. When the simulator starts, open the web browser on the simulator and navigate to any web page (i.e. http://m.google.com/). Now your simulator is ready to receive push messages.**
|
1249
|
-
|
1250
|
-
Now you are ready to [testing Push in the RhoConnect Web Console](/rhoconnect/push-server-setup#testing-push-in-the-rhoconnect-web-console).
|
1251
|
-
|
1252
|
-
#### Setup BlackBerry Device
|
1253
|
-
To test push on a BlackBerry device, you will need to use a device that is configured with a BES server. Then, all you need to do is [build your Rhodes application for the device](build#build-for-blackberry).
|
1254
|
-
|
1255
|
-
#### BlackBerry 5.0 Push service
|
1256
|
-
Rhodes 2.2 and higher support new [Blackberry Push Service](http://na.blackberry.com/eng/developers/javaappdev/pushapi.jsp)
|
1257
|
-
|
1258
|
-
Define in [rhoconfig.txt](configuration#run-time-configuration) which push to use (if empty or missed only MDS push is supported).
|
1259
|
-
|
1260
|
-
push_options = 'mds;push_service'
|
1261
|
-
|
1262
|
-
These parameters from [PushApplicationDescriptor](http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/push/PushApplicationDescriptor.html). Set them in [rhoconfig.txt](configuration#run-time-configuration):
|
1263
|
-
|
1264
|
-
push_service_url = 'https://pushapi.eval.blackberry.com/'
|
1265
|
-
push_service_port = 20558
|
1266
|
-
push_service_appname = 'RhoTest'
|
1267
|
-
push_service_type = 'BPAS'
|
1268
|
-
|
1269
|
-
#### Alert Audio File Setup for Blackberry
|
1270
|
-
In case of Blackberry, if the audio file is in the public folder, the file name will be `/apps/public/alerts/test-file.mp3`.
|
1271
|
-
|
1272
|
-
### Push Callback
|
1273
|
-
Rhodes applications can also handle PUSH notifications that didn't come from a RhoConnect application.
|
1274
|
-
|
1275
|
-
In this example, we will get the device ID so we can register the device with some push server:
|
1276
|
-
:::ruby
|
1277
|
-
System.get_property('device_id')
|
1278
|
-
|
1279
|
-
Application can set push callback to process any commands from server:
|
1280
|
-
:::ruby
|
1281
|
-
System.set_push_notification("/app/Settings/push_notify", '')
|
1282
|
-
|
1283
|
-
Callback parameters:
|
1284
|
-
|
1285
|
-
* since Rhodes 2.0.4 : contain push message parameters as hash
|
1286
|
-
* rhodes < 2.0.4 : message - contain server push message body
|
1287
|
-
|
1288
|
-
Callback return:
|
1289
|
-
|
1290
|
-
* empty string - do not run Rhodes push command processing
|
1291
|
-
* "rho_push" - to run rhodes push command processing (for alerts, sounds, etc...)
|
1292
|
-
|
1293
|
-
Example:
|
1294
|
-
:::ruby
|
1295
|
-
def push_notify
|
1296
|
-
puts 'push_notify: ' + @params.inspect
|
1297
|
-
"rho_push"
|
1298
|
-
end
|
1299
|
-
|
1300
|
-
### Push Payload
|
1301
|
-
The Rhodes push payload allows more than one operation in a single message.
|
1302
|
-
|
1303
|
-
There are no required operations. There are default operations - if operation is not specified, no default operation will be performed.
|
1304
|
-
|
1305
|
-
Payload may include following operations which client will perform when it receives the PUSH message:
|
1306
|
-
|
1307
|
-
do_sync - do sync on spec specified sync source; use "all" to sync all sources
|
1308
|
-
:::ruby
|
1309
|
-
# one or more sources, or "all" can be specified
|
1310
|
-
do_sync = "Product,Customer"
|
1311
|
-
|
1312
|
-
alert - bring app upfront and show specified message
|
1313
|
-
:::ruby
|
1314
|
-
alert = "Some message"
|
1315
|
-
|
1316
|
-
vibrate - vibrate for the specified number of milliseconds, up to 25500; if 0 or no duration is specified, it will vibrate for 2500 millisecond.
|
1317
|
-
|
1318
|
-
To enable vibrate in your rhodes application in build.yml:
|
1319
|
-
|
1320
|
-
capabilities:
|
1321
|
-
- vibrate
|
1322
|
-
|
1323
|
-
Example of vibrate call:
|
1324
|
-
|
1325
|
-
vibrate = 2000 #=> duration in milliseconds
|
1326
|
-
|
1327
|
-
sound - play specified file if media type supported by the phone. iPhone will ignore media-type parameter.
|
1328
|
-
:::ruby
|
1329
|
-
sound = "hello.mp3"
|
1330
|
-
|
1331
|
-
File should be included to the application bundle in `/public/alerts` folder.
|
1332
|
-
|
1333
|
-
Media type should be either specified explicitly or may be recognized from file extension. Known file extensions are: .mp3 - audio/mpeg; .wav - audio/x-wav.
|
1087
|
+
Push notification support is currently available for Android, BlackBerry, iOS, and RoConnect Push Service on Android and Windows Mobile. Please refer to [RhoConnect Device Push](/rhoconnect/push) for information on setting up RhoConnect Push on the RhoConnect server and the Rhodes client.
|
1334
1088
|
|
1335
1089
|
## Alerts
|
1336
1090
|
|
@@ -1359,14 +1113,14 @@ Popup window always close after clicking on any button.
|
|
1359
1113
|
* :question - '?' icon
|
1360
1114
|
* :info - informational icon
|
1361
1115
|
* :buttons - array of buttons for popup window. Each button defined by its id and title. Button can be specified by Hash with :id and :title keys or just String - in this case both id and title will be set to this value.
|
1362
|
-
* :callback - url to be called when any of the button will be clicked. This callback will be called with @params hash containing three keys:
|
1116
|
+
* :callback - url to be called when any of the button will be clicked. This callback will be called with @params hash containing three keys: button_id, button_title, and button_index.
|
1363
1117
|
|
1364
1118
|
Example:
|
1365
1119
|
:::ruby
|
1366
1120
|
def on_dismiss_popup
|
1367
|
-
id = @params[
|
1368
|
-
title = @params[
|
1369
|
-
index = @params[
|
1121
|
+
id = @params['button_id']
|
1122
|
+
title = @params['button_title']
|
1123
|
+
index = @params['button_index']
|
1370
1124
|
if id == 'Yes'
|
1371
1125
|
# Handle 'Yes' button
|
1372
1126
|
elsif id == 'No'
|
@@ -1464,7 +1218,7 @@ It is possible to customize the URI with build.yml settings. Default Rhodes URI
|
|
1464
1218
|
- host name
|
1465
1219
|
- path prefix
|
1466
1220
|
- optional path and query
|
1467
|
-
You can customize
|
1221
|
+
You can customize scheme and host name parts with following build.yml parameters:
|
1468
1222
|
:::ruby
|
1469
1223
|
android:
|
1470
1224
|
URIScheme: myapp
|
@@ -1513,7 +1267,7 @@ In application you can get start params by
|
|
1513
1267
|
|
1514
1268
|
For previous example start params will be "string_with_params".
|
1515
1269
|
|
1516
|
-
For execute you rhodes based application from
|
1270
|
+
For execute you rhodes based application from another rhodes based application use next code:
|
1517
1271
|
:::ruby
|
1518
1272
|
System.open_url('myapp:string_with_params')
|
1519
1273
|
|
@@ -1540,14 +1294,14 @@ MapView class provides an embeddable map interface, similar to the one provided
|
|
1540
1294
|
|
1541
1295
|
Provider:
|
1542
1296
|
|
1543
|
-
|
1297
|
+
The supported providers are 'Google', 'ESRI', "RhoGoogle" and "OSM".
|
1544
1298
|
|
1545
1299
|
* 'Google' supported on iPhone, Android and BB.
|
1546
1300
|
* 'ESRI' supported on iPhone, Android, BB and WM.
|
1547
|
-
* 'RhoGoogle' own GoogleMap provider based on Google Static Map API.
|
1548
|
-
* 'OSM' - Open Street Map,
|
1301
|
+
* 'RhoGoogle' own GoogleMap provider based on Google Static Map API. Has additional features (offline caching for example). Supported on Android and WM.
|
1302
|
+
* 'OSM' - Open Street Map, supports only 'roadmap' map type. Supported on Android and WM.
|
1549
1303
|
|
1550
|
-
|
1304
|
+
To use ESRI maps in your projects on iPhone:
|
1551
1305
|
|
1552
1306
|
* Install [ESRI iOS SDK](http://resources.arcgis.com/content/arcgis-iphone/api) - use default folders during installations !
|
1553
1307
|
* Add "esri" to your applications extensions list in build.yml file.
|
@@ -1574,14 +1328,14 @@ Map settings:
|
|
1574
1328
|
* [latitude,longitude,latitudeDelta,longitudeDelta]. The area currently displayed by the map view. The region encompasses both the latitude and longitude point on which the map is centered and the span of coordinates to display. The span values provide an implicit zoom value for the map. The larger the displayed area, the lower the amount of zoom. Similarly, the smaller the displayed area, the greater the amount of zoom.
|
1575
1329
|
* latitude,longitude - map coordinate of the region center
|
1576
1330
|
* latitudeDelta - the amount of north-to-south distance (measured in degrees) to display on the map. Unlike longitudinal distances, which vary based on the latitude, one degree of latitude is always approximately 111 kilometers (69 miles).
|
1577
|
-
* longitudeDelta - the amount of east-to-west distance (measured in degrees) to display for the map region. The number of kilometers spanned by a longitude range varies based on the current latitude. For example, one degree of longitude spans a distance of approximately 111 kilometers (69
|
1331
|
+
* longitudeDelta - the amount of east-to-west distance (measured in degrees) to display for the map region. The number of kilometers spanned by a longitude range varies based on the current latitude. For example, one degree of longitude spans a distance of approximately 111 kilometers (69 miles) at the equator but shrinks to 0 kilometers at the poles.
|
1578
1332
|
* {:center => center, :radius => radius}. Another way to define area displayed by the map view.
|
1579
1333
|
* center - string describing center of area. Can be any string allowed by google geocoding service. Examples: "1 infinite loop, cupertino, ca 95014", "California, USA", "37.365519,-121.982918"
|
1580
1334
|
* radius - radius of displayed area measured in degrees
|
1581
1335
|
* zoom_enabled - true if zoom of the map is enabled
|
1582
|
-
* scroll_enabled - true if
|
1336
|
+
* scroll_enabled - true if scroll of the map is enabled
|
1583
1337
|
* shows_user_location - true if current user location is displayed on the map
|
1584
|
-
* api_key - Maps JavaScript API Key ([sign up for it here](http://code.google.com/apis/maps/signup.html)). Note that this parameter is ignored on Android! For Android you should get another key and specify it in the app's build.yml as described [here](build#
|
1338
|
+
* api_key - Maps JavaScript API Key ([sign up for it here](http://code.google.com/apis/maps/signup.html)). Note that this parameter is ignored on Android! For Android you should get another key and specify it in the app's build.yml as described [here](build#build-for-android)
|
1585
1339
|
|
1586
1340
|
Annotations - array of map annotation objects (list of pins on the map). Annotation:
|
1587
1341
|
|
@@ -1636,13 +1390,13 @@ See GeoLocation/controller.rb of [system API sample application](http://github.c
|
|
1636
1390
|
apps #Rho::RhoApplication::get_base_app_path
|
1637
1391
|
app #Rho::RhoApplication::get_app_path('app') - contain models
|
1638
1392
|
model1 #Rho::RhoApplication::get_model_path('app','model1')
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1393
|
+
public #contains files from application public folder
|
1394
|
+
db #contains schema and data files
|
1395
|
+
db-files #contains files stored in database(blobs)
|
1642
1396
|
# for file paths from camera callback etc: Rho::RhoApplication::get_blob_path(relative_file_path);
|
1643
1397
|
# to create file path for blob: Rho::RhoApplication::get_blob_folder()
|
1644
|
-
|
1645
|
-
|
1398
|
+
lib #contains rho framework library files. Blackberry does not has this folder, library files are stored in jar
|
1399
|
+
RhoLog.txt #application log
|
1646
1400
|
|
1647
1401
|
### Read\write file example
|
1648
1402
|
:::ruby
|
@@ -1696,7 +1450,7 @@ Application can creates folders and files under apps and db roots.
|
|
1696
1450
|
# for file paths from camera callback etc: Rho::RhoApplication::get_blob_path(relative_file_path);
|
1697
1451
|
# to create file path for blob: Rho::RhoApplication::get_blob_folder()
|
1698
1452
|
|
1699
|
-
On iOS platform only files stored in /Documents/
|
1453
|
+
On iOS platform only files stored in /Documents/ backup in iCloud etc.
|
1700
1454
|
Before Rhodes 3.3.2 all files stored in /Documents/ but Apple require do not placing files in Documents folder except user produced files.
|
1701
1455
|
Now all files except databases stored in /Library/Caches/Private Documents/ - files in this folder do not bakup.
|
1702
1456
|
If you want make any files should be bakup - use "user folder" for it - Rho::RhoApplication::get_user_path. All you files created in old version in Rho::RhoApplication::get_base_app_path now should be open in Rho::RhoApplication::get_user_path.
|
@@ -1719,8 +1473,8 @@ Also there are few additional parameters in build.yml (use it only if you want t
|
|
1719
1473
|
f.write('my own file !')
|
1720
1474
|
f.close
|
1721
1475
|
|
1722
|
-
Also you can set special iOS
|
1723
|
-
### setup "do not bakup" attribute for files related database
|
1476
|
+
Also you can set special iOS attribute "do not bakup" to any files or folders related to database :
|
1477
|
+
### setup "do not bakup" attribute for files related database Model 'Product'
|
1724
1478
|
:::ruby
|
1725
1479
|
require_model 'Product'
|
1726
1480
|
db = Rho::RHO::get_src_db('Product')
|
@@ -1728,13 +1482,10 @@ Also you can set special iOS attiribute "do not bakup" to any files or folders o
|
|
1728
1482
|
|
1729
1483
|
|
1730
1484
|
#### Windows Mobile
|
1731
|
-
Device/simulator files folder root - Program Files
|
1732
|
-
|
1733
|
-
#### Desktop win32 simulator
|
1734
|
-
To use client with the HTTP proxy you should pass its URL as the first command line argument `-http_proxy_url=http://<login>:<passwod>@<host>:<port>` or add it to rhoconfig.txt.
|
1485
|
+
Device/simulator files folder root - Program Files/<app name>/rho
|
1735
1486
|
|
1736
1487
|
## Shutdown hook
|
1737
|
-
Like any application written in Ruby, rhodes can register a shutdown hook. Shutdown hook is routine registered for execution when the program exits. It
|
1488
|
+
Like any application written in Ruby, rhodes can register a shutdown hook. Shutdown hook is routine registered for execution when the program exits. It useful for cleanup on exit, saving program states, etc. To create you own shutdown hook you should add at_exit block to the file application.rb.
|
1738
1489
|
For example:
|
1739
1490
|
:::ruby
|
1740
1491
|
at_exit do
|
@@ -1768,7 +1519,7 @@ To make phone calls enable the phone capability. This is done by adding the foll
|
|
1768
1519
|
<a href="mailto:test@host.com?subject=testing123">Mailto</a>
|
1769
1520
|
Note, even for an empty address, you must add the @ symbol: <a href="mailto:@?subject=testing123">Mailto</a>
|
1770
1521
|
|
1771
|
-
Blackberry: if you need cc, bcc
|
1522
|
+
Blackberry: if you need cc, bcc fields, use rhomailto scheme:
|
1772
1523
|
:::html
|
1773
1524
|
<a href="rhomailto:test@host.com?cc=geny@mail.ru&bcc=vasy@gmail.com&body=testMessage&subject=sub1">Send e-mail to test@host.com</a>
|
1774
1525
|
|
@@ -1798,7 +1549,7 @@ When using jQuery and/or jQuery Mobile in application code, you cannot use usual
|
|
1798
1549
|
#TestController method:
|
1799
1550
|
def send_mail
|
1800
1551
|
WebView.navigate( 'mailto:test@host.com' )
|
1801
|
-
#to open url
|
1552
|
+
#to open url in external application you can use System.open_url
|
1802
1553
|
end
|
1803
1554
|
|
1804
1555
|
### Blackberry
|
@@ -1901,7 +1652,7 @@ Blackberry 5.0 and above has new BrowserField class, which support javascript, a
|
|
1901
1652
|
|
1902
1653
|
WebView.execute_js is also supported in this mode.
|
1903
1654
|
|
1904
|
-
NOTE: on Blackberry 6.0 and above it is recommended to use full browser mode
|
1655
|
+
NOTE: on Blackberry 6.0 and above it is recommended to use full browser mode, because otherwise some UI elements like combobox are not selectable by trackball:
|
1905
1656
|
|
1906
1657
|
# use full browser only on BB 6.0 and above
|
1907
1658
|
use_bb_full_browser=6
|