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
@@ -19,6 +19,13 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java
|
|
19
19
|
platform/android/Rhodes/src/com/rhomobile/rhodes/PasswordDialog.java
|
20
20
|
platform/android/Rhodes/src/com/rhomobile/rhodes/RingtoneManager.java
|
21
21
|
platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java
|
22
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/SecurityTokenGenerator.java
|
23
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMain.java
|
24
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyArrayObjects.java
|
25
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyClassObject.java
|
26
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyObject.java
|
27
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubySingleton.java
|
28
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/RhoRubyTypes.java
|
22
29
|
platform/android/Rhodes/src/com/rhomobile/rhodes/api/IMethodResult.java
|
23
30
|
platform/android/Rhodes/src/com/rhomobile/rhodes/api/IRhoApiDefaultId.java
|
24
31
|
platform/android/Rhodes/src/com/rhomobile/rhodes/api/IRhoApiFactory.java
|
@@ -120,5 +127,6 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunction
|
|
120
127
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java
|
121
128
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java
|
122
129
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality11.java
|
130
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java
|
123
131
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java
|
124
132
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/OsVersionManager.java
|
@@ -39,6 +39,7 @@ require 'tempfile'
|
|
39
39
|
include FileUtils
|
40
40
|
|
41
41
|
USE_OWN_STLPORT = false
|
42
|
+
$rhodes_as_lib = false
|
42
43
|
#USE_TRACES = # see androidcommon.rb
|
43
44
|
|
44
45
|
def get_market_version(apilevel)
|
@@ -80,9 +81,14 @@ ANDROID_CAPS_ALWAYS_ENABLED = ['network_state']
|
|
80
81
|
|
81
82
|
def set_app_icon_android
|
82
83
|
|
84
|
+
if $rhodes_as_lib
|
85
|
+
puts "Skip building copy resources (not needed for aar library)"
|
86
|
+
return
|
87
|
+
end
|
88
|
+
|
83
89
|
res_path = File.join($app_path, 'resources', 'android', 'res')
|
84
90
|
if File.exists? res_path
|
85
|
-
# NEW resource - just copy it to res folder
|
91
|
+
# NEW resource - just copy it to res folder -->>
|
86
92
|
puts "add resources from application'sresource folder [#{res_path}] to [#{$tmpdir}]"
|
87
93
|
cp_r res_path, $tmpdir
|
88
94
|
|
@@ -149,6 +155,10 @@ def set_app_name_android(newname)
|
|
149
155
|
rm_rf $appres
|
150
156
|
cp_r $rhores, $appres
|
151
157
|
|
158
|
+
buildToolsVerMajor = $build_tools_ver.split('.')[0].to_i
|
159
|
+
canRenderNetworkSecurityConfig = (($found_api_level.to_i >= 24) && (buildToolsVerMajor>=24))
|
160
|
+
rm_rf File.join($appres, 'xml', 'network_security_config.xml') if(!canRenderNetworkSecurityConfig)
|
161
|
+
|
152
162
|
rhostrings = File.join($rhores, "values", "strings.xml")
|
153
163
|
appstrings = File.join($appres, "values", "strings.xml")
|
154
164
|
doc = REXML::Document.new(File.new(rhostrings))
|
@@ -156,6 +166,17 @@ def set_app_name_android(newname)
|
|
156
166
|
File.open(appstrings, "w") { |f| doc.write f }
|
157
167
|
end
|
158
168
|
|
169
|
+
def set_app_name_android_post(newname)
|
170
|
+
puts "set_app_name_post"
|
171
|
+
|
172
|
+
Dir.glob(File.join($appres, '**', 'strings.xml')).each do |res|
|
173
|
+
doc = REXML::Document.new(File.new(res))
|
174
|
+
doc.elements["resources/string[@name='app_name']"].text = newname
|
175
|
+
rm_rf res
|
176
|
+
File.open(res, "w") { |f| doc.write f }
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
159
180
|
|
160
181
|
def get_boolean(arg)
|
161
182
|
arg == 'true' or arg == 'yes' or arg == 'enabled' or arg == 'enable' or arg == '1'
|
@@ -443,7 +464,7 @@ def setup_ext_env( extpath, extname )
|
|
443
464
|
env["RHO_APP_DIR"] = $app_path
|
444
465
|
env["ANDROID_SDK"] = $androidsdkpath
|
445
466
|
env["ANDROID_NDK"] = $androidndkpath
|
446
|
-
env["ANDROID_API_LEVEL"] = $
|
467
|
+
env["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
447
468
|
env["RHO_ROOT"] = $startdir
|
448
469
|
env["BUILD_DIR"] ||= $startdir + "/platform/android/build"
|
449
470
|
env["RHO_INC"] = $appincdir
|
@@ -461,6 +482,30 @@ def setup_ext_env( extpath, extname )
|
|
461
482
|
env
|
462
483
|
end
|
463
484
|
|
485
|
+
def get_android_major_minor(version)
|
486
|
+
puts version
|
487
|
+
if version.include? '.' then
|
488
|
+
array_ver = []
|
489
|
+
array_ver = version.split('.')
|
490
|
+
if array_ver.length >= 2 then
|
491
|
+
$major_version = array_ver[0].to_i
|
492
|
+
$minor_version = array_ver[1].to_i
|
493
|
+
end
|
494
|
+
return
|
495
|
+
end
|
496
|
+
|
497
|
+
$major_version = version.to_i
|
498
|
+
end
|
499
|
+
|
500
|
+
def get_case_insensetive_property(property)
|
501
|
+
$app_config["android"].each do |x|
|
502
|
+
if (x[0].downcase == property.downcase)
|
503
|
+
return x[1]
|
504
|
+
end
|
505
|
+
end
|
506
|
+
return nil
|
507
|
+
end
|
508
|
+
|
464
509
|
namespace "config" do
|
465
510
|
task :set_android_platform do
|
466
511
|
$current_platform = "android"
|
@@ -500,15 +545,18 @@ namespace "config" do
|
|
500
545
|
end
|
501
546
|
end
|
502
547
|
|
503
|
-
$min_sdk_level =
|
504
|
-
$min_sdk_level =
|
548
|
+
$min_sdk_level = get_case_insensetive_property("minSDK") unless $app_config["android"].nil?
|
549
|
+
$min_sdk_level = get_case_insensetive_property("minSDK") if $min_sdk_level.nil? and not $config["android"].nil?
|
550
|
+
$min_sdk_level = get_case_insensetive_property("minSdkVer") if $min_sdk_level.nil?
|
505
551
|
$min_sdk_level = $min_sdk_level.to_i unless $min_sdk_level.nil?
|
506
552
|
$min_sdk_level = ANDROID_MIN_SDK_LEVEL if $min_sdk_level.nil?
|
507
553
|
|
508
|
-
|
509
|
-
$target_sdk_level =
|
510
|
-
$target_sdk_level =
|
554
|
+
|
555
|
+
$target_sdk_level = get_case_insensetive_property("targetSdk") unless $app_config["android"].nil?
|
556
|
+
$target_sdk_level = get_case_insensetive_property("targetSdk") if $target_sdk_level.nil? and not $config["android"].nil?
|
557
|
+
$target_sdk_level = get_case_insensetive_property("targetSdkVer") if $target_sdk_level.nil?
|
511
558
|
$target_sdk_level = $target_sdk_level.to_i unless $target_sdk_level.nil?
|
559
|
+
|
512
560
|
$target_sdk_level = ANDROID_SDK_LEVEL if $target_sdk_level.nil?
|
513
561
|
|
514
562
|
$max_sdk_level = $app_config["android"]["maxSDK"] unless $app_config["android"].nil?
|
@@ -531,6 +579,18 @@ namespace "config" do
|
|
531
579
|
#If user has mentioned version under android, then select that particular api level.
|
532
580
|
if $app_config["android"]["version"]
|
533
581
|
apilevel = AndroidTools.get_api_level $app_config["android"]["version"]
|
582
|
+
version = $app_config["android"]["version"]
|
583
|
+
$major_version = 0
|
584
|
+
$minor_version = 0
|
585
|
+
get_android_major_minor(version)
|
586
|
+
|
587
|
+
market_version = AndroidTools.get_market_version($target_sdk_level)
|
588
|
+
if market_version.nil?
|
589
|
+
apilevel = android_api_levels.last
|
590
|
+
else
|
591
|
+
apilevel = $target_sdk_level
|
592
|
+
end
|
593
|
+
|
534
594
|
if(!apilevel)
|
535
595
|
apilevel = AndroidTools.get_api_level ($app_config["android"]["version"] + ".0")
|
536
596
|
end
|
@@ -598,6 +658,7 @@ namespace "config" do
|
|
598
658
|
|
599
659
|
$rhores = File.join $androidpath, 'Rhodes','res'
|
600
660
|
$appres = File.join $tmpdir,'res'
|
661
|
+
$appres_flats = File.join $tmpdir,'flats'
|
601
662
|
$appassets = $srcdir
|
602
663
|
$applibs = File.join $tmpdir,'lib'
|
603
664
|
|
@@ -677,11 +738,13 @@ namespace "config" do
|
|
677
738
|
end
|
678
739
|
end
|
679
740
|
|
741
|
+
$aapt2 = nil
|
680
742
|
if build_tools_path
|
681
743
|
puts "Using Android SDK build-tools: #{build_tools_path}"
|
682
744
|
build_tools_path = File.join $androidsdkpath,'build-tools',build_tools_path
|
683
745
|
$dxjar = File.join(build_tools_path,'lib','dx.jar')
|
684
746
|
$aapt = File.join(build_tools_path, "aapt#{$exe_ext}")
|
747
|
+
$aapt2 = File.join(build_tools_path, "aapt2#{$exe_ext}")
|
685
748
|
else
|
686
749
|
$dxjar = File.join($androidsdkpath, "platforms", $androidplatform, "tools", "lib", "dx.jar")
|
687
750
|
$dxjar = File.join($androidsdkpath, "platform-tools", "lib", "dx.jar") unless File.exists? $dxjar
|
@@ -1173,6 +1236,53 @@ end
|
|
1173
1236
|
namespace "build" do
|
1174
1237
|
namespace "android" do
|
1175
1238
|
|
1239
|
+
task :rhodeslib_bundle, [:target_path] => ["config:set_android_platform", "config:common"] do |t, args|
|
1240
|
+
print_timestamp('build:android:rhodeslib_bundle START')
|
1241
|
+
target_path = args[:target_path]
|
1242
|
+
|
1243
|
+
$skip_build_rhodes_main = true
|
1244
|
+
$skip_build_extensions = true
|
1245
|
+
$skip_build_xmls = true
|
1246
|
+
$use_prebuild_data = true
|
1247
|
+
|
1248
|
+
Rake::Task['config:android'].invoke
|
1249
|
+
|
1250
|
+
appname = $app_config["name"] ? $app_config["name"] : "rhorunner"
|
1251
|
+
appname_fixed = appname.split(/[^a-zA-Z0-9]/).map { |w| w }.join("")
|
1252
|
+
|
1253
|
+
Rake::Task['build:android:rhobundle'].invoke
|
1254
|
+
|
1255
|
+
mkdir_p target_path if not File.exists? target_path
|
1256
|
+
|
1257
|
+
source_RhoBundle = $appassets
|
1258
|
+
|
1259
|
+
rm_rf File.join(target_path, "apps") if File.exists? File.join(target_path, "apps")
|
1260
|
+
rm_rf File.join(target_path, "db") if File.exists? File.join(target_path, "db")
|
1261
|
+
rm_rf File.join(target_path, "lib") if File.exists? File.join(target_path, "lib")
|
1262
|
+
rm_rf File.join(target_path, "hash") if File.exists? File.join(target_path, "hash")
|
1263
|
+
rm_rf File.join(target_path, "name") if File.exists? File.join(target_path, "name")
|
1264
|
+
rm_rf File.join(target_path, "rho.dat") if File.exists? File.join(target_path, "rho.dat")
|
1265
|
+
|
1266
|
+
cp_r File.join(source_RhoBundle, "apps"), target_path
|
1267
|
+
cp_r File.join(source_RhoBundle, "db"), target_path
|
1268
|
+
cp_r File.join(source_RhoBundle, "lib"), target_path
|
1269
|
+
cp_r File.join(source_RhoBundle, "hash"), target_path
|
1270
|
+
cp_r File.join(source_RhoBundle, "name"), target_path
|
1271
|
+
cp_r File.join(source_RhoBundle, "rho.dat"), target_path
|
1272
|
+
|
1273
|
+
print_timestamp('build:android:rhodeslib_bundle FINISH')
|
1274
|
+
end
|
1275
|
+
|
1276
|
+
task :rhodeslib_lib, [:target_path] => [:rhobundle] do |t, args|
|
1277
|
+
print_timestamp('build:android:rhodeslib_lib START')
|
1278
|
+
$rhodes_as_lib = true
|
1279
|
+
Rake::Task["package:android"].invoke
|
1280
|
+
target_path = args[:target_path]
|
1281
|
+
cp_r File.join($bindir, "#{$appname}-#{$app_config["version"]}.aar"), target_path
|
1282
|
+
print_timestamp('build:android:rhodeslib_lib FINISH')
|
1283
|
+
end
|
1284
|
+
|
1285
|
+
|
1176
1286
|
desc "Build RhoBundle for android"
|
1177
1287
|
task :rhobundle => ["config:android"] do
|
1178
1288
|
print_timestamp('build:android:rhobundle START')
|
@@ -1219,7 +1329,7 @@ namespace "build" do
|
|
1219
1329
|
ENV["RHO_APP_DIR"] = $app_path
|
1220
1330
|
ENV["ANDROID_SDK"] = $androidsdkpath
|
1221
1331
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1222
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1332
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1223
1333
|
ENV["RHO_ROOT"] = $startdir
|
1224
1334
|
ENV["BUILD_DIR"] ||= $startdir + "/platform/android/build"
|
1225
1335
|
ENV["RHO_INC"] = $appincdir
|
@@ -1276,6 +1386,8 @@ namespace "build" do
|
|
1276
1386
|
args << '--trace' if USE_TRACES
|
1277
1387
|
end
|
1278
1388
|
|
1389
|
+
#puts "builddata: " + builddata[1] + " args: " + args.to_s + " builddata0: " + builddata[0].to_s
|
1390
|
+
#puts ENV.to_s
|
1279
1391
|
cc_run(builddata[1], args, builddata[0], false, nil, USE_TRACES) or raise "Extension build failed: #{builddata[0]}"
|
1280
1392
|
else
|
1281
1393
|
currentdir = Dir.pwd()
|
@@ -1364,7 +1476,7 @@ namespace "build" do
|
|
1364
1476
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1365
1477
|
ENV['SOURCELIST'] = File.join($builddir, 'libsqlite_build.files')
|
1366
1478
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1367
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1479
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1368
1480
|
ENV["RHO_ROOT"] = $startdir
|
1369
1481
|
ENV["RHO_INC"] = $appincdir
|
1370
1482
|
ENV["TARGETPATH"] = File.dirname($libname["sqlite"])
|
@@ -1408,7 +1520,7 @@ namespace "build" do
|
|
1408
1520
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1409
1521
|
ENV['SOURCELIST'] = File.join($builddir, 'libcurl_build.files')
|
1410
1522
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1411
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1523
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1412
1524
|
ENV["RHO_ROOT"] = $startdir
|
1413
1525
|
ENV["RHO_INC"] = $appincdir
|
1414
1526
|
ENV["TARGETPATH"] = File.dirname($libname["curl"])
|
@@ -1446,11 +1558,12 @@ namespace "build" do
|
|
1446
1558
|
args << "-I\"#{srcdir}\""
|
1447
1559
|
args << "-I\"#{srcdir}/..\""
|
1448
1560
|
args << "-I\"#{srcdir}/../sqlite\""
|
1561
|
+
#args << "-I\"#{$startdir}/platform/android/Rhodes/jni/include\""
|
1449
1562
|
|
1450
1563
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1451
1564
|
ENV['SOURCELIST'] = File.join($builddir, 'libruby_build.files')
|
1452
1565
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1453
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1566
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1454
1567
|
ENV["RHO_ROOT"] = $startdir
|
1455
1568
|
ENV["RHO_INC"] = $appincdir
|
1456
1569
|
ENV["TARGETPATH"] = File.dirname($libname["ruby"])
|
@@ -1484,7 +1597,7 @@ namespace "build" do
|
|
1484
1597
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1485
1598
|
ENV['SOURCELIST'] = File.join($builddir, 'libjson_build.files')
|
1486
1599
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1487
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1600
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1488
1601
|
ENV["RHO_ROOT"] = $startdir
|
1489
1602
|
ENV["RHO_INC"] = $appincdir
|
1490
1603
|
ENV["TARGETPATH"] = File.dirname($libname["json"])
|
@@ -1517,7 +1630,7 @@ namespace "build" do
|
|
1517
1630
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1518
1631
|
ENV['SOURCELIST'] = File.join($builddir, 'librholog_build.files')
|
1519
1632
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1520
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1633
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1521
1634
|
ENV["RHO_ROOT"] = $startdir
|
1522
1635
|
ENV["RHO_INC"] = $appincdir
|
1523
1636
|
ENV["TARGETPATH"] = File.dirname($libname['rholog'])
|
@@ -1551,7 +1664,7 @@ namespace "build" do
|
|
1551
1664
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1552
1665
|
ENV['SOURCELIST'] = File.join($builddir, 'librhomain_build.files')
|
1553
1666
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1554
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1667
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1555
1668
|
ENV["RHO_ROOT"] = $startdir
|
1556
1669
|
ENV["RHO_INC"] = $appincdir
|
1557
1670
|
ENV["TARGETPATH"] = File.dirname($libname['rhomain'])
|
@@ -1586,7 +1699,7 @@ namespace "build" do
|
|
1586
1699
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1587
1700
|
ENV['SOURCELIST'] = File.join($builddir, 'librhocommon_build.files')
|
1588
1701
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1589
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1702
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1590
1703
|
ENV["RHO_ROOT"] = $startdir
|
1591
1704
|
ENV["RHO_INC"] = $appincdir
|
1592
1705
|
ENV["TARGETPATH"] = File.dirname($libname['rhocommon'])
|
@@ -1623,7 +1736,7 @@ namespace "build" do
|
|
1623
1736
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1624
1737
|
ENV['SOURCELIST'] = File.join($builddir, 'librhodb_build.files')
|
1625
1738
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1626
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1739
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1627
1740
|
ENV["RHO_ROOT"] = $startdir
|
1628
1741
|
ENV["RHO_INC"] = $appincdir
|
1629
1742
|
ENV["TARGETPATH"] = File.dirname($libname['rhodb'])
|
@@ -1658,7 +1771,7 @@ namespace "build" do
|
|
1658
1771
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1659
1772
|
ENV['SOURCELIST'] = File.join($builddir, 'librhosync_build.files')
|
1660
1773
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1661
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1774
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1662
1775
|
ENV["RHO_ROOT"] = $startdir
|
1663
1776
|
ENV["RHO_INC"] = $appincdir
|
1664
1777
|
ENV["TARGETPATH"] = File.dirname($libname['rhosync'])
|
@@ -1769,7 +1882,7 @@ namespace "build" do
|
|
1769
1882
|
ENV['SOURCEPATH'] = File.join($androidpath,'..','..')
|
1770
1883
|
ENV['SOURCELIST'] = File.join($builddir, 'librhodes_build.files')
|
1771
1884
|
ENV["ANDROID_NDK"] = $androidndkpath
|
1772
|
-
ENV["ANDROID_API_LEVEL"] = $
|
1885
|
+
ENV["ANDROID_API_LEVEL"] = $min_sdk_level.to_s
|
1773
1886
|
ENV["RHO_ROOT"] = $startdir
|
1774
1887
|
ENV["RHO_INC"] = $appincdir
|
1775
1888
|
ENV["TARGETPATH"] = File.join $app_builddir, 'librhodes', 'lib'
|
@@ -1885,7 +1998,7 @@ namespace "build" do
|
|
1885
1998
|
|
1886
1999
|
version = version["major"]*1000000 + version["minor"]*10000 + version["patch"]*100 + version["build"]
|
1887
2000
|
|
1888
|
-
usesPermissions = ['android.permission.INTERNET', 'android.permission.PERSISTENT_ACTIVITY', 'android.permission.WAKE_LOCK']
|
2001
|
+
usesPermissions = ['android.permission.RECEIVE_BOOT_COMPLETED', 'android.permission.INTERNET', 'android.permission.PERSISTENT_ACTIVITY', 'android.permission.WAKE_LOCK']
|
1889
2002
|
$app_config["capabilities"].each do |cap|
|
1890
2003
|
cap = ANDROID_PERMISSIONS[cap]
|
1891
2004
|
next if cap.nil?
|
@@ -1920,6 +2033,10 @@ namespace "build" do
|
|
1920
2033
|
generator.hardwareAcceleration = true if $app_config["capabilities"].index('hardware_acceleration')
|
1921
2034
|
generator.apikey = $gapikey if $gapikey
|
1922
2035
|
generator.debuggable = $debug
|
2036
|
+
generator.buildSdkVer = $found_api_level
|
2037
|
+
generator.buildToolsVer = $build_tools_ver
|
2038
|
+
generator.androidVerMaj = $major_version
|
2039
|
+
generator.androidVerMin = $minor_version
|
1923
2040
|
|
1924
2041
|
generator.addUriParams $uri_scheme, $uri_host, $uri_path_prefix
|
1925
2042
|
|
@@ -2034,6 +2151,8 @@ namespace "build" do
|
|
2034
2151
|
end
|
2035
2152
|
end
|
2036
2153
|
|
2154
|
+
set_app_name_android_post($appname)
|
2155
|
+
|
2037
2156
|
#copy icon after extension resources in case it overwrites them (like rhoelementsext...)
|
2038
2157
|
set_app_icon_android
|
2039
2158
|
|
@@ -2047,11 +2166,21 @@ namespace "build" do
|
|
2047
2166
|
mkdir_p File.join($applibs,'armeabi')
|
2048
2167
|
mkdir_p File.join($applibs,'armeabi-v7a')
|
2049
2168
|
mkdir_p File.join($applibs,'x86')
|
2169
|
+
mkdir_p File.join($applibs,'arm64-v8a')
|
2170
|
+
|
2050
2171
|
# Add .so libraries
|
2051
2172
|
Dir.glob($app_builddir + "/**/lib*.so").each do |lib|
|
2052
2173
|
arch = File.basename(File.dirname(lib))
|
2053
2174
|
file = File.basename(lib)
|
2175
|
+
arch = 'arm64-v8a' if arch == "aarch64"
|
2054
2176
|
cp_r lib, File.join($applibs,arch,file)
|
2177
|
+
|
2178
|
+
localabi = arch
|
2179
|
+
localabi = "armeabi-v7a" if arch == "armeabi"
|
2180
|
+
llvm_stl = File.join($androidndkpath, "sources", "cxx-stl", "llvm-libc++", "libs", localabi, "libc++_shared.so")
|
2181
|
+
if File.exists? llvm_stl
|
2182
|
+
cp_r llvm_stl, File.join($applibs,arch)
|
2183
|
+
end
|
2055
2184
|
end
|
2056
2185
|
$ext_android_additional_lib.each do |lib|
|
2057
2186
|
arch = File.basename(File.dirname(lib))
|
@@ -2169,12 +2298,57 @@ namespace "build" do
|
|
2169
2298
|
|
2170
2299
|
puts "Generate initial R.java at #{$app_rjava_dir}"
|
2171
2300
|
|
2172
|
-
|
2173
|
-
|
2301
|
+
if ($rhodes_as_lib)
|
2302
|
+
puts $appres.to_s
|
2303
|
+
puts $app_rjava_dir.to_s
|
2304
|
+
|
2305
|
+
mkdir_p $appres_flats
|
2306
|
+
|
2307
|
+
Dir.glob(File.join($appres,'**','*.*')) do |filepath|
|
2308
|
+
args = ["compile", PathToWindowsWay(filepath), "-o", PathToWindowsWay($appres_flats)]
|
2309
|
+
args << '-v' if USE_TRACES
|
2310
|
+
Jake.run($aapt2, args)
|
2311
|
+
end
|
2312
|
+
|
2313
|
+
flat_args = []
|
2314
|
+
Dir.glob(File.join($appres_flats,'**','*.flat')) do |filepath|
|
2315
|
+
flat_args << PathToWindowsWay(filepath)
|
2316
|
+
end
|
2317
|
+
|
2318
|
+
FormatManifestToAapt2Compat($appmanifest)
|
2319
|
+
|
2320
|
+
args =
|
2321
|
+
[
|
2322
|
+
"link",
|
2323
|
+
"-o", PathToWindowsWay(File.join($bindir, "_tmp.aar")),
|
2324
|
+
"-I", PathToWindowsWay($androidjar)
|
2325
|
+
]
|
2326
|
+
args += flat_args
|
2327
|
+
args +=
|
2328
|
+
[
|
2329
|
+
"--manifest", PathToWindowsWay($appmanifest),
|
2330
|
+
"-A", PathToWindowsWay($appassets),
|
2331
|
+
"--java", PathToWindowsWay($app_rjava_dir),
|
2332
|
+
"--output-text-symbols", PathToWindowsWay(File.join($app_rjava_dir, 'R.txt'))
|
2333
|
+
]
|
2334
|
+
#args += AndroidTools::MavenDepsExtractor.instance.aapt_args
|
2335
|
+
else
|
2336
|
+
|
2337
|
+
args = ["package", "-f", "-M", $appmanifest, "-S", $appres, "-A", $appassets, "-I", $androidjar, "-J", $app_rjava_dir]
|
2338
|
+
args += AndroidTools::MavenDepsExtractor.instance.aapt_args
|
2339
|
+
end
|
2174
2340
|
|
2175
2341
|
args << '-v' if USE_TRACES
|
2176
2342
|
|
2177
|
-
|
2343
|
+
if ($rhodes_as_lib)
|
2344
|
+
require 'nokogiri'
|
2345
|
+
FormatManifestToAarCompat($appmanifest)
|
2346
|
+
Jake.run($aapt2, args)
|
2347
|
+
cp_r File.join($app_rjava_dir, 'com', $vendor, $appname, 'R.java'), File.join($app_rjava_dir, 'R.java')
|
2348
|
+
rm_rf File.join($app_rjava_dir, 'com', $vendor, $appname, 'R.java')
|
2349
|
+
else
|
2350
|
+
Jake.run($aapt, args)
|
2351
|
+
end
|
2178
2352
|
|
2179
2353
|
raise 'Error in AAPT: R.java' unless $?.success?
|
2180
2354
|
|
@@ -2489,9 +2663,139 @@ namespace "build" do
|
|
2489
2663
|
end
|
2490
2664
|
end
|
2491
2665
|
|
2666
|
+
def FormatManifestToAarCompat(path)
|
2667
|
+
doc = File.open(path) { |f| Nokogiri::XML(f) }
|
2668
|
+
root = doc.xpath("//manifest/*")
|
2669
|
+
application = root.xpath("//application/*")
|
2670
|
+
|
2671
|
+
doc2 = doc.xpath("//manifest")
|
2672
|
+
doc2[0].remove_attribute("versionCode")
|
2673
|
+
doc2[0].remove_attribute("installLocation")
|
2674
|
+
doc2[0]["xmlns:tools"] = "http://schemas.android.com/tools"
|
2675
|
+
|
2676
|
+
root.each do |node|
|
2677
|
+
node["tools:node"] = "merge" if node.name.to_s == 'uses-permission'
|
2678
|
+
node["tools:node"] = "merge" if node.name.to_s == 'uses-feature'
|
2679
|
+
if node.name.to_s == 'application'
|
2680
|
+
node["tools:node"] = "merge"
|
2681
|
+
node.remove_attribute("name")
|
2682
|
+
node.remove_attribute("label")
|
2683
|
+
node.remove_attribute("icon")
|
2684
|
+
end
|
2685
|
+
end
|
2686
|
+
|
2687
|
+
application.each do |node|
|
2688
|
+
node["tools:node"] = "merge"
|
2689
|
+
if node["android:name"] == 'com.rhomobile.rhodes.RhodesActivity'
|
2690
|
+
intent_filters = node.xpath(".//*/*")
|
2691
|
+
intent_filters.each do |child|
|
2692
|
+
if child["android:name"] == 'android.intent.action.MAIN'
|
2693
|
+
child.parent.remove
|
2694
|
+
end
|
2695
|
+
end
|
2696
|
+
end
|
2697
|
+
end
|
2698
|
+
|
2699
|
+
new_doc = Nokogiri::XML::Document.parse(doc.to_s, nil, "UTF-8")
|
2700
|
+
File.open(path, "w") {|file| file << new_doc.to_xml }
|
2701
|
+
end
|
2702
|
+
|
2703
|
+
|
2704
|
+
def prepare_aar_package
|
2705
|
+
alljars = Dir.glob(File.join($app_builddir, '**', '*.jar'))
|
2706
|
+
#alljars += AndroidTools::MavenDepsExtractor.instance.jars
|
2707
|
+
|
2708
|
+
require 'set'
|
2709
|
+
unique_jars = Set.new
|
2710
|
+
|
2711
|
+
args = ['cvf', 'classes.jar', '-C', '.', '.']
|
2712
|
+
jarNamesCounter = 0
|
2713
|
+
|
2714
|
+
$allclasses = File.join($tmpdir, 'allclasses')
|
2715
|
+
mkdir_p $allclasses
|
2716
|
+
|
2717
|
+
puts "Creating classes.jar for aar package"
|
2718
|
+
|
2719
|
+
if File.exist?(File.join($allclasses, 'classes.jar'))
|
2720
|
+
rm_rf File.join($allclasses, 'classes.jar')
|
2721
|
+
end
|
2722
|
+
|
2723
|
+
alljars.each do |jar|
|
2724
|
+
Zip::File.open(jar) do |archive|
|
2725
|
+
archive.glob("**/*.*").each do |pfile|
|
2726
|
+
next if !(pfile.name =~ /.*\.class$/)
|
2727
|
+
target = File.join($allclasses, pfile.name)
|
2728
|
+
mkdir_p File.dirname(target)
|
2729
|
+
rm target if File.file?(target)
|
2730
|
+
archive.extract( pfile, File.join(target) )
|
2731
|
+
end
|
2732
|
+
end
|
2733
|
+
end
|
2734
|
+
|
2735
|
+
rm_rf File.join($allclasses, 'com', $vendor , $appname)
|
2736
|
+
|
2737
|
+
Jake.run($jarbin, args, $allclasses)
|
2738
|
+
|
2739
|
+
unless $?.success?
|
2740
|
+
raise "Error while creating classes.jar"
|
2741
|
+
end
|
2742
|
+
|
2743
|
+
resourcepkg = File.join($bindir, "#{$appname}-#{$app_config["version"]}.aar")
|
2744
|
+
|
2745
|
+
args = ["cvf", resourcepkg, 'classes.jar']
|
2746
|
+
Jake.run($jarbin, args, $allclasses)
|
2747
|
+
unless $?.success?
|
2748
|
+
raise "Error packaging classes.jar file"
|
2749
|
+
end
|
2750
|
+
|
2751
|
+
#args = ["uf", resourcepkg, '-C', '.', 'assets']
|
2752
|
+
#Jake.run($jarbin, args, $tmpdir)
|
2753
|
+
#unless $?.success?
|
2754
|
+
# raise "Error packaging classes.jar file"
|
2755
|
+
#end
|
2756
|
+
|
2757
|
+
mkdir_p File.join($tmpdir, 'jni')
|
2758
|
+
|
2759
|
+
Dir.glob(File.join($tmpdir, 'lib', '*')).each do |lib|
|
2760
|
+
cp_r lib, File.join($tmpdir, 'jni')
|
2761
|
+
end
|
2762
|
+
|
2763
|
+
args = ["uf", resourcepkg]
|
2764
|
+
Dir.glob(File.join(File.join($tmpdir, 'jni'),'**','lib*.so')).each do |jni|
|
2765
|
+
arch = File.basename(File.dirname(jni))
|
2766
|
+
args << "jni/#{arch}/#{File.basename(jni)}"
|
2767
|
+
end
|
2768
|
+
Jake.run($jarbin, args, $tmpdir)
|
2769
|
+
unless $?.success?
|
2770
|
+
raise "Error packaging native libraries"
|
2771
|
+
end
|
2772
|
+
|
2773
|
+
args = ["uf", resourcepkg, 'R.txt']
|
2774
|
+
Jake.run($jarbin, args, $app_rjava_dir)
|
2775
|
+
unless $?.success?
|
2776
|
+
raise "Error packaging R.txt file"
|
2777
|
+
end
|
2778
|
+
|
2779
|
+
args = ["uf", resourcepkg, '-C', '.', 'res']
|
2780
|
+
Jake.run($jarbin, args, $tmpdir)
|
2781
|
+
|
2782
|
+
FormatManifestToAarCompat($appmanifest)
|
2783
|
+
args = ["uf", resourcepkg, 'AndroidManifest.xml']
|
2784
|
+
Jake.run($jarbin, args, File.dirname($appmanifest))
|
2785
|
+
|
2786
|
+
#$appmanifest
|
2787
|
+
|
2788
|
+
end
|
2789
|
+
|
2492
2790
|
namespace "package" do
|
2493
2791
|
task :android => "build:android:all" do
|
2494
2792
|
print_timestamp('package:android START')
|
2793
|
+
|
2794
|
+
if $rhodes_as_lib
|
2795
|
+
prepare_aar_package()
|
2796
|
+
next
|
2797
|
+
end
|
2798
|
+
|
2495
2799
|
puts "Running dx utility"
|
2496
2800
|
args = []
|
2497
2801
|
args << "-Xmx1024m"
|