rhodes 3.3.3.beta.4 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -5
- data/CREDITS +2215 -0
- data/Rakefile +225 -59
- data/bin/c2dm.rb +0 -0
- data/bin/get-rhodes-info.bat +0 -0
- data/bin/migrate-rhodes-app +0 -0
- data/bin/migrate-rhodes-app.bat +0 -0
- data/bin/rhodes +0 -0
- data/bin/rhodes-setup +0 -0
- data/bin/rhodes-setup.bat +0 -0
- data/bin/rhogen +0 -0
- data/bin/rhogen.bat +0 -0
- data/bin/set-rhodes-sdk +0 -0
- data/bin/set-rhodes-sdk.bat +0 -0
- data/bin/upgrade-rhodes-app +0 -0
- data/bin/upgrade-rhodes-app.bat +0 -0
- data/doc/build.txt +20 -9
- data/doc/configuration.txt +8 -8
- data/doc/connect-to-web-services.txt +1 -1
- data/doc/device-caps.txt +63 -26
- data/doc/extensions.txt +14 -2
- data/doc/install.txt +28 -19
- data/doc/introduction.txt +6 -3
- data/doc/jqt-jqm-transition.txt +10 -9
- data/doc/release.txt +5 -1
- data/doc/rhodes-command-line.txt +130 -0
- data/doc/rhom.txt +16 -11
- data/doc/rhostudio-eclipse.txt +3 -3
- data/doc/simulator.txt +28 -31
- data/doc/syncengine-ajax-api.txt +246 -0
- data/doc/synchronization.txt +21 -3
- data/doc/test-log-debug.txt +3 -1
- data/doc/ui.txt +16 -16
- data/ext/extconf.rb +8 -0
- data/lib/build/jake.rb +5 -5
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +9 -9
- data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +81 -1
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/CaptureActivityHandler.java +6 -13
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/DecodeHandler.java +2 -6
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +12 -1
- data/lib/extensions/barcode/ext/barcode/platform/bb/run.bat +0 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h +2 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +36 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h +0 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +15 -5
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +64 -1
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode.i +35 -1
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +126 -2
- data/lib/extensions/barcode/ext/barcode/shared/src/zbar.c +18 -1
- data/lib/extensions/barcode/ext/build +0 -0
- data/lib/extensions/barcode/ext/build.bat +0 -0
- data/lib/extensions/digest-md5/ext/Rakefile +12 -10
- data/lib/extensions/digest-md5/ext/build +0 -0
- data/lib/extensions/digest-md5/ext/build.bat +0 -0
- data/lib/extensions/digest-md5/ext/digest-md5.sln +2 -2
- data/lib/extensions/digest-md5/ext/digest-md5.vcproj +41 -28
- data/lib/extensions/digest-sha1/ext/Rakefile +11 -10
- data/lib/extensions/digest-sha1/ext/build +0 -0
- data/lib/extensions/digest-sha1/ext/build.bat +0 -0
- data/lib/extensions/digest-sha1/ext/digest-sha1.sln +2 -2
- data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +41 -28
- data/lib/extensions/digest/ext/Rakefile +12 -11
- data/lib/extensions/digest/ext/build +0 -0
- data/lib/extensions/digest/ext/build.bat +0 -0
- data/lib/extensions/digest/ext/digest.sln +44 -0
- data/lib/extensions/digest/ext/digest.vcproj +40 -27
- data/lib/extensions/esri/ext/build +0 -0
- data/lib/extensions/esri/ext/build.bat +0 -0
- data/lib/extensions/fcntl/ext/Rakefile +10 -9
- data/lib/extensions/fcntl/ext/build +0 -0
- data/lib/extensions/fcntl/ext/build.bat +0 -0
- data/lib/extensions/fcntl/ext/fcntl.vcproj +1 -1
- data/lib/extensions/nfc/ext/build +0 -0
- data/lib/extensions/nfc/ext/build.bat +0 -0
- data/lib/extensions/nfc/ext/nfc/platform/android/Rakefile +11 -11
- data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +0 -0
- data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/Nfc.java +12 -10
- data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +16 -9
- data/lib/extensions/pdf-writer/color.rb +145 -0
- data/lib/extensions/pdf-writer/color/cmyk.rb +279 -0
- data/lib/extensions/pdf-writer/color/css.rb +28 -0
- data/lib/extensions/pdf-writer/color/grayscale.rb +212 -0
- data/lib/extensions/pdf-writer/color/hsl.rb +221 -0
- data/lib/extensions/pdf-writer/color/palette.rb +16 -0
- data/lib/extensions/pdf-writer/color/palette/adobecolor.rb +272 -0
- data/lib/extensions/pdf-writer/color/palette/gimp.rb +116 -0
- data/lib/extensions/pdf-writer/color/palette/monocontrast.rb +180 -0
- data/lib/extensions/pdf-writer/color/rgb-colors.rb +355 -0
- data/lib/extensions/pdf-writer/color/rgb.rb +453 -0
- data/lib/extensions/pdf-writer/color/rgb/metallic.rb +43 -0
- data/lib/extensions/pdf-writer/color/yiq.rb +84 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/color/Licence.txt +27 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/color/README.txt +32 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/LICENCE +131 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/README +33 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Licence.txt +25 -0
- data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Readme.txt +204 -0
- data/lib/extensions/pdf-writer/pdf/charts.rb +13 -0
- data/lib/extensions/pdf-writer/pdf/charts/stddev.rb +430 -0
- data/lib/extensions/pdf-writer/pdf/math.rb +108 -0
- data/lib/extensions/pdf-writer/pdf/quickref.rb +332 -0
- data/lib/extensions/pdf-writer/pdf/simpletable.rb +947 -0
- data/lib/extensions/pdf-writer/pdf/techbook.rb +901 -0
- data/lib/extensions/pdf-writer/pdf/writer.rb +2729 -0
- data/lib/extensions/pdf-writer/pdf/writer/arc4.rb +63 -0
- data/lib/extensions/pdf-writer/pdf/writer/fontmetrics.rb +203 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Bold.afm +342 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Oblique.afm +342 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier.afm +342 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica.afm +3051 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/MustRead.html +19 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Symbol.afm +213 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Bold.afm +2588 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Italic.afm +2667 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Roman.afm +2419 -0
- data/lib/extensions/pdf-writer/pdf/writer/fonts/ZapfDingbats.afm +225 -0
- data/lib/extensions/pdf-writer/pdf/writer/graphics.rb +813 -0
- data/lib/extensions/pdf-writer/pdf/writer/graphics/imageinfo.rb +365 -0
- data/lib/extensions/pdf-writer/pdf/writer/lang.rb +43 -0
- data/lib/extensions/pdf-writer/pdf/writer/lang/en.rb +99 -0
- data/lib/extensions/pdf-writer/pdf/writer/object.rb +23 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/action.rb +35 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/annotation.rb +42 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/catalog.rb +39 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/contents.rb +65 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/destination.rb +40 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/encryption.rb +53 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/font.rb +72 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/fontdescriptor.rb +34 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/fontencoding.rb +40 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/image.rb +304 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/info.rb +51 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/outline.rb +30 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/outlines.rb +30 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/page.rb +195 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/pages.rb +115 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/procset.rb +46 -0
- data/lib/extensions/pdf-writer/pdf/writer/object/viewerpreferences.rb +74 -0
- data/lib/extensions/pdf-writer/pdf/writer/ohash.rb +58 -0
- data/lib/extensions/pdf-writer/pdf/writer/oreader.rb +25 -0
- data/lib/extensions/pdf-writer/pdf/writer/state.rb +48 -0
- data/lib/extensions/pdf-writer/pdf/writer/strokestyle.rb +138 -0
- data/lib/extensions/pdf-writer/transaction/simple.rb +486 -0
- data/lib/extensions/pdf-writer/transaction/simple/group.rb +146 -0
- data/lib/extensions/pdf-writer/transaction/simple/threadsafe.rb +68 -0
- data/lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb +36 -0
- data/lib/framework/builtinME.rb +0 -0
- data/lib/framework/dateOrig.rb +8 -2
- data/lib/framework/rational.rb +0 -0
- data/lib/framework/res/esri.wm.png +0 -0
- data/lib/framework/rho/rho.rb +6 -0
- data/lib/framework/rho/rhobluetooth.rb +0 -0
- data/lib/framework/rho/rhofsconnector.rb +0 -0
- data/lib/framework/rho/rhonativeviewmanager.rb +0 -0
- data/lib/framework/rhofsconnector.rb +0 -0
- data/lib/framework/rhom/rhom_object_factory.rb +8 -0
- data/lib/framework/rhomotoapi.rb +3 -2
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +9 -1
- data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_file_RhoFileApi.h +26 -2
- data/platform/android/Rhodes/jni/src/callbacks.cpp +0 -5
- data/platform/android/Rhodes/jni/src/camera.cpp +1 -1
- data/platform/android/Rhodes/jni/src/fileapi.cpp +39 -19
- data/platform/android/Rhodes/jni/src/geolocation.cpp +3 -3
- data/platform/android/Rhodes/jni/src/mapview.cpp +206 -64
- data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhodes.cpp +13 -0
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +20 -0
- data/platform/android/Rhodes/jni/src/rhodessystem.cpp +36 -3
- data/platform/android/Rhodes/jni/src/signature.cpp +22 -2
- data/platform/android/Rhodes/res/drawable/alert_info.png +0 -0
- data/platform/android/Rhodes/res/drawable/esri.png +0 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +17 -16
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java +67 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +139 -114
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +106 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +11 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +71 -16
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +22 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +243 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +19 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +9 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/{RhodesActivityListener.java → extmanager/IRhoListener.java} +16 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManager.java +63 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +239 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhodesStartupListeners.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/WebkitExtension.java +53 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java +27 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +124 -62
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +49 -137
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +84 -114
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +75 -82
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +3 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Callout.java +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java +124 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +232 -43
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java +193 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/IRhoCustomView.java +13 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +32 -23
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoVideoView.java +74 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +6 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +37 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +14 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +51 -38
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +9 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +48 -31
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +15 -16
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +52 -15
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java +20 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +77 -34
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/IRhoWebView.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebChromeClient.java +105 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +1 -1
- data/platform/android/build/RhodesSRC_build.files +8 -7
- data/platform/android/build/android.rake +326 -216
- data/platform/android/build/androidcommon.rb +27 -13
- data/platform/bb/RubyVM/src/com/rho/file/SimpleFile.java +27 -1
- data/platform/bb/RubyVM/src/j2me/io/File.java +104 -38
- data/platform/bb/build/bb.rake +1 -0
- data/platform/bb/build/runRAPC.bat +0 -0
- data/platform/bb/rhodes/resources/background.png +0 -0
- data/platform/bb/rhodes/resources/esri.png +0 -0
- data/platform/bb/rhodes/resources/mappin.png +0 -0
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +5 -1
- data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +2 -2
- data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapField.java +0 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapProvider.java +0 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/GeoCoding.java +0 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/GoogleGeoCoding.java +0 -0
- data/platform/bb/rhodes/src/rhomobile/mapview/MapTools.java +0 -0
- data/platform/iphone/Classes/AppManager/AppManager.m +7 -1
- data/platform/iphone/Classes/Camera/PickImageDelegate.h +9 -0
- data/platform/iphone/Classes/Camera/PickImageDelegate.m +75 -4
- data/platform/iphone/Classes/GeoLocation/LocationController.h +8 -2
- data/platform/iphone/Classes/GeoLocation/LocationController.m +74 -76
- data/platform/iphone/Classes/InitMemoryInfoCollector.h +33 -0
- data/platform/iphone/Classes/InitMemoryInfoCollector.mm +52 -0
- data/platform/iphone/Classes/NativeView/NVViewController.h +0 -0
- data/platform/iphone/Classes/NativeView/NVViewController.m +34 -2
- data/platform/iphone/Classes/Rhodes.m +22 -2
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +19 -0
- data/platform/iphone/Classes/Signature/SignatureViewController.h +0 -0
- data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -0
- data/platform/iphone/Classes/SimpleMainView.h +0 -0
- data/platform/iphone/Classes/SimpleMainView.m +3 -3
- data/platform/iphone/ESRI/BluePushpin.png +0 -0
- data/platform/iphone/ESRI/BluePushpin@2x.png +0 -0
- data/platform/iphone/ESRI/esri.png +0 -0
- data/platform/iphone/ESRI/esri@2x.png +0 -0
- data/platform/iphone/rbuild/iphone.rake +75 -7
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +13 -4
- data/platform/linux/target/compiler/rubylinux +0 -0
- data/platform/mac/target/compiler/RubyMac +0 -0
- data/platform/osx/Rhodes Launcher/rhorunner.app/rhorunner b/data/platform/osx/Rhodes → Launcher/rhorunner.app/rhorunner +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/Resources/qt_menu.nib/keyedobjects.nib +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/build/osx.rake +6 -8
- data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +165 -33
- data/platform/shared/RhoConnectClient/RhoConnectClient.h +10 -1
- data/platform/shared/common/BundleManager.cpp +27 -16
- data/platform/shared/common/ExtManager.h +15 -2
- data/platform/shared/common/RhoConf.cpp +17 -2
- data/platform/shared/common/RhoConf.h +3 -1
- data/platform/shared/common/RhoDefs.h +6 -6
- data/platform/shared/common/RhoFatalError.h +1 -1
- data/platform/shared/common/RhoFile.cpp +9 -9
- data/platform/shared/common/RhoFilePath.h +7 -3
- data/platform/shared/common/RhoPort.h +3 -3
- data/platform/shared/common/RhoSystem.h +1 -1
- data/platform/shared/common/RhodesApp.cpp +426 -26
- data/platform/shared/common/RhodesApp.h +11 -3
- data/platform/shared/common/RhodesAppBase.cpp +4 -1
- data/platform/shared/common/StringConverter.h +3 -3
- data/platform/shared/common/app_build_capabilities.h +8 -0
- data/platform/shared/common/map/BaseMapEngine.cpp +302 -21
- data/platform/shared/common/map/BaseMapEngine.h +132 -6
- data/platform/shared/common/map/ESRIMapEngine.cpp +2 -1
- data/platform/shared/common/map/GeocodingMapEngine.cpp +22 -4
- data/platform/shared/common/map/GeocodingMapEngine.h +40 -0
- data/platform/shared/common/map/GoogleMapEngine.cpp +13 -1
- data/platform/shared/common/map/MapEngine.h +7 -0
- data/platform/shared/common/map/OSMMapEngine.cpp +12 -1
- data/platform/shared/json/JSONIterator.cpp +1 -1
- data/platform/shared/json/RJSONTokener.c +2 -0
- data/platform/shared/json/config.h +3 -3
- data/platform/shared/logging/RhoLog.cpp +12 -3
- data/platform/shared/logging/RhoLog.h +2 -1
- data/platform/shared/logging/RhoLogConf.cpp +147 -11
- data/platform/shared/logging/RhoLogConf.h +39 -1
- data/platform/shared/logging/RhoLogSink.cpp +1 -1
- data/platform/shared/net/HttpServer.cpp +8 -4
- data/platform/shared/net/INetRequest.cpp +7 -0
- data/platform/shared/net/INetRequest.h +2 -0
- data/platform/shared/net/RawSocket.cpp +1 -1
- data/platform/shared/qt/pbxproj2pro.pl +0 -0
- data/platform/shared/qt/pro_vcproj_diff.pl +0 -0
- data/platform/shared/qt/rhodes/QtMainWindow.cpp +1 -1
- data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +2 -2
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +2 -2
- data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +11 -1
- data/platform/shared/qt/rhodes/main.cpp +5 -5
- data/platform/shared/ruby/ext/alert/alert_wrap.c +8 -8
- data/platform/shared/ruby/ext/bluetooth/bluetooth.i +0 -0
- data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +16 -9
- data/platform/shared/ruby/ext/camera/camera.i +2 -2
- data/platform/shared/ruby/ext/camera/camera_wrap.c +18 -3
- data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +37 -8
- data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +8 -8
- data/platform/shared/ruby/ext/mapview/mapview_wrap.c +16 -9
- data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +16 -9
- data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager.i +0 -0
- data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +16 -9
- data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +8 -1
- data/platform/shared/ruby/ext/rho/rhoruby.c +7 -1
- data/platform/shared/ruby/ext/rho/rhoruby.h +1 -0
- data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +16 -9
- data/platform/shared/ruby/ext/signature/signature.i +0 -0
- data/platform/shared/ruby/ext/signature/signature_wrap.c +9 -9
- data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +16 -9
- data/platform/shared/ruby/ext/system/system_wrap.c +16 -9
- data/platform/shared/ruby/ext/webview/webview_wrap.c +16 -9
- data/platform/shared/ruby/gc.c +1 -0
- data/platform/shared/ruby/regint.h +6 -4
- data/platform/shared/ruby/vm.c +1 -0
- data/platform/shared/ruby/wince/wince.h +1 -1
- data/platform/shared/rubyext/System.cpp +1 -1
- data/platform/shared/shttpd/src/rdispatcher.c +3 -3
- data/platform/shared/shttpd/src/std_includes.h +1 -1
- data/platform/shared/sqlite/sqlite3.c +1 -0
- data/platform/shared/statistic/test/TestProfiling.cpp +1 -1
- data/platform/shared/stlport/build/lib/configure +0 -0
- data/platform/shared/stlport/build/lib/configure.bat +0 -0
- data/platform/shared/sync/SyncEngine.cpp +9 -12
- data/platform/shared/sync/SyncNotify.cpp +36 -3
- data/platform/shared/sync/SyncNotify.h +11 -4
- data/platform/shared/sync/SyncSource.cpp +32 -16
- data/platform/shared/sync/SyncSource.h +2 -3
- data/platform/shared/sync/SyncThread.cpp +13 -4
- data/platform/shared/sync/SyncThread.h +4 -0
- data/platform/shared/tcmalloc/page_heap.h +1 -1
- data/platform/shared/tcmalloc/rhomem.h +1 -1
- data/platform/shared/tcmalloc/windows/port.cpp +12 -3
- data/platform/shared/test/Tests.cpp +4 -4
- data/platform/shared/test/test_helper.cpp +4 -4
- data/platform/symbian/sqlite3/src/sqlite3.h +1 -1
- data/platform/win32/RhoSimulator/Microsoft.VC90.CRT.manifest +6 -0
- data/platform/win32/RhoSimulator/Microsoft.VC90.OpenMP.manifest +6 -0
- 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/libeay32.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/ssleay32.dll +0 -0
- data/platform/win32/RhoSimulator/vcomp90.dll +0 -0
- data/platform/win32/target/replaceicon/replaceicon.exe +0 -0
- data/platform/win32/target/updateresstring/updateresstring.exe +0 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +394 -69
- data/platform/wm/build/build_inf.js +83 -23
- data/platform/wm/build/wm.rake +127 -81
- data/platform/wm/rhodes.sln +6 -6
- data/platform/wm/rhodes/DateTimePicker.h +2 -2
- data/platform/wm/rhodes/IBrowserEngine.h +3 -0
- data/platform/wm/rhodes/IEBrowserEngine.cpp +34 -2
- data/platform/wm/rhodes/IEBrowserEngine.h +4 -1
- data/platform/wm/rhodes/LicenseStub.cpp +73 -0
- data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientNew.java → wm/rhodes/LogMemory.cpp} +32 -20
- data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java → wm/rhodes/LogMemory.h} +11 -8
- data/platform/wm/rhodes/LogOptionsDlg.h +1 -1
- data/platform/wm/rhodes/LogView.cpp +10 -10
- data/platform/wm/rhodes/LogView.h +10 -10
- data/platform/wm/rhodes/MainWindow.cpp +431 -173
- data/platform/wm/rhodes/MainWindow.h +37 -19
- data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
- data/platform/wm/rhodes/OkCancelModalDialog.h +1 -1
- data/platform/wm/rhodes/Rhodes.cpp +210 -47
- data/platform/wm/rhodes/Rhodes.rc +38 -0
- data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +2 -2
- data/platform/wm/rhodes/bluetooth/Bluetooth.h +3 -3
- data/platform/wm/rhodes/camera/Camera.cpp +2 -1
- data/platform/wm/rhodes/camera/Camera.h +1 -1
- data/platform/wm/rhodes/resource.h +1 -1
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +93 -5
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +2 -2
- data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -2
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +13 -7
- data/platform/wm/rhodes/rhodes.vcproj +1409 -1008
- data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
- data/platform/wm/rhodes/stdafx.h +2 -2
- data/platform/wm/rhoelements.sln +7 -9
- data/platform/wm/rubylib/rubylib.vcproj +62 -1
- data/platform/wm/sqlite3/sqlite3.vcproj +62 -1
- data/platform/wm/syncengine/syncengine.vcproj +62 -1
- data/platform/wm/tcmalloc/tcmalloc.vcproj +72 -53
- data/platform/wm/tools/detool/detool.cpp +1435 -1357
- data/platform/wp7/RhoRubyExtGen/GenerateInitializers.cmd +0 -0
- data/platform/wp7/RhoRubyLib/common/RhoLicense.cs +105 -0
- data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +23 -5
- data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +5 -0
- data/platform/wp7/RhoRubyLib/views/RhoView.xaml.cs +22 -3
- data/platform/wp7/build/wp.rake +1 -0
- data/platform/wp7/rhodes/MainPage.xaml.cs +11 -0
- data/rakefile.rb +225 -59
- data/res/build-tools/7za.exe +0 -0
- data/res/build-tools/RhoAppRunner.exe +0 -0
- data/res/build-tools/RhoLogServer.exe +0 -0
- data/res/build-tools/RhoRuby.exe +0 -0
- data/res/build-tools/RubyMac +0 -0
- data/res/build-tools/detool.exe +0 -0
- data/res/build-tools/iphonesim/Source/iPhoneSimulator.m +1 -1
- data/res/build-tools/iphonesim/build/Release/iphonesim +0 -0
- data/res/build-tools/iphonesim/build/Release/iphonesim_43 +0 -0
- data/res/build-tools/license_rc.dll +0 -0
- data/res/build-tools/make.exe +0 -0
- data/res/build-tools/rubylinux +0 -0
- data/res/build-tools/swig_patch/Lib/typemaps/fragments.swg +235 -0
- data/res/build-tools/wmdc_connect.exe +0 -0
- data/res/build-tools/wp7explorer.exe +0 -0
- data/res/generators/rhogen.rb +2 -2
- data/res/generators/templates/application/app/Settings/controller.rb +1 -1
- data/res/generators/templates/application/app/layout.erb +1 -1
- data/res/generators/templates/application/app/loading.png +0 -0
- data/res/generators/templates/application/public/css/re_webkit.css +736 -0
- data/res/generators/templates/application/public/css/windows_mobile.css +0 -0
- data/res/generators/templates/application/public/images/listArrow.png +0 -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/js/syncengine.js +409 -52
- data/res/generators/templates/extension/extensions/montana/ext/build +0 -0
- data/res/generators/templates/extension/extensions/montana/ext/build.bat +0 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile +10 -10
- data/res/generators/templates/spec/app/SpecRunner/controller.rb +2 -0
- data/res/libs/motorolalicence/android/MotorolaLicence.h +13 -0
- data/res/libs/motorolalicence/android/libMotorolaLicence.a +0 -0
- data/res/libs/motorolalicence/iphone/MotorolaLicence.h +13 -0
- data/res/libs/motorolalicence/iphone/libMotorolaLicence.a +0 -0
- data/rhodes.gemspec +1 -1
- data/spec/framework_spec/app/SpecRunner/controller.rb +2 -0
- data/spec/phone_spec/app/SpecRunner/controller.rb +2 -0
- data/version +1 -1
- metadata +487 -412
- data/Manifest.txt +0 -7960
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivityStartupListeners.java +0 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java +0 -52
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +0 -62
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/phonon.framework/Versions/4/phonon +0 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/phonon_backend/libphonon_qt7.dylib +0 -0
- data/platform/win32/RhoSimulator/Microsoft.VC80.CRT.manifest +0 -8
- data/platform/win32/RhoSimulator/Microsoft.VC80.OpenMP.manifest +0 -7
- data/platform/win32/RhoSimulator/msvcm80.dll +0 -0
- data/platform/win32/RhoSimulator/msvcp80.dll +0 -0
- data/platform/win32/RhoSimulator/msvcr80.dll +0 -0
- data/platform/win32/RhoSimulator/vcomp.dll +0 -0
- data/rhomobile-debug-1.0.6.gem +0 -0
@@ -610,15 +610,16 @@ public class TabbedMainView implements MainView {
|
|
610
610
|
|
611
611
|
SimpleMainView view = null;
|
612
612
|
if (use_current_view_for_tab) {
|
613
|
-
|
614
|
-
MainView mainView = r.getMainView();
|
613
|
+
MainView mainView = RhodesActivity.safeGetInstance().getMainView();
|
615
614
|
action = mainView.currentLocation(-1);
|
616
615
|
IRhoWebView webView = mainView.detachWebView();
|
617
616
|
view = new SimpleMainView(webView);
|
618
617
|
}
|
619
618
|
if (view == null) {
|
620
619
|
view = new SimpleMainView();
|
620
|
+
view.getWebView(-1).setWebClient(RhodesActivity.safeGetInstance());
|
621
621
|
}
|
622
|
+
|
622
623
|
// Set view factory
|
623
624
|
|
624
625
|
if (web_bkg_color_Obj != null) {
|
@@ -238,6 +238,10 @@ public class Callout {
|
|
238
238
|
return mResultBitmap;
|
239
239
|
}
|
240
240
|
|
241
|
+
public int getResultBitmapID() {
|
242
|
+
return MapBitmapManager.getSharedInstance().addBitmap(mResultBitmap);
|
243
|
+
}
|
244
|
+
|
241
245
|
// return modifier for Y coordinates from ancor point.
|
242
246
|
public int getXOffset() {
|
243
247
|
return mXOffset;
|
@@ -0,0 +1,124 @@
|
|
1
|
+
/*------------------------------------------------------------------------
|
2
|
+
* (The MIT License)
|
3
|
+
*
|
4
|
+
* Copyright (c) 2008-2011 Rhomobile, Inc.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
11
|
+
* furnished to do so, subject to the following conditions:
|
12
|
+
*
|
13
|
+
* The above copyright notice and this permission notice shall be included in
|
14
|
+
* all copies or substantial portions of the Software.
|
15
|
+
*
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
* THE SOFTWARE.
|
23
|
+
*
|
24
|
+
* http://rhomobile.com
|
25
|
+
*------------------------------------------------------------------------*/
|
26
|
+
|
27
|
+
package com.rhomobile.rhodes.mapview;
|
28
|
+
|
29
|
+
|
30
|
+
import java.io.IOException;
|
31
|
+
import java.io.InputStream;
|
32
|
+
import java.net.URI;
|
33
|
+
import java.util.Hashtable;
|
34
|
+
|
35
|
+
import org.apache.http.HttpResponse;
|
36
|
+
import org.apache.http.client.HttpClient;
|
37
|
+
import org.apache.http.client.methods.HttpGet;
|
38
|
+
import org.apache.http.impl.client.DefaultHttpClient;
|
39
|
+
|
40
|
+
import android.graphics.Bitmap;
|
41
|
+
|
42
|
+
import com.rhomobile.rhodes.Logger;
|
43
|
+
import com.rhomobile.rhodes.util.Utils;
|
44
|
+
|
45
|
+
public class MapBitmapManager {
|
46
|
+
|
47
|
+
private static final String TAG = MapBitmapManager.class.getSimpleName();
|
48
|
+
|
49
|
+
|
50
|
+
private static int ourBitmapGlobalID = 0;
|
51
|
+
|
52
|
+
private class BitmapHolder {
|
53
|
+
public Bitmap bitmap;
|
54
|
+
public int refCount;
|
55
|
+
}
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
private Hashtable<Integer, BitmapHolder> mBitmaps = null;
|
60
|
+
|
61
|
+
private static MapBitmapManager ourManager = null;
|
62
|
+
|
63
|
+
public MapBitmapManager() {
|
64
|
+
mBitmaps = new Hashtable<Integer, BitmapHolder>();
|
65
|
+
}
|
66
|
+
|
67
|
+
public static MapBitmapManager getSharedInstance() {
|
68
|
+
if (ourManager == null) {
|
69
|
+
ourManager = new MapBitmapManager();
|
70
|
+
}
|
71
|
+
return ourManager;
|
72
|
+
}
|
73
|
+
|
74
|
+
public Bitmap getBitmap(int id) {
|
75
|
+
BitmapHolder bh = mBitmaps.get(new Integer(id));
|
76
|
+
if (bh == null) {
|
77
|
+
return null;
|
78
|
+
}
|
79
|
+
return bh.bitmap;
|
80
|
+
}
|
81
|
+
|
82
|
+
public int addBitmap(Bitmap bitmap) {
|
83
|
+
int id = 0;
|
84
|
+
synchronized (mBitmaps) {
|
85
|
+
BitmapHolder bh = new BitmapHolder();
|
86
|
+
bh.bitmap = bitmap;
|
87
|
+
bh.refCount = 1;
|
88
|
+
id = ++ourBitmapGlobalID;
|
89
|
+
mBitmaps.put(new Integer(id), bh);
|
90
|
+
}
|
91
|
+
//Logger.I(TAG, "addBitmap() return "+String.valueOf(id));
|
92
|
+
return id;
|
93
|
+
}
|
94
|
+
|
95
|
+
public void releaseBitmap(int id) {
|
96
|
+
//Logger.I(TAG, "releaseBitmap("+String.valueOf(id)+")");
|
97
|
+
synchronized (mBitmaps) {
|
98
|
+
BitmapHolder bh = mBitmaps.get(new Integer(id));
|
99
|
+
if (bh != null) {
|
100
|
+
bh.refCount--;
|
101
|
+
if (bh.refCount <= 0) {
|
102
|
+
//Logger.I(TAG, "releaseBitmap() REAL REMOVE");
|
103
|
+
bh.bitmap.recycle();
|
104
|
+
mBitmaps.remove(new Integer(id));
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
public void addRef(int id) {
|
111
|
+
BitmapHolder bh = mBitmaps.get(new Integer(id));
|
112
|
+
if (bh != null) {
|
113
|
+
bh.refCount++;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
|
117
|
+
public void totalClean() {
|
118
|
+
synchronized (mBitmaps) {
|
119
|
+
mBitmaps.clear();
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
}
|
@@ -26,6 +26,8 @@
|
|
26
26
|
|
27
27
|
package com.rhomobile.rhodes.mapview;
|
28
28
|
|
29
|
+
import java.util.Hashtable;
|
30
|
+
|
29
31
|
import android.content.Intent;
|
30
32
|
import android.graphics.Bitmap;
|
31
33
|
import android.graphics.BitmapFactory;
|
@@ -35,6 +37,7 @@ import android.graphics.Rect;
|
|
35
37
|
import android.os.Build;
|
36
38
|
import android.os.Bundle;
|
37
39
|
import android.util.DisplayMetrics;
|
40
|
+
import android.view.KeyEvent;
|
38
41
|
import android.view.MotionEvent;
|
39
42
|
import android.view.View;
|
40
43
|
import android.view.ViewGroup.LayoutParams;
|
@@ -66,12 +69,12 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
66
69
|
|
67
70
|
public native void setSize(MapView javaDevice, long nativeDevice, int width, int height);
|
68
71
|
|
69
|
-
public native void setPinImage(long nativeDevice,
|
70
|
-
public native void setPinCalloutImage(long nativeDevice,
|
71
|
-
public native void setPinCalloutLinkImage(long nativeDevice,
|
72
|
-
public native void setESRILogoImage(long nativeDevice,
|
73
|
-
public native void setGoogleLogoImage(long nativeDevice,
|
74
|
-
public native void setMyLocationImage(long nativeDevice,
|
72
|
+
public native void setPinImage(long nativeDevice, int pin);
|
73
|
+
public native void setPinCalloutImage(long nativeDevice, int pin);
|
74
|
+
public native void setPinCalloutLinkImage(long nativeDevice, int pin);
|
75
|
+
public native void setESRILogoImage(long nativeDevice, int esriLogo);
|
76
|
+
public native void setGoogleLogoImage(long nativeDevice, int googleLogo);
|
77
|
+
public native void setMyLocationImage(long nativeDevice, int pin);
|
75
78
|
|
76
79
|
public native int minZoom(long nativeDevice);
|
77
80
|
public native int maxZoom(long nativeDevice);
|
@@ -79,7 +82,7 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
79
82
|
public native void setZoom(long nativeDevice, int zoom);
|
80
83
|
|
81
84
|
public native void move(long nativeDevice, int dx, int dy);
|
82
|
-
public native
|
85
|
+
public native int click(long nativeDevice, int x, int y);
|
83
86
|
|
84
87
|
public native void paint(long nativeDevice, Canvas canvas);
|
85
88
|
public native void destroy(long nativeDevice);
|
@@ -98,6 +101,8 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
98
101
|
|
99
102
|
private long mNativeDevice;
|
100
103
|
|
104
|
+
public boolean mIsInExitProcess;
|
105
|
+
|
101
106
|
private static int ourDensity = Bitmap.DENSITY_NONE;//DisplayMetrics.DENSITY_DEFAULT;
|
102
107
|
|
103
108
|
private TouchHandler createTouchHandler() {
|
@@ -121,6 +126,9 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
121
126
|
}
|
122
127
|
|
123
128
|
public static void create(long nativeDevice) {
|
129
|
+
Logger.I(TAG, "create()");
|
130
|
+
resetRequestSet();
|
131
|
+
|
124
132
|
RhodesActivity r = RhodesActivity.getInstance();
|
125
133
|
if (r == null) {
|
126
134
|
Logger.E(TAG, "Can't create map view because main activity is null");
|
@@ -133,18 +141,31 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
133
141
|
}
|
134
142
|
|
135
143
|
public static void destroy() {
|
136
|
-
|
137
|
-
|
138
|
-
|
144
|
+
Logger.I(TAG, "destroy()");
|
145
|
+
final MapView mv = mc;
|
146
|
+
mc = null;
|
147
|
+
if (mv != null) {
|
148
|
+
mv.mIsInExitProcess = true;
|
149
|
+
Logger.I(TAG, "destroy() mc != null - process destroy");
|
150
|
+
PerformOnUiThread.exec(new Runnable() {
|
151
|
+
public void run() {
|
152
|
+
mv.finish();
|
153
|
+
MapBitmapManager.getSharedInstance().totalClean();
|
154
|
+
}
|
155
|
+
});
|
139
156
|
}
|
140
157
|
}
|
141
158
|
|
142
159
|
@Override
|
143
160
|
public void onCreate(Bundle savedInstanceState) {
|
161
|
+
Logger.I(TAG, "onCreate()");
|
162
|
+
mIsInExitProcess = false;
|
144
163
|
super.onCreate(savedInstanceState);
|
145
164
|
|
146
165
|
mc = this;
|
147
166
|
|
167
|
+
MapBitmapManager.getSharedInstance().totalClean();
|
168
|
+
|
148
169
|
mNativeDevice = getIntent().getLongExtra(INTENT_EXTRA_PREFIX + ".nativeDevice", 0);
|
149
170
|
if (mNativeDevice == 0)
|
150
171
|
throw new IllegalArgumentException();
|
@@ -155,23 +176,23 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
155
176
|
|
156
177
|
//ourDensity = pin.getDensity();
|
157
178
|
pin.setDensity(Bitmap.DENSITY_NONE);
|
158
|
-
setPinImage(mNativeDevice, pin);
|
179
|
+
setPinImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(pin));
|
159
180
|
|
160
181
|
|
161
182
|
Bitmap pinCallout = BitmapFactory.decodeResource(getResources(), AndroidR.drawable.callout);
|
162
|
-
setPinCalloutImage(mNativeDevice, pinCallout );
|
183
|
+
setPinCalloutImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(pinCallout) );
|
163
184
|
Bitmap pinCalloutLink = BitmapFactory.decodeResource(getResources(), AndroidR.drawable.callout_link);
|
164
|
-
setPinCalloutLinkImage(mNativeDevice, pinCalloutLink );
|
185
|
+
setPinCalloutLinkImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(pinCalloutLink) );
|
165
186
|
|
166
187
|
Bitmap esriLogo = BitmapFactory.decodeResource(getResources(), AndroidR.drawable.esri);
|
167
|
-
setESRILogoImage(mNativeDevice, esriLogo);
|
188
|
+
setESRILogoImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(esriLogo) );
|
168
189
|
|
169
190
|
Bitmap googleLogo = BitmapFactory.decodeResource(getResources(), AndroidR.drawable.google);
|
170
|
-
setGoogleLogoImage(mNativeDevice, googleLogo);
|
191
|
+
setGoogleLogoImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(googleLogo) );
|
171
192
|
|
172
193
|
Bitmap pinMyLocation = BitmapFactory.decodeResource(getResources(), AndroidR.drawable.location, opt);
|
173
194
|
pinMyLocation.setDensity(Bitmap.DENSITY_NONE);
|
174
|
-
setMyLocationImage(mNativeDevice, pinMyLocation);
|
195
|
+
setMyLocationImage(mNativeDevice, MapBitmapManager.getSharedInstance().addBitmap(pinMyLocation) );
|
175
196
|
|
176
197
|
mTouchHandler = createTouchHandler();
|
177
198
|
mTouchHandler.setMapTouch(this);
|
@@ -230,18 +251,52 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
230
251
|
});
|
231
252
|
}
|
232
253
|
|
254
|
+
@Override
|
255
|
+
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
256
|
+
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
257
|
+
Logger.I(TAG, "onBack button pressed()");
|
258
|
+
mIsInExitProcess = true;
|
259
|
+
mc = null;
|
260
|
+
mNativeDevice = 0;
|
261
|
+
destroy(mNativeDevice);
|
262
|
+
PerformOnUiThread.exec(new Runnable() {
|
263
|
+
public void run() {
|
264
|
+
finish();
|
265
|
+
}
|
266
|
+
});
|
267
|
+
}
|
268
|
+
return super.onKeyDown(keyCode, event);
|
269
|
+
}
|
270
|
+
|
233
271
|
@Override
|
234
272
|
protected void onStop() {
|
235
|
-
|
236
|
-
destroy(mNativeDevice);
|
237
|
-
mc = null;
|
238
|
-
finish();
|
273
|
+
Logger.I(TAG, "onStop() 1");
|
239
274
|
super.onStop();
|
275
|
+
Logger.I(TAG, "onStop() 2");
|
276
|
+
//mNativeDevice = 0;
|
277
|
+
//destroy(mNativeDevice);
|
278
|
+
//mc = null;
|
279
|
+
//PerformOnUiThread.exec(new Runnable() {
|
280
|
+
// public void run() {
|
281
|
+
// finish();
|
282
|
+
// }
|
283
|
+
//});
|
284
|
+
}
|
285
|
+
|
286
|
+
@Override
|
287
|
+
public void onPause() {
|
288
|
+
Logger.I(TAG, "onPause() 1");
|
289
|
+
super.onDestroy();
|
290
|
+
Logger.I(TAG, "onPause() 2");
|
240
291
|
}
|
241
292
|
|
242
293
|
@Override
|
243
294
|
public void onDestroy() {
|
295
|
+
Logger.I(TAG, "onDestroy() 1");
|
296
|
+
MapBitmapManager.getSharedInstance().totalClean();
|
297
|
+
Logger.I(TAG, "onDestroy() 2");
|
244
298
|
super.onDestroy();
|
299
|
+
Logger.I(TAG, "onDestroy() 3");
|
245
300
|
}
|
246
301
|
|
247
302
|
public int zoom(int n) {
|
@@ -278,7 +333,9 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
278
333
|
public void onAnimationRepeat(Animation animation) {}
|
279
334
|
@Override
|
280
335
|
public void onAnimationEnd(Animation animation) {
|
281
|
-
|
336
|
+
if (mc != null) {
|
337
|
+
setZoom(mNativeDevice, finalZoom);
|
338
|
+
}
|
282
339
|
}
|
283
340
|
});
|
284
341
|
|
@@ -286,9 +343,15 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
286
343
|
}
|
287
344
|
}
|
288
345
|
|
289
|
-
public void drawImage(Canvas canvas, int x, int y,
|
290
|
-
|
291
|
-
|
346
|
+
public void drawImage(Canvas canvas, int x, int y, int bm) {
|
347
|
+
//Logger.I(TAG, "drawImage(img_id="+String.valueOf(bm)+") start");
|
348
|
+
Bitmap b = MapBitmapManager.getSharedInstance().getBitmap(bm);
|
349
|
+
if (b != null) {
|
350
|
+
//Logger.I(TAG, "drawImage() image exist");
|
351
|
+
Paint paint = new Paint();
|
352
|
+
canvas.drawBitmap(b, x, y, paint);
|
353
|
+
}
|
354
|
+
//Logger.I(TAG, "drawImage() finish");
|
292
355
|
}
|
293
356
|
|
294
357
|
public void drawText(Canvas canvas, int x, int y, int width, int height, String text, int color)
|
@@ -324,59 +387,89 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
324
387
|
}
|
325
388
|
|
326
389
|
public void redraw() {
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
390
|
+
if (mIsInExitProcess) {
|
391
|
+
return;
|
392
|
+
}
|
393
|
+
if (mc != null) {
|
394
|
+
PerformOnUiThread.exec(new Runnable() {
|
395
|
+
public void run() {
|
396
|
+
if ((mc != null) && (mSurface != null)) {
|
397
|
+
mSurface.invalidate();
|
398
|
+
}
|
399
|
+
}
|
400
|
+
});
|
401
|
+
}
|
332
402
|
}
|
333
403
|
|
334
|
-
public static
|
335
|
-
//
|
404
|
+
public static int createImage(String path) {
|
405
|
+
//Logger.I(TAG, "createImage(img_path="+path+") start");
|
336
406
|
Bitmap b = BitmapFactory.decodeFile(path);
|
337
407
|
if (b == null) {
|
338
|
-
//Utils.platformLog(TAG, "##################2 createBitmap("+RhoFileApi.normalizePath("apps/" + path)+")");
|
339
408
|
b = BitmapFactory.decodeStream(RhoFileApi.open(RhoFileApi.normalizePath("apps/" + path)));
|
340
409
|
if (b != null) {
|
341
|
-
//
|
410
|
+
//Logger.I(TAG, "createImage() OK!");
|
342
411
|
}
|
343
412
|
else {
|
344
|
-
//
|
413
|
+
//Logger.I(TAG, "createImage() FAIL!");
|
345
414
|
}
|
346
415
|
}
|
347
416
|
else {
|
348
|
-
//
|
417
|
+
//Logger.I(TAG, "createImage() OK!");
|
349
418
|
}
|
350
419
|
if (b != null) {
|
351
420
|
b.setDensity(ourDensity);
|
421
|
+
return MapBitmapManager.getSharedInstance().addBitmap(b);
|
352
422
|
}
|
353
|
-
return
|
423
|
+
return 0;
|
354
424
|
}
|
355
425
|
|
356
|
-
public static
|
357
|
-
|
426
|
+
public static int createImage(byte[] data) {
|
427
|
+
Bitmap b = BitmapFactory.decodeByteArray(data, 0, data.length);
|
428
|
+
if (b != null) {
|
429
|
+
return MapBitmapManager.getSharedInstance().addBitmap(b);
|
430
|
+
}
|
431
|
+
return 0;
|
358
432
|
}
|
359
433
|
|
360
|
-
public static
|
434
|
+
public static int createImageEx(byte[] data, int x, int y, int w, int h) {
|
361
435
|
Bitmap b = BitmapFactory.decodeByteArray(data, 0, data.length);
|
362
|
-
|
436
|
+
if (b == null) {
|
437
|
+
return 0;
|
438
|
+
}
|
439
|
+
return MapBitmapManager.getSharedInstance().addBitmap(Bitmap.createBitmap(b, x, y, w, h));
|
363
440
|
}
|
364
441
|
|
365
|
-
public static void destroyImage(
|
366
|
-
|
442
|
+
public static void destroyImage(int bm) {
|
443
|
+
//Logger.I(TAG, "destroyImage("+String.valueOf(bm)+")");
|
444
|
+
MapBitmapManager.getSharedInstance().releaseBitmap(bm);
|
445
|
+
}
|
446
|
+
|
447
|
+
public static void addRefImage(int bm) {
|
448
|
+
//Logger.I(TAG, "addRefImage("+String.valueOf(bm)+")");
|
449
|
+
MapBitmapManager.getSharedInstance().addRef(bm);
|
367
450
|
}
|
368
451
|
|
369
452
|
public void destroyDevice() {
|
370
453
|
mNativeDevice = 0;
|
454
|
+
mIsInExitProcess = true;
|
371
455
|
}
|
372
456
|
|
373
457
|
@Override
|
374
458
|
public void touchClick(Touch touch) {
|
375
|
-
|
459
|
+
if (mIsInExitProcess) {
|
460
|
+
return;
|
461
|
+
}
|
462
|
+
if (0 != click(mNativeDevice, (int)touch.x, (int)touch.y) ) {
|
463
|
+
// block all UI because we in exit process from now !
|
464
|
+
mIsInExitProcess = true;
|
465
|
+
}
|
376
466
|
}
|
377
467
|
|
378
468
|
@Override
|
379
469
|
public void touchDown(Touch first, Touch second) {
|
470
|
+
if (mIsInExitProcess) {
|
471
|
+
return;
|
472
|
+
}
|
380
473
|
mTouchFirst = first;
|
381
474
|
mTouchSecond = second;
|
382
475
|
if (ENABLE_MULTI_TOUCH) {
|
@@ -390,6 +483,9 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
390
483
|
|
391
484
|
@Override
|
392
485
|
public void touchUp(Touch first, Touch second) {
|
486
|
+
if (mIsInExitProcess) {
|
487
|
+
return;
|
488
|
+
}
|
393
489
|
mTouchFirst = first;
|
394
490
|
mTouchSecond = second;
|
395
491
|
if (ENABLE_MULTI_TOUCH) {
|
@@ -407,6 +503,9 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
407
503
|
|
408
504
|
@Override
|
409
505
|
public void touchMove(Touch first, Touch second) {
|
506
|
+
if (mIsInExitProcess) {
|
507
|
+
return;
|
508
|
+
}
|
410
509
|
if (first == null || second == null) {
|
411
510
|
// Move
|
412
511
|
Touch t = first == null ? second : first;
|
@@ -447,4 +546,94 @@ public class MapView extends BaseActivity implements MapTouch {
|
|
447
546
|
}
|
448
547
|
}
|
449
548
|
}
|
549
|
+
|
550
|
+
public static int getBitmapWidth(int id) {
|
551
|
+
Bitmap b = MapBitmapManager.getSharedInstance().getBitmap(id);
|
552
|
+
if (b != null) {
|
553
|
+
return b.getWidth();
|
554
|
+
}
|
555
|
+
return 0;
|
556
|
+
}
|
557
|
+
|
558
|
+
public static int getBitmapHeight(int id) {
|
559
|
+
Bitmap b = MapBitmapManager.getSharedInstance().getBitmap(id);
|
560
|
+
if (b != null) {
|
561
|
+
return b.getHeight();
|
562
|
+
}
|
563
|
+
return 0;
|
564
|
+
}
|
565
|
+
|
566
|
+
|
567
|
+
|
568
|
+
|
569
|
+
private static Hashtable<Integer,Request> ourRequests = null;
|
570
|
+
|
571
|
+
public static void resetRequestSet() {
|
572
|
+
getRequests().clear();
|
573
|
+
}
|
574
|
+
|
575
|
+
public static Hashtable<Integer,Request> getRequests() {
|
576
|
+
if (ourRequests == null) {
|
577
|
+
ourRequests = new Hashtable<Integer,Request>();
|
578
|
+
}
|
579
|
+
return ourRequests;
|
580
|
+
}
|
581
|
+
|
582
|
+
public static int mapengine_request_make() {
|
583
|
+
Request r = new Request();
|
584
|
+
getRequests().put(new Integer(r.getId()), r);
|
585
|
+
return r.getId();
|
586
|
+
}
|
587
|
+
|
588
|
+
public static int mapengine_request_data(int request_id, String url) {
|
589
|
+
//Utils.platformLog("MapengineRequest", "mapengine_request_data("+String.valueOf(request_id)+", "+url+");");
|
590
|
+
Request r = getRequests().get(new Integer(request_id));
|
591
|
+
if (r != null) {
|
592
|
+
r.requestData(url);
|
593
|
+
int res = r.getDataSize();
|
594
|
+
//Utils.platformLog("MapengineRequest", "mapengine_request_data() return "+String.valueOf(res));
|
595
|
+
return res;
|
596
|
+
}
|
597
|
+
//Utils.platformLog("MapengineRequest", "mapengine_request_data() return 0");
|
598
|
+
return 0;
|
599
|
+
}
|
600
|
+
|
601
|
+
public static byte[] mapengine_get_requested_data(int request_id) {
|
602
|
+
Request r = getRequests().get(new Integer(request_id));
|
603
|
+
if (r != null) {
|
604
|
+
byte[] ar = r.getData();
|
605
|
+
r.cancel();
|
606
|
+
getRequests().remove(new Integer(request_id));
|
607
|
+
return ar;
|
608
|
+
}
|
609
|
+
return null;
|
610
|
+
}
|
611
|
+
|
612
|
+
public static void mapengine_request_cancel(int request_id) {
|
613
|
+
Request r = getRequests().get(new Integer(request_id));
|
614
|
+
if (r != null) {
|
615
|
+
r.cancel();
|
616
|
+
getRequests().remove(new Integer(request_id));
|
617
|
+
}
|
618
|
+
}
|
619
|
+
|
620
|
+
public static native void deletemapviewpointer(int p);
|
621
|
+
|
622
|
+
public static void mapengine_delete_mapview_in_ui_thread(int p) {
|
623
|
+
final int pp = p;
|
624
|
+
PerformOnUiThread.exec(new Runnable() {
|
625
|
+
private int mP = pp;
|
626
|
+
public void run() {
|
627
|
+
try {
|
628
|
+
deletemapviewpointer(mP);
|
629
|
+
}
|
630
|
+
catch (Throwable e) {
|
631
|
+
Utils.platformLog("MapengineDeleteInUIThread", "Exception during perform delete !");
|
632
|
+
e.printStackTrace();
|
633
|
+
}
|
634
|
+
}
|
635
|
+
});
|
636
|
+
}
|
637
|
+
|
638
|
+
|
450
639
|
}
|