rhodes 6.2.0 → 7.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +14 -10
- data/appveyor.yml +1 -1
- data/extensions/emdk3-manager/ext/platform/android/Rakefile +2 -0
- data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/Rakefile +18 -1
- data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/Rakefile +19 -1
- data/lib/commonAPI/RubyServer/ext.yml +21 -0
- data/lib/commonAPI/RubyServer/ext/RubyServer.xml +101 -0
- data/lib/commonAPI/RubyServer/ext/build +19 -0
- data/lib/commonAPI/RubyServer/ext/build.bat +29 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/Rakefile +161 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_java.files +9 -0
- data/lib/commonAPI/RubyServer/ext/platform/android/ext_native.files +7 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/Rakefile +73 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer.xcodeproj/project.pbxproj +322 -0
- data/lib/commonAPI/RubyServer/ext/platform/iphone/RubyServer_Prefix.pch +7 -0
- data/lib/commonAPI/RubyServer/ext/shared/RubyServerImpl.cpp +242 -0
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeFactory.java +23 -3
- data/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode/BarcodeRhoExtension.java +68 -8
- data/lib/commonAPI/barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +24 -52
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.h +38 -10
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewController.m +300 -22
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +6 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/Classes/barcode.m +6 -2
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/Barcode.m +7 -3
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeFactory.m +13 -0
- data/lib/commonAPI/barcode/ext/platform/iphone/impl/BarcodeSingleton.m +25 -3
- data/lib/commonAPI/bluetooth/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/clipboard/ext/platform/android/Rakefile +29 -10
- data/lib/commonAPI/coreapi/ext/Notification.xml +47 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ApplicationManifestAdds.erb +1 -0
- data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/coreapi/ext/platform/android/ext_java.files +2 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/AlarmReceiver.java +27 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +28 -10
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationFactory.java +14 -1
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +260 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +23 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/Coreapi.xcodeproj/project.pbxproj +21 -19
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +1 -0
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +234 -1
- data/lib/commonAPI/coreapi/ext/platform/qt/coreapi.pro +2 -0
- data/lib/commonAPI/coreapi/ext/platform/qt/src/CNotificationImpl.cpp +7 -0
- data/lib/commonAPI/coreapi/ext/shared/ApplicationImpl.cpp +5 -0
- data/lib/commonAPI/coreapi/public/api/rhoapi.js +18 -8
- data/lib/commonAPI/devicesecurity/ext/platform/android/Rakefile +19 -0
- data/lib/commonAPI/devicesecurity/ext/platform/iphone/DeviceSecurity.xcodeproj/project.pbxproj +16 -0
- data/lib/commonAPI/hardwarekeys/ext/keycapture.xml +11 -9
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.h +5 -3
- data/lib/commonAPI/hardwarekeys/ext/platform/iphone/impl/KeyCaptureSingleton.m +80 -67
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +25 -14
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +55 -25
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +34 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +1 -0
- data/lib/commonAPI/printing_zebra/ext/platform/android/Rakefile +18 -0
- data/lib/commonAPI/sensor/ext/platform/android/src/com/rho/sensor/Sensor.java +4 -4
- data/lib/extensions/decrypt/ext/platform/android/Rakefile +19 -1
- data/lib/extensions/decryptstub/ext/platform/android/Rakefile +19 -0
- data/lib/extensions/decryptstub/ext/platform/iphone/Decryptstub.xcodeproj/project.pbxproj +4 -2
- data/lib/extensions/digest-md5/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha1/ext/android/Rakefile +18 -0
- data/lib/extensions/digest-sha2/ext/android/Rakefile +18 -0
- data/lib/extensions/esri/ext/esri/platform/iphone/Classes/MapViewControllerESRI.h +19 -19
- data/lib/extensions/fcm-push/ext/android/Rakefile +18 -0
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +38 -16
- data/lib/extensions/gcm-push/ext/android/Rakefile +19 -0
- data/lib/extensions/keyboard/ext.yml +15 -0
- data/lib/extensions/keyboard/ext/Keyboard.xml +28 -0
- data/lib/extensions/keyboard/ext/build +19 -0
- data/lib/extensions/keyboard/ext/build.bat +29 -0
- data/lib/extensions/keyboard/ext/platform/android/Rakefile +141 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_java.files +9 -0
- data/lib/extensions/keyboard/ext/platform/android/ext_native.files +7 -0
- data/lib/extensions/keyboard/ext/platform/android/jni/Keyboard_impl.cpp +61 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/Keyboard.java +32 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardFactory.java +18 -0
- data/lib/extensions/keyboard/ext/platform/android/src/com/rho/keyboard/KeyboardSingleton.java +29 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard.xcodeproj/project.pbxproj +368 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Keyboard_Prefix.pch +7 -0
- data/lib/extensions/keyboard/ext/platform/iphone/Rakefile +73 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.h +14 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/Keyboard.m +24 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardFactorySingleton.m +16 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSetup.m +9 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.h +17 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/KeyboardSingleton.m +23 -0
- data/lib/extensions/keyboard/ext/platform/iphone/impl/readme.txt +7 -0
- data/lib/extensions/keyboard/ext/platform/qt/Keyboard.pro +68 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile +473 -0
- data/lib/extensions/keyboard/ext/platform/qt/Makefile.Release +408 -0
- data/lib/extensions/keyboard/ext/platform/qt/Rakefile +39 -0
- data/lib/extensions/keyboard/ext/platform/qt/src/Keyboard_impl.cpp +99 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/Keyboard.vcxproj.filters +50 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.csproj +119 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.props +8 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardImpl.targets +7 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.props +18 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj +197 -0
- data/lib/extensions/keyboard/ext/platform/uwp/KeyboardLib.vcxproj.filters +58 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cpp +76 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Keyboard_impl.cs +69 -0
- data/lib/extensions/keyboard/ext/platform/uwp/src/Properties/AssemblyInfo.cs +37 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.sln +52 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vcproj +714 -0
- data/lib/extensions/keyboard/ext/platform/wm/Keyboard.vsprops +15 -0
- data/lib/extensions/keyboard/ext/platform/wm/src/Keyboard_impl.cpp +77 -0
- data/lib/extensions/openssl.so.src/ext/android/Rakefile +18 -0
- data/lib/extensions/openssl.so/ext/android/aarch64/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/howtobuild.txt +2 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libcrypto.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/OpenSSl.SDK/libssl.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphoneos/libopenssl.so.a +0 -0
- data/lib/extensions/openssl.so/ext/iphone/Release-iphonesimulator/libopenssl.so.a +0 -0
- data/lib/extensions/openssl/ext/android/Rakefile +18 -0
- data/lib/extensions/zlib/ext/zlib.c +5 -1
- data/lib/framework/autocomplete/Rhodes.rb +1 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/set.rb +799 -0
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml.erb +11 -2
- data/platform/android/Rhodes/jni/include/rhodes.h +6 -0
- data/platform/android/Rhodes/jni/include/rhodes/RhoClassFactory.h +3 -0
- data/platform/android/Rhodes/jni/include/rhodes/SecurityTokenGenerator.h +30 -0
- data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/src/JNIRhoRubyCppWrapper.cpp +408 -0
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +7 -0
- data/platform/android/Rhodes/jni/src/SecurityTokenGenerator.cpp +60 -0
- data/platform/android/Rhodes/jni/src/fileapi.cpp +318 -12
- data/platform/android/Rhodes/jni/src/mapview.cpp +4 -0
- data/platform/android/Rhodes/res/drawable/ic_notification.png +0 -0
- data/platform/android/Rhodes/res/xml/network_security_config.xml +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +9 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java +8 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java +33 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java +20 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java +115 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java +52 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java +15 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +25 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java +57 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +9 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +3 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java +13 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +105 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +4 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +24 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +20 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +10 -0
- data/platform/android/build/Rakefile +30 -1
- data/platform/android/build/RhodesSRC_build.files +8 -0
- data/platform/android/build/android.rake +326 -22
- data/platform/android/build/android_tools.rb +36 -3
- data/platform/android/build/androidcommon.rb +97 -44
- data/platform/android/build/librhocommon_build.files +11 -0
- data/platform/android/build/librhodes_build.files +2 -0
- data/platform/android/build/manifest_generator.rb +9 -2
- data/platform/android/build/maven_deps_extractor.rb +96 -15
- data/platform/android/build/ndkwrapper.rb +111 -16
- data/platform/android/build/pom.erb +2 -2
- data/platform/iphone/Classes/AppManager/AppManager.m +31 -1
- data/platform/iphone/Classes/MapView/GoogleGeocoder.h +3 -3
- data/platform/iphone/Classes/RhoMainViewStubImpl.h +38 -0
- data/platform/iphone/Classes/RhoMainViewStubImpl.m +88 -0
- data/platform/iphone/Classes/RhoUIWebView.h +5 -0
- data/platform/iphone/Classes/RhoUIWebView.m +14 -6
- data/platform/iphone/Classes/{RhoWKWebView.m → RhoWKWebView.mm} +98 -18
- data/platform/iphone/Classes/RhoWebView.h +1 -1
- data/platform/iphone/Classes/RhoWebViewFabrique.m +24 -12
- data/platform/iphone/Classes/Rhodes.h +7 -2
- data/platform/iphone/Classes/Rhodes.m +46 -8
- data/platform/iphone/Classes/SimpleMainView.m +22 -13
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.h +32 -3
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +93 -61
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.h +22 -0
- data/platform/iphone/Classes/URLProtocol/CRhoWKURLProtocol.m +246 -0
- data/platform/iphone/Classes/WebView.m +14 -2
- data/platform/iphone/Entitlements.plist +1 -1
- data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +399 -0
- data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1208 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Info.plist +24 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/Rhodes.h +21 -0
- data/platform/iphone/Framework/Rhodes/Rhodes/StubCode.m +15 -0
- data/platform/iphone/Info.plist +1 -3
- data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +511 -4
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +467 -1
- data/platform/iphone/Rhodes.xcodeproj/project.pbxproj +51 -274
- data/platform/iphone/RhodesBaseDelegate.h +1 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +85 -3
- data/platform/iphone/rbuild/ApplicationPlist.erb +1 -1
- data/platform/iphone/rbuild/iphone.rake +497 -25
- data/platform/iphone/rbuild/iphonecommon.rb +15 -6
- data/platform/iphone/rhodes_stub.cpp +15 -0
- data/platform/iphone/rhodeslib/api/RhodesLib.h +28 -0
- data/platform/iphone/rhodeslib/impl/RhodesLib.m +52 -0
- data/platform/iphone/rhodesruby/api/IRefCountedObject.h +20 -0
- data/platform/iphone/rhodesruby/api/IRhoRuby.h +72 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyArray.h +12 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyBoolean.h +11 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyHash.h +15 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableArray.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableBoolean.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableFloat.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableHash.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableInteger.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyMutableString.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNativeCallback.h +9 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyNil.h +10 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyObject.h +37 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyRunnable.h +8 -0
- data/platform/iphone/rhodesruby/api/IRhoRubyString.h +10 -0
- data/platform/iphone/rhodesruby/api/RhoRuby.h +26 -0
- data/platform/iphone/rhodesruby/api/RhoRubySingletone.h +14 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyFabrique.h +10 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.h +56 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyImpl.mm +432 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableArrayImpl.mm +43 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableBooleanImpl.mm +38 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableFloatImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.h +24 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableHashImpl.mm +48 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableIntegerImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.h +23 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyMutableStringImpl.mm +35 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.h +22 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyNilImpl.mm +11 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.h +31 -0
- data/platform/iphone/rhodesruby/impl/RhoRubyObjectImpl.mm +49 -0
- data/platform/iphone/rhodesruby/impl/RhoRubySingletone.m +19 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/iphone/rhodesruby/impl/RubyServerResponceImpl.mm +32 -0
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +79 -0
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +91 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +85 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
- data/platform/shared/common/IRhoClassFactory.h +2 -0
- data/platform/shared/common/ISecurityTokenGenerator.h +16 -0
- data/platform/shared/common/RhoFile.cpp +11 -0
- data/platform/shared/common/RhoMath.h +14 -0
- data/platform/shared/common/RhoMutexLock.h +13 -0
- data/platform/shared/common/RhoSystem.h +1 -1
- data/platform/shared/common/RhoThread.cpp +25 -0
- data/platform/shared/common/RhodesApp.cpp +52 -6
- data/platform/shared/common/RhodesApp.h +25 -1
- data/platform/shared/common/RhodesAppBase.cpp +4 -2
- data/platform/shared/common/RhodesAppBase.h +5 -0
- data/platform/shared/common/iphone/RhoClassfactory.h +6 -0
- data/platform/shared/common/iphone/RhoCryptImpl.mm +21 -2
- data/platform/shared/common/map/BaseMapEngine.cpp +2 -2
- data/platform/shared/common/map/GeocodingMapEngine.cpp +1 -1
- data/platform/shared/common/map/GoogleMapEngine.cpp +1 -1
- data/platform/shared/common/map/OSMMapEngine.cpp +1 -1
- data/platform/shared/curl/lib/curl_config.h +28 -0
- data/platform/shared/db/DBAdapter.cpp +18 -10
- data/platform/shared/json.new/JSONIterator.cpp +2 -2
- data/platform/shared/net/HttpServer.cpp +32 -0
- data/platform/shared/net/HttpServer.h +15 -0
- data/platform/shared/net/INetRequest.cpp +54 -0
- data/platform/shared/qt/RhoRubylib.pro +10 -0
- data/platform/shared/qt/rhodes/impl/AlertImpl.cpp +13 -0
- data/platform/shared/qt/rhodes/impl/CameraImpl.cpp +6 -0
- data/platform/shared/qt/rhodes/impl/DateTimePickerImpl.cpp +4 -0
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +36 -7
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.h +12 -1
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.cpp +21 -2
- data/platform/shared/qt/rhodes/impl/NativeTabbarImpl.h +1 -0
- data/platform/shared/qt/rhodes/impl/NativeToolbarImpl.cpp +10 -0
- data/platform/shared/qt/rhodes/impl/QtSystemImpl.cpp +55 -3
- data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +11 -0
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +71 -7
- data/platform/shared/qt/rhodes/impl/RhoThreadImpl.h +79 -2
- data/platform/shared/qt/rhodes/impl/RhodesImpl.cpp +16 -6
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.cpp +37 -0
- data/platform/shared/qt/rhodes/impl/SecurityTokenGeneratorImpl.h +25 -0
- data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +2 -0
- data/platform/shared/qt/rhodes/impl/WebViewImpl.cpp +27 -0
- data/platform/shared/qt/rhodes/impl/notificationsound.cpp +16 -2
- data/platform/shared/qt/rhodes/impl/notificationsound.h +11 -1
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.cpp +25 -16
- data/platform/shared/qt/rhodes/newVersion/QtMainWindow.h +3 -0
- data/platform/shared/qt/rhodes/newVersion/WebUrlRequestInterceptor.cpp +17 -0
- data/platform/shared/qt/rhodes/rhodes.pro +68 -14
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.cpp +148 -0
- data/platform/shared/qt/rhodes/rhorubyVersion/rhodeslib.h +12 -0
- data/platform/shared/qt/rholib/rholib.pro +33 -5
- data/platform/shared/qt/rhoruby_win32_build.bat +19 -0
- data/platform/shared/qt/rhoruby_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rhosimulator_win32_build_debug.bat +19 -0
- data/platform/shared/qt/rubylib/rubylib.pro +1 -0
- data/platform/shared/qt/sqlite3/sqlite3.pro +1 -0
- data/platform/shared/qt/syncengine/syncengine.pro +1 -0
- data/platform/shared/rhoruby/api/IArray.h +20 -0
- data/platform/shared/rhoruby/api/IBoolean.h +17 -0
- data/platform/shared/rhoruby/api/IFloat.h +17 -0
- data/platform/shared/rhoruby/api/IHash.h +23 -0
- data/platform/shared/rhoruby/api/IInteger.h +18 -0
- data/platform/shared/rhoruby/api/IMutableArray.h +18 -0
- data/platform/shared/rhoruby/api/IMutableBoolean.h +18 -0
- data/platform/shared/rhoruby/api/IMutableFloat.h +17 -0
- data/platform/shared/rhoruby/api/IMutableHash.h +18 -0
- data/platform/shared/rhoruby/api/IMutableInteger.h +17 -0
- data/platform/shared/rhoruby/api/IMutableString.h +17 -0
- data/platform/shared/rhoruby/api/INil.h +16 -0
- data/platform/shared/rhoruby/api/IObject.h +46 -0
- data/platform/shared/rhoruby/api/IRefCountedObject.h +20 -0
- data/platform/shared/rhoruby/api/IRhoRuby.h +78 -0
- data/platform/shared/rhoruby/api/IRunnable.h +17 -0
- data/platform/shared/rhoruby/api/IString.h +17 -0
- data/platform/shared/rhoruby/api/RhoRuby.h +29 -0
- data/platform/shared/rhoruby/api/RhoRubySingletone.h +19 -0
- data/platform/shared/rhoruby/api/SmartPointer.h +27 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.cpp +54 -0
- data/platform/shared/rhoruby/impl/MutableArrayImpl.h +48 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.cpp +44 -0
- data/platform/shared/rhoruby/impl/MutableBooleanImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableFloatImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.cpp +64 -0
- data/platform/shared/rhoruby/impl/MutableHashImpl.h +49 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.cpp +41 -0
- data/platform/shared/rhoruby/impl/MutableIntegerImpl.h +44 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.cpp +52 -0
- data/platform/shared/rhoruby/impl/MutableStringImpl.h +44 -0
- data/platform/shared/rhoruby/impl/NilImpl.cpp +23 -0
- data/platform/shared/rhoruby/impl/NilImpl.h +32 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.cpp +77 -0
- data/platform/shared/rhoruby/impl/ObjectImpl.h +53 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.cpp +28 -0
- data/platform/shared/rhoruby/impl/RefCountedObjectImpl.h +33 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.cpp +799 -0
- data/platform/shared/rhoruby/impl/RhoRubyImpl.h +81 -0
- data/platform/shared/rhoruby/impl/RhoRubySingletone.cpp +20 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.cpp +32 -0
- data/platform/shared/rhoruby/impl/RubyServerResponceImpl.h +21 -0
- data/platform/shared/ruby/android/ruby/config.h +55 -3
- data/platform/shared/ruby/error.c +1 -1
- data/platform/shared/ruby/ext/rho/rhoruby.c +60 -7
- data/platform/shared/ruby/ext/rho/rhoruby.h +3 -0
- data/platform/shared/rubyext/NativeToolbarExt.h +1 -0
- data/platform/uwp/rhodes/rhodes_TemporaryKey.pfx +0 -0
- data/platform/uwp/rhoruntime/common/RhoClassFactory.h +6 -0
- data/platform/win32/RhoSimulator/Qt5Core.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Gui.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Multimedia.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Network.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Positioning.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5PrintSupport.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Qml.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Quick.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5QuickWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5SerialPort.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Svg.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebChannel.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngine.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineCore.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5WebEngineWidgets.dll +0 -0
- data/platform/win32/RhoSimulator/Qt5Widgets.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebEngineProcess.exe +0 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_wasapi.dll +0 -0
- data/platform/win32/RhoSimulator/audio/qtaudio_windows.dll +0 -0
- data/platform/win32/RhoSimulator/bearer/qgenericbearer.dll +0 -0
- data/platform/win32/RhoSimulator/iconengines/qsvgicon.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qicns.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qico.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qsvg.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtga.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qtiff.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwbmp.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qwebp.dll +0 -0
- data/platform/win32/RhoSimulator/libEGL.dll +0 -0
- data/platform/win32/RhoSimulator/libGLESV2.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/dsengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/qtmedia_audioengine.dll +0 -0
- data/platform/win32/RhoSimulator/mediaservice/wmfengine.dll +0 -0
- data/platform/win32/RhoSimulator/platforms/qwindows.dll +0 -0
- data/platform/win32/RhoSimulator/playlistformats/qtmultimedia_m3u.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_geoclue.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_positionpoll.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_serialnmea.dll +0 -0
- data/platform/win32/RhoSimulator/position/qtposition_winrt.dll +0 -0
- data/platform/win32/RhoSimulator/printsupport/windowsprintersupport.dll +0 -0
- data/platform/wm/build/wm.rake +110 -5
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +30 -0
- data/platform/wm/rhodes/rho/common/RhoClassFactory.h +6 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +3 -0
- data/platform/wm/rubylib/rubylib.vcxproj +6 -0
- data/platform/wp8/rhoruntime/common/RhoClassFactory.h +6 -0
- data/rakefile.rb +14 -10
- data/res/build-tools/iphonesim/build/Release/iphonesim_8 +23 -15
- data/res/build-tools/maven/LICENSE +18 -89
- data/res/build-tools/maven/NOTICE +1 -1
- data/res/build-tools/maven/README.txt +12 -12
- data/res/build-tools/maven/bin/m2.conf +2 -2
- data/res/build-tools/maven/bin/mvn +122 -125
- data/res/build-tools/maven/bin/mvn.cmd +205 -0
- data/res/build-tools/maven/bin/mvnDebug +10 -176
- data/res/build-tools/maven/bin/mvnDebug.cmd +33 -0
- data/res/build-tools/maven/bin/mvnyjp +9 -181
- data/res/build-tools/maven/boot/plexus-classworlds-2.6.0.jar +0 -0
- data/res/build-tools/maven/conf/logging/simplelogger.properties +8 -1
- data/res/build-tools/maven/conf/settings.xml +1 -1
- data/res/build-tools/maven/conf/toolchains.xml +103 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations-1.14.jar +0 -0
- data/res/build-tools/maven/lib/animal-sniffer-annotations.license +14 -0
- data/res/build-tools/maven/lib/checker-compat-qual-2.0.0.jar +0 -0
- data/res/build-tools/maven/lib/checker-compat-qual.license +14 -0
- data/res/build-tools/maven/lib/commons-cli-1.4.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.5.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang3-3.8.1.jar +0 -0
- data/res/build-tools/maven/lib/error_prone_annotations-2.1.3.jar +0 -0
- data/res/build-tools/maven/lib/guava-25.1-android.jar +0 -0
- data/res/build-tools/maven/lib/guice-4.2.1-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/j2objc-annotations-1.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-1.17.1.jar +0 -0
- data/res/build-tools/maven/lib/jansi-native/README.txt +7 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/freebsd64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux32/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/linux64/libjansi.so +0 -0
- data/res/build-tools/maven/lib/jansi-native/osx/libjansi.jnilib +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows32/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jansi-native/windows64/jansi.dll +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/jcl-over-slf4j.license +14 -0
- data/res/build-tools/maven/lib/jsr250-api.license +383 -405
- data/res/build-tools/maven/lib/jsr305-3.0.2.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-builder-support-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-core-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-api-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-connector-basic-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-impl-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-spi-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-transport-wagon-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-resolver-util-1.3.3.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-shared-utils-3.2.1.jar +0 -0
- data/res/build-tools/maven/lib/maven-slf4j-provider-3.6.1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject.license +210 -261
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.3.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus.license +210 -261
- data/res/build-tools/maven/lib/plexus-component-annotations-1.7.1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.25.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.4.jar +0 -0
- data/res/build-tools/maven/lib/plexus-utils-3.2.0.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.25.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api.license +10 -186
- data/res/build-tools/maven/lib/wagon-file-3.3.2.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-3.3.2-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-provider-api-3.3.2.jar +0 -0
- data/res/generators/rhogen.rb +150 -0
- data/res/generators/templates/application/AndroidManifest.erb +13 -4
- data/res/generators/templates/application/build.yml +9 -0
- data/res/generators/templates/application/nodejs_build.yml +1 -1
- data/res/generators/templates/application/resources/android/res/xml/network_security_config.xml +7 -0
- data/res/generators/templates/application/rhoconfig.txt +13 -6
- data/res/generators/templates/application/rhoconfig_rubynode.txt +139 -0
- data/res/generators/templates/application/rubynodejs_build.yml +95 -0
- data/res/generators/templates/extension/extensions/montana/ext/platform/android/Rakefile +19 -0
- data/res/generators/templates/iphone_project/root/Entitlements.plist +1 -1
- data/res/generators/templates/iphone_project/root/Info.plist +1 -3
- data/res/generators/templates/iphone_project/root/rhorunner_development.entitlements +1 -1
- data/res/generators/templates/iphone_project/root/rhorunner_production.entitlements +1 -1
- data/rhodes.gemspec +2 -2
- data/version +1 -1
- metadata +244 -71
- data/res/build-tools/maven/bin/mvn.bat +0 -197
- data/res/build-tools/maven/bin/mvnDebug.bat +0 -200
- data/res/build-tools/maven/boot/plexus-classworlds-2.5.2.jar +0 -0
- data/res/build-tools/maven/lib/aether-api-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-api.license +0 -261
- data/res/build-tools/maven/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-connector-basic.license +0 -261
- data/res/build-tools/maven/lib/aether-impl-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-impl.license +0 -261
- data/res/build-tools/maven/lib/aether-spi-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-spi.license +0 -261
- data/res/build-tools/maven/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-transport-wagon.license +0 -261
- data/res/build-tools/maven/lib/aether-util-1.0.0.v20140518.jar +0 -0
- data/res/build-tools/maven/lib/aether-util.license +0 -261
- data/res/build-tools/maven/lib/cdi-api.license +0 -445
- data/res/build-tools/maven/lib/commons-cli-1.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-io-2.2.jar +0 -0
- data/res/build-tools/maven/lib/commons-lang-2.6.jar +0 -0
- data/res/build-tools/maven/lib/guava-18.0.jar +0 -0
- data/res/build-tools/maven/lib/jsoup-1.7.2.jar +0 -0
- data/res/build-tools/maven/lib/jsoup.license +0 -66
- data/res/build-tools/maven/lib/maven-aether-provider-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-aether-provider.license +0 -202
- data/res/build-tools/maven/lib/maven-artifact-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-artifact.license +0 -202
- data/res/build-tools/maven/lib/maven-compat-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-compat.license +0 -202
- data/res/build-tools/maven/lib/maven-core-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-core.license +0 -202
- data/res/build-tools/maven/lib/maven-embedder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-embedder.license +0 -202
- data/res/build-tools/maven/lib/maven-model-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-model-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-model.license +0 -202
- data/res/build-tools/maven/lib/maven-plugin-api-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-plugin-api.license +0 -202
- data/res/build-tools/maven/lib/maven-repository-metadata-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-repository-metadata.license +0 -202
- data/res/build-tools/maven/lib/maven-settings-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder-3.2.5.jar +0 -0
- data/res/build-tools/maven/lib/maven-settings-builder.license +0 -202
- data/res/build-tools/maven/lib/maven-settings.license +0 -202
- data/res/build-tools/maven/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
- data/res/build-tools/maven/lib/plexus-cipher.license +0 -445
- data/res/build-tools/maven/lib/plexus-component-annotations-1.5.5.jar +0 -0
- data/res/build-tools/maven/lib/plexus-interpolation-1.21.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher-1.3.jar +0 -0
- data/res/build-tools/maven/lib/plexus-sec-dispatcher.license +0 -445
- data/res/build-tools/maven/lib/plexus-utils-3.0.20.jar +0 -0
- data/res/build-tools/maven/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-api-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple-1.7.5.jar +0 -0
- data/res/build-tools/maven/lib/slf4j-simple.license +0 -190
- data/res/build-tools/maven/lib/wagon-file-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-file.license +0 -202
- data/res/build-tools/maven/lib/wagon-http-2.8-shaded.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-http-shared.license +0 -202
- data/res/build-tools/maven/lib/wagon-http.license +0 -202
- data/res/build-tools/maven/lib/wagon-provider-api-2.8.jar +0 -0
- data/res/build-tools/maven/lib/wagon-provider-api.license +0 -202
@@ -23,23 +23,30 @@ public class CameraEclair extends CameraObject implements ICameraObject {
|
|
23
23
|
getPropertiesMap().put("cameraType", "back");
|
24
24
|
getPropertiesMap().put("compressionFormat", "jpg");
|
25
25
|
getPropertiesMap().put("outputFormat", "image");
|
26
|
+
if (hasPermission()) {
|
27
|
+
openCamera();
|
28
|
+
Camera.Parameters params = getCamera().getParameters();
|
29
|
+
closeCamera();
|
26
30
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
ISize curSize = new CameraSize(size);
|
36
|
-
if ((maxSize == null) || (curSize.D2() > maxSize.D2())) {
|
37
|
-
maxSize = curSize;
|
31
|
+
mSupportedPictureSizes = params.getSupportedPictureSizes();
|
32
|
+
ISize maxSize = null;
|
33
|
+
for(android.hardware.Camera.Size size: mSupportedPictureSizes) {
|
34
|
+
Logger.D(TAG, "Possible picture size: " + size.width + "X" + size.height);
|
35
|
+
ISize curSize = new CameraSize(size);
|
36
|
+
if ((maxSize == null) || (curSize.D2() > maxSize.D2())) {
|
37
|
+
maxSize = curSize;
|
38
|
+
}
|
38
39
|
}
|
39
|
-
}
|
40
40
|
|
41
|
-
|
42
|
-
|
41
|
+
getPropertiesMap().put("maxWidth", String.valueOf(maxSize.getWidth()));
|
42
|
+
getPropertiesMap().put("maxHeight", String.valueOf(maxSize.getHeight()));
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
mSupportedPictureSizes = new ArrayList<Camera.Size>();
|
46
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
47
|
+
getPropertiesMap().put("maxWidth", String.valueOf(0));
|
48
|
+
getPropertiesMap().put("maxHeight", String.valueOf(0));
|
49
|
+
}
|
43
50
|
}
|
44
51
|
|
45
52
|
@Override
|
@@ -162,6 +169,10 @@ public class CameraEclair extends CameraObject implements ICameraObject {
|
|
162
169
|
}
|
163
170
|
|
164
171
|
protected boolean hasAutoFocus() {
|
172
|
+
if (!hasPermission()) {
|
173
|
+
Logger.D(TAG, "Application has no permission to Camera access !!!");
|
174
|
+
return false;
|
175
|
+
}
|
165
176
|
String focusMode = getCamera().getParameters().getFocusMode();
|
166
177
|
boolean supported = false;
|
167
178
|
if (focusMode != null) {
|
data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java
CHANGED
@@ -9,6 +9,13 @@ import android.os.Environment;
|
|
9
9
|
|
10
10
|
import com.rhomobile.rhodes.Logger;
|
11
11
|
|
12
|
+
|
13
|
+
import android.support.v4.content.PermissionChecker;
|
14
|
+
import android.support.v4.content.ContextCompat;
|
15
|
+
import android.content.pm.PackageManager;
|
16
|
+
import com.rhomobile.rhodes.RhodesActivity;
|
17
|
+
import android.Manifest;
|
18
|
+
|
12
19
|
public class CameraGingerbread extends CameraEclair implements ICameraObject {
|
13
20
|
private static final String TAG = CameraGingerbread.class.getSimpleName();
|
14
21
|
|
@@ -33,38 +40,49 @@ public class CameraGingerbread extends CameraEclair implements ICameraObject {
|
|
33
40
|
getPropertiesMap().put("cameraType", "unknown");
|
34
41
|
break;
|
35
42
|
}
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
maxSize
|
43
|
+
|
44
|
+
if (hasPermission()) {
|
45
|
+
openCamera();
|
46
|
+
Camera.Parameters params = getCamera().getParameters();
|
47
|
+
closeCamera();
|
48
|
+
|
49
|
+
List<android.hardware.Camera.Size> listSize = params.getSupportedPictureSizes();
|
50
|
+
ISize maxSize = null;
|
51
|
+
for(android.hardware.Camera.Size curSize: listSize) {
|
52
|
+
Logger.D(TAG, "Possible picture size: " + curSize.width + "X" + curSize.height);
|
53
|
+
if ((maxSize == null) || (curSize.width > maxSize.getWidth())) {
|
54
|
+
maxSize = new CameraSize(curSize);
|
55
|
+
}
|
47
56
|
}
|
48
|
-
}
|
49
57
|
|
50
|
-
|
51
|
-
|
58
|
+
getPropertiesMap().put("maxWidth", String.valueOf(maxSize.getWidth()));
|
59
|
+
getPropertiesMap().put("maxHeight", String.valueOf(maxSize.getHeight()));
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
63
|
+
getPropertiesMap().put("maxWidth", String.valueOf(0));
|
64
|
+
getPropertiesMap().put("maxHeight", String.valueOf(0));
|
65
|
+
}
|
52
66
|
}
|
53
|
-
|
67
|
+
|
54
68
|
|
55
69
|
@Override synchronized
|
56
|
-
protected void openCamera() {
|
57
|
-
if (
|
58
|
-
|
70
|
+
protected void openCamera() {
|
71
|
+
if (hasPermission()) {
|
72
|
+
if (mCameraUsers == 0) {
|
73
|
+
setCamera(Camera.open(getCameraIndex()));
|
74
|
+
}
|
75
|
+
mCameraUsers++;
|
59
76
|
}
|
60
|
-
mCameraUsers++;
|
61
77
|
}
|
62
78
|
|
63
79
|
@Override synchronized
|
64
80
|
protected void closeCamera() {
|
65
|
-
|
66
|
-
|
67
|
-
|
81
|
+
if (hasPermission()) {
|
82
|
+
mCameraUsers--;
|
83
|
+
if (mCameraUsers == 0) {
|
84
|
+
getCamera().release();
|
85
|
+
}
|
68
86
|
}
|
69
87
|
}
|
70
88
|
|
@@ -102,21 +120,33 @@ public class CameraGingerbread extends CameraEclair implements ICameraObject {
|
|
102
120
|
}
|
103
121
|
getCamera().setParameters(params);
|
104
122
|
getCamera().takePicture(null, null, new TakePictureCallback(previewActivity));
|
105
|
-
|
123
|
+
|
106
124
|
// commented the code because auto focus logic is moved as soon as camera previews not on button click
|
107
125
|
/*if (hasAutoFocus()) {
|
108
126
|
getCamera().autoFocus(new Camera.AutoFocusCallback() {
|
109
127
|
public void onAutoFocus(boolean success, Camera camera) {
|
110
|
-
|
128
|
+
|
111
129
|
openCamera();
|
112
130
|
getCamera().takePicture(null, null, new TakePictureCallback(previewActivity));
|
113
131
|
closeCamera();
|
114
132
|
}
|
115
133
|
});
|
116
|
-
|
134
|
+
|
117
135
|
} else {
|
118
136
|
getCamera().takePicture(null, null, new TakePictureCallback(previewActivity));
|
119
137
|
}*/
|
120
138
|
closeCamera();
|
121
139
|
}
|
140
|
+
|
141
|
+
public boolean hasPermission() {
|
142
|
+
boolean res = (PermissionChecker.checkSelfPermission(RhodesActivity.getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED);
|
143
|
+
if (!res) {
|
144
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
145
|
+
}
|
146
|
+
//else {
|
147
|
+
// Logger.E(TAG, "Application has permission to Camera access !!!");
|
148
|
+
//}
|
149
|
+
return res;
|
150
|
+
}
|
151
|
+
|
122
152
|
}
|
@@ -450,22 +450,29 @@ public class CameraObject extends CameraBase implements ICameraObject {
|
|
450
450
|
getPropertiesMap().put("useRealBitmapResize", "true");
|
451
451
|
getPropertiesMap().put("useRotationBitmapByEXIF", "true");
|
452
452
|
getPropertiesMap().put("saveToDeviceGallery", "false");
|
453
|
-
|
454
|
-
|
455
|
-
|
453
|
+
if (hasPermission()) {
|
454
|
+
openCamera();
|
455
|
+
Camera.Parameters params = getCamera().getParameters();
|
456
|
+
closeCamera();
|
456
457
|
|
457
|
-
|
458
|
-
|
458
|
+
getPropertiesMap().put("maxWidth", String.valueOf(params.getPictureSize().width));
|
459
|
+
getPropertiesMap().put("maxHeight", String.valueOf(params.getPictureSize().height));
|
459
460
|
|
460
|
-
|
461
|
-
|
462
|
-
|
461
|
+
// default desired size not specified in documentation and XML !!!
|
462
|
+
//getPropertiesMap().put("desiredWidth", "640");
|
463
|
+
//getPropertiesMap().put("desiredHeight", "480");
|
464
|
+
}
|
465
|
+
else {
|
466
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
467
|
+
getPropertiesMap().put("maxWidth", String.valueOf(0));
|
468
|
+
getPropertiesMap().put("maxHeight", String.valueOf(0));
|
469
|
+
}
|
463
470
|
getPropertiesMap().put("desiredWidth", "0");
|
464
471
|
getPropertiesMap().put("desiredHeight", "0");
|
465
472
|
|
466
473
|
storageDir = new File(Environment.getExternalStorageDirectory(), "RhoImages");
|
467
474
|
createRhoCacheFolder();
|
468
|
-
|
475
|
+
|
469
476
|
}
|
470
477
|
|
471
478
|
public void createRhoCacheFolder(){
|
@@ -637,6 +644,14 @@ public class CameraObject extends CameraBase implements ICameraObject {
|
|
637
644
|
|
638
645
|
@Override
|
639
646
|
public void takePicture(Map<String, String> propertyMap, IMethodResult result) {
|
647
|
+
if (!hasPermission()) {
|
648
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
649
|
+
HashMap<String, Object> inResultMap = new HashMap<String,Object>();
|
650
|
+
inResultMap.put("message", "No CAMERA permission !");
|
651
|
+
inResultMap.put("status", "error");
|
652
|
+
result.set(inResultMap);
|
653
|
+
return;
|
654
|
+
}
|
640
655
|
|
641
656
|
CURRENT_SCREEN_AUTO_ROTATE_MODE = RhodesActivity.safeGetInstance().getScreenAutoRotateMode();
|
642
657
|
CURRENT_FULL_SCREEN_MODE = RhodesActivity.safeGetInstance().getFullScreenMode();
|
@@ -822,6 +837,10 @@ public class CameraObject extends CameraBase implements ICameraObject {
|
|
822
837
|
}
|
823
838
|
|
824
839
|
private boolean hasAutoFocus() {
|
840
|
+
if (!hasPermission()) {
|
841
|
+
Logger.E(TAG, "Application has no permission to Camera access !!!");
|
842
|
+
return false;
|
843
|
+
}
|
825
844
|
String focusMode = getCamera().getParameters().getFocusMode();
|
826
845
|
boolean supported = false;
|
827
846
|
if (focusMode != null) {
|
@@ -831,4 +850,10 @@ public class CameraObject extends CameraBase implements ICameraObject {
|
|
831
850
|
|
832
851
|
}
|
833
852
|
|
853
|
+
public boolean hasPermission() {
|
854
|
+
//Logger.E(TAG, "Application has permission to Camera access DAFAULT !!!");
|
855
|
+
return true;
|
856
|
+
}
|
857
|
+
|
858
|
+
|
834
859
|
}
|
@@ -33,20 +33,24 @@ ARGS = ["-I\"#{$curdir}/generated/jni\"",
|
|
33
33
|
OBJDIR_ARM = File.join(OBJDIR,'arm')
|
34
34
|
OBJDIR_x86 = File.join(OBJDIR,'x86')
|
35
35
|
OBJDIR_MIPS = File.join(OBJDIR,'mips')
|
36
|
+
OBJDIR_AARCH64 = File.join(OBJDIR,'aarch64')
|
36
37
|
|
37
38
|
SRC = get_sources File.join($curdir, 'ext_native.files')
|
38
39
|
|
39
40
|
OBJ_ARM = FileList.new(get_objects(SRC, OBJDIR_ARM))
|
40
41
|
OBJ_x86 = FileList.new(get_objects(SRC, OBJDIR_x86))
|
41
42
|
OBJ_MIPS = FileList.new(get_objects(SRC, OBJDIR_MIPS))
|
43
|
+
OBJ_AARCH64 = FileList.new(get_objects(SRC, OBJDIR_AARCH64))
|
42
44
|
|
43
45
|
TARGETDIR_ARM = File.join(TARGETDIR,'armeabi')
|
44
46
|
TARGETDIR_x86 = File.join(TARGETDIR,'x86')
|
45
47
|
TARGETDIR_MIPS = File.join(TARGETDIR,'mips')
|
48
|
+
TARGETDIR_AARCH64 = File.join(TARGETDIR,'aarch64')
|
46
49
|
|
47
50
|
TARGETLIB_ARM = File.join(TARGETDIR_ARM,TARGETLIB)
|
48
51
|
TARGETLIB_x86 = File.join(TARGETDIR_x86,TARGETLIB)
|
49
52
|
TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,TARGETLIB)
|
53
|
+
TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,TARGETLIB)
|
50
54
|
|
51
55
|
|
52
56
|
PRINTINGJAR = "print_jar"
|
@@ -65,6 +69,10 @@ namespace 'config' do
|
|
65
69
|
task :mips do
|
66
70
|
setup_ndk(ENV['ANDROID_NDK'],ENV['ANDROID_API_LEVEL'],'mips')
|
67
71
|
end
|
72
|
+
|
73
|
+
task :aarch64 do
|
74
|
+
setup_ndk(ENV['ANDROID_NDK'],ENV['ANDROID_API_LEVEL'],'aarch64')
|
75
|
+
end
|
68
76
|
end
|
69
77
|
|
70
78
|
puts "UGU #{TARGETDIR_x86.inspect}"
|
@@ -72,9 +80,11 @@ puts "UGU #{TARGETDIR_x86.inspect}"
|
|
72
80
|
directory TARGETDIR_ARM
|
73
81
|
directory TARGETDIR_x86
|
74
82
|
directory TARGETDIR_MIPS
|
83
|
+
directory TARGETDIR_AARCH64
|
75
84
|
directory OBJDIR_ARM
|
76
85
|
directory OBJDIR_x86
|
77
86
|
directory OBJDIR_MIPS
|
87
|
+
directory OBJDIR_AARCH64
|
78
88
|
|
79
89
|
|
80
90
|
rule '.o' => lambda {|obj| find_source(obj) } do |t|
|
@@ -86,6 +96,7 @@ end
|
|
86
96
|
task OBJ_ARM => OBJDIR_ARM
|
87
97
|
task OBJ_x86 => OBJDIR_x86
|
88
98
|
task OBJ_MIPS => OBJDIR_MIPS
|
99
|
+
task OBJ_AARCH64 => OBJDIR_AARCH64
|
89
100
|
|
90
101
|
def find_source(objfile)
|
91
102
|
base = File.basename(objfile, '.o')
|
@@ -111,6 +122,12 @@ file TARGETLIB_MIPS => TARGETDIR_MIPS do |t|
|
|
111
122
|
end
|
112
123
|
multitask TARGETLIB_MIPS => OBJ_MIPS
|
113
124
|
|
125
|
+
file TARGETLIB_AARCH64 => TARGETDIR_AARCH64 do |t|
|
126
|
+
Rake::Task["config:aarch64"].invoke
|
127
|
+
cc_ar t.name, OBJ_AARCH64 or raise "\e[31mCreating library failed: #{t.name}\e[0m"
|
128
|
+
end
|
129
|
+
multitask TARGETLIB_AARCH64 => OBJ_AARCH64
|
130
|
+
|
114
131
|
|
115
132
|
task :print_jar do
|
116
133
|
puts "START FILE LOOPING"
|
@@ -127,6 +144,7 @@ namespace 'arch' do
|
|
127
144
|
task :arm => [TARGETLIB_ARM, PRINTINGJAR]
|
128
145
|
task :x86 => [TARGETLIB_x86, PRINTINGJAR]
|
129
146
|
task :mips => [TARGETLIB_MIPS, PRINTINGJAR]
|
147
|
+
task :aarch64 => [TARGETLIB_AARCH64, PRINTINGJAR]
|
130
148
|
end
|
131
149
|
|
132
150
|
task :default => ["arch:arm", "arch:x86"]
|
@@ -212,10 +212,7 @@ public class Sensor extends SensorBase implements ISensor {
|
|
212
212
|
*/
|
213
213
|
private void sensorChanged(SensorEvent event) {
|
214
214
|
|
215
|
-
Map<String, Object> props = new HashMap<String, Object>();
|
216
|
-
double accel_x = event.values[0];
|
217
|
-
double accel_y = event.values[1];
|
218
|
-
double accel_z = event.values[2];
|
215
|
+
Map<String, Object> props = new HashMap<String, Object>();
|
219
216
|
|
220
217
|
int sensorType = event.sensor.getType();
|
221
218
|
long currentTimeMillis = System.currentTimeMillis();
|
@@ -224,6 +221,9 @@ public class Sensor extends SensorBase implements ISensor {
|
|
224
221
|
switch (sensorType)
|
225
222
|
{
|
226
223
|
case android.hardware.Sensor.TYPE_ACCELEROMETER:
|
224
|
+
double accel_x = event.values[0];
|
225
|
+
double accel_y = event.values[1];
|
226
|
+
double accel_z = event.values[2];
|
227
227
|
|
228
228
|
//Logger.D(TAG, ISensorSingleton.SENSOR_TYPE_ACCELEROMETER + ">>>" + mType + " [" + accel_x + ", " + accel_y + ", " + accel_z + "]");
|
229
229
|
|
@@ -58,21 +58,24 @@ end
|
|
58
58
|
OBJDIR_ARM = File.join(OBJDIR,'arm')
|
59
59
|
OBJDIR_x86 = File.join(OBJDIR,'x86')
|
60
60
|
OBJDIR_MIPS = File.join(OBJDIR,'mips')
|
61
|
-
|
61
|
+
OBJDIR_AARCH64 = File.join(OBJDIR,'aarch64')
|
62
62
|
|
63
63
|
SRC = get_sources File.join(SOURCELIST)
|
64
64
|
|
65
65
|
OBJ_ARM = FileList.new(get_objects(SRC, OBJDIR_ARM))
|
66
66
|
OBJ_x86 = FileList.new(get_objects(SRC, OBJDIR_x86))
|
67
67
|
OBJ_MIPS = FileList.new(get_objects(SRC, OBJDIR_MIPS))
|
68
|
+
OBJ_AARCH64 = FileList.new(get_objects(SRC, OBJDIR_AARCH64))
|
68
69
|
|
69
70
|
TARGETDIR_ARM = File.join(TARGETDIR,'armeabi')
|
70
71
|
TARGETDIR_x86 = File.join(TARGETDIR,'x86')
|
71
72
|
TARGETDIR_MIPS = File.join(TARGETDIR,'mips')
|
73
|
+
TARGETDIR_AARCH64 = File.join(TARGETDIR,'aarch64')
|
72
74
|
|
73
75
|
TARGETLIB_ARM = File.join(TARGETDIR_ARM,TARGETLIB)
|
74
76
|
TARGETLIB_x86 = File.join(TARGETDIR_x86,TARGETLIB)
|
75
77
|
TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,TARGETLIB)
|
78
|
+
TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,TARGETLIB)
|
76
79
|
|
77
80
|
cd '../../..'
|
78
81
|
|
@@ -88,14 +91,20 @@ namespace 'config' do
|
|
88
91
|
task :mips do
|
89
92
|
setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'mips')
|
90
93
|
end
|
94
|
+
|
95
|
+
task :aarch64 do
|
96
|
+
setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'aarch64')
|
97
|
+
end
|
91
98
|
end
|
92
99
|
|
93
100
|
directory TARGETDIR_ARM
|
94
101
|
directory TARGETDIR_x86
|
95
102
|
directory TARGETDIR_MIPS
|
103
|
+
directory TARGETDIR_AARCH64
|
96
104
|
directory OBJDIR_ARM
|
97
105
|
directory OBJDIR_x86
|
98
106
|
directory OBJDIR_MIPS
|
107
|
+
directory OBJDIR_AARCH64
|
99
108
|
|
100
109
|
rule '.o' => lambda {|obj| find_source(obj) } do |t|
|
101
110
|
abi = File.basename(File.dirname(t.name))
|
@@ -106,6 +115,7 @@ end
|
|
106
115
|
task OBJ_ARM => OBJDIR_ARM
|
107
116
|
task OBJ_x86 => OBJDIR_x86
|
108
117
|
task OBJ_MIPS => OBJDIR_MIPS
|
118
|
+
task OBJ_AARCH64 => OBJDIR_AARCH64
|
109
119
|
|
110
120
|
def find_source(objfile)
|
111
121
|
base = File.basename(objfile, '.o')
|
@@ -131,17 +141,25 @@ file TARGETLIB_MIPS => TARGETDIR_MIPS do |t|
|
|
131
141
|
end
|
132
142
|
multitask TARGETLIB_MIPS => OBJ_MIPS
|
133
143
|
|
144
|
+
file TARGETLIB_AARCH64 => TARGETDIR_AARCH64 do |t|
|
145
|
+
Rake::Task["config:aarch64"].invoke
|
146
|
+
cc_ar t.name, OBJ_AARCH64 or raise "\e[31mCreating library failed: #{t.name}\e[0m"
|
147
|
+
end
|
148
|
+
multitask TARGETLIB_AARCH64 => OBJ_AARCH64
|
149
|
+
|
134
150
|
|
135
151
|
namespace 'build' do
|
136
152
|
task :arm => OBJ_ARM
|
137
153
|
task :x86 => OBJ_x86
|
138
154
|
task :mips => OBJ_MIPS
|
155
|
+
task :aarch64 => OBJ_AARCH64
|
139
156
|
end
|
140
157
|
|
141
158
|
namespace 'arch' do
|
142
159
|
task :arm => TARGETLIB_ARM
|
143
160
|
task :x86 => TARGETLIB_x86
|
144
161
|
task :mips => TARGETLIB_MIPS
|
162
|
+
task :aarch64 => TARGETLIB_AARCH64
|
145
163
|
end
|
146
164
|
|
147
165
|
task :default => ["arch:arm"]
|
@@ -52,6 +52,7 @@ ARGS = ['-Iext/platform/android/generated/jni',
|
|
52
52
|
OBJDIR_ARM = File.join(OBJDIR,'arm')
|
53
53
|
OBJDIR_x86 = File.join(OBJDIR,'x86')
|
54
54
|
OBJDIR_MIPS = File.join(OBJDIR,'mips')
|
55
|
+
OBJDIR_AARCH64 = File.join(OBJDIR,'aarch64')
|
55
56
|
|
56
57
|
|
57
58
|
SRC = get_sources File.join(SOURCELIST)
|
@@ -59,14 +60,17 @@ SRC = get_sources File.join(SOURCELIST)
|
|
59
60
|
OBJ_ARM = FileList.new(get_objects(SRC, OBJDIR_ARM))
|
60
61
|
OBJ_x86 = FileList.new(get_objects(SRC, OBJDIR_x86))
|
61
62
|
OBJ_MIPS = FileList.new(get_objects(SRC, OBJDIR_MIPS))
|
63
|
+
OBJ_AARCH64 = FileList.new(get_objects(SRC, OBJDIR_AARCH64))
|
62
64
|
|
63
65
|
TARGETDIR_ARM = File.join(TARGETDIR,'armeabi')
|
64
66
|
TARGETDIR_x86 = File.join(TARGETDIR,'x86')
|
65
67
|
TARGETDIR_MIPS = File.join(TARGETDIR,'mips')
|
68
|
+
TARGETDIR_AARCH64 = File.join(TARGETDIR,'aarch64')
|
66
69
|
|
67
70
|
TARGETLIB_ARM = File.join(TARGETDIR_ARM,TARGETLIB)
|
68
71
|
TARGETLIB_x86 = File.join(TARGETDIR_x86,TARGETLIB)
|
69
72
|
TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,TARGETLIB)
|
73
|
+
TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,TARGETLIB)
|
70
74
|
|
71
75
|
cd '../../..'
|
72
76
|
|
@@ -82,14 +86,20 @@ namespace 'config' do
|
|
82
86
|
task :mips do
|
83
87
|
setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'mips')
|
84
88
|
end
|
89
|
+
|
90
|
+
task :aarch64 do
|
91
|
+
setup_ndk(ANDROID_NDK, ANDROID_API_LEVEL,'aarch64')
|
92
|
+
end
|
85
93
|
end
|
86
94
|
|
87
95
|
directory TARGETDIR_ARM
|
88
96
|
directory TARGETDIR_x86
|
89
97
|
directory TARGETDIR_MIPS
|
98
|
+
directory TARGETDIR_AARCH64
|
90
99
|
directory OBJDIR_ARM
|
91
100
|
directory OBJDIR_x86
|
92
101
|
directory OBJDIR_MIPS
|
102
|
+
directory OBJDIR_AARCH64
|
93
103
|
|
94
104
|
rule '.o' => lambda {|obj| find_source(obj) } do |t|
|
95
105
|
abi = File.basename(File.dirname(t.name))
|
@@ -100,6 +110,7 @@ end
|
|
100
110
|
task OBJ_ARM => OBJDIR_ARM
|
101
111
|
task OBJ_x86 => OBJDIR_x86
|
102
112
|
task OBJ_MIPS => OBJDIR_MIPS
|
113
|
+
task OBJ_AARCH64 => OBJDIR_AARCH64
|
103
114
|
|
104
115
|
def find_source(objfile)
|
105
116
|
base = File.basename(objfile, '.o')
|
@@ -125,17 +136,25 @@ file TARGETLIB_MIPS => TARGETDIR_MIPS do |t|
|
|
125
136
|
end
|
126
137
|
multitask TARGETLIB_MIPS => OBJ_MIPS
|
127
138
|
|
139
|
+
file TARGETLIB_AARCH64 => TARGETDIR_AARCH64 do |t|
|
140
|
+
Rake::Task["config:aarch64"].invoke
|
141
|
+
cc_ar t.name, OBJ_AARCH64 or raise "\e[31mCreating library failed: #{t.name}\e[0m"
|
142
|
+
end
|
143
|
+
multitask TARGETLIB_AARCH64 => OBJ_AARCH64
|
144
|
+
|
128
145
|
|
129
146
|
namespace 'build' do
|
130
147
|
task :arm => OBJ_ARM
|
131
148
|
task :x86 => OBJ_x86
|
132
149
|
task :mips => OBJ_MIPS
|
150
|
+
task :aarch64 => OBJ_AARCH64
|
133
151
|
end
|
134
152
|
|
135
153
|
namespace 'arch' do
|
136
154
|
task :arm => TARGETLIB_ARM
|
137
155
|
task :x86 => TARGETLIB_x86
|
138
156
|
task :mips => TARGETLIB_MIPS
|
157
|
+
task :aarch64 => TARGETLIB_AARCH64
|
139
158
|
end
|
140
159
|
|
141
160
|
task :default => ["arch:arm"]
|