rhodes 7.4.1 → 7.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG +319 -0
- data/CREDITS +3 -1
- data/LICENSE +1 -1
- data/README.md +6 -16
- data/Rakefile +55 -43
- data/SECURITY.md +19 -0
- data/appveyor.yml +66 -8
- data/azure-pipelines.yml +67 -0
- data/bin/rhodes-setup +22 -8
- data/extensions/emdk3-manager/ext/platform/android/src/com/rho/emdk3/EMDK3Extension.java +14 -5
- data/extensions/instrumentation/ext/platform/android/src/com/rho/instrumentation/Instrumentation.java +29 -15
- data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.java +3 -3
- data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/ElementsCore.java +12 -9
- data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/graphics/BatteryIndicator.java +2 -2
- data/lib/commonAPI/barcode/ext/platform/android/AndroidManifest.xml +3 -1
- data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeCaptureActivity.java +11 -13
- data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeGraphicTracker.java +1 -1
- data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSource.java +3 -3
- data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSourcePreview.java +1 -1
- data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro +1 -1
- data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro.erb +2 -2
- data/lib/commonAPI/barcode/ext/platform/qt/src/qzxing/QZXing.pri +9 -21
- data/lib/commonAPI/barcode/ext.yml +5 -8
- data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro +1 -1
- data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro.erb +1 -1
- data/lib/commonAPI/bluetooth/ext/platform/qt/src/bluetooth/bluetoothhelper.h +1 -1
- data/lib/commonAPI/coreapi/RhoSystemApi.rb +6 -0
- data/lib/commonAPI/coreapi/ext/Intent.xml +4 -0
- data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +0 -12
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/intent/IntentSingleton.java +6 -0
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +5 -2
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +4 -4
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +1 -1
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/webview/WebViewSingleton.java +40 -27
- data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +5 -6
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.h +1 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.m +3 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +2 -1
- data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +10 -0
- data/lib/commonAPI/coreapi/ext/platform/wm/src/IntentImpl.cpp +3 -0
- data/lib/commonAPI/coreapi/ext/push.xml +5 -2
- data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.cpp +13 -0
- data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.h +2 -0
- data/lib/commonAPI/coreapi/ext/system.xml +3 -0
- data/lib/commonAPI/mediacapture/ext/camera.xml +4 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationCameraActivity.erb +2 -2
- data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
- data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +2 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraExtension.java +0 -2
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraFactory.java +19 -24
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +322 -730
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +247 -433
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/{CameraSingletonObject.java → CameraSingleton.java} +68 -74
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java +6 -0
- data/lib/commonAPI/mediacapture/ext/platform/qt/MediaCapture.pro.erb +1 -1
- data/lib/commonAPI/mediacapture/ext/platform/qt/Mediacapture.pro +1 -1
- data/lib/commonAPI/printing_zebra/ext/platform/android/src/com/rhomobile/printing/zebra/impl/ZebraPrintingProviderImpl.java +2 -1
- data/lib/commonAPI/signature/ext/platform/iphone/impl/readme.txt +7 -0
- data/lib/commonAPI/signature/ext/platform/qt/Signature.pro +3 -10
- data/lib/commonAPI/signature/ext/platform/qt/Signature.pro.erb +2 -2
- data/lib/extensions/fcm-push/ext/android/ApplicationManifestAdds.erb +15 -17
- data/lib/extensions/fcm-push/ext/android/Rakefile +59 -34
- data/lib/extensions/fcm-push/ext/android/ext_java.files +0 -1
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMFacade.java +13 -17
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +81 -80
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMListener.java +0 -16
- data/lib/extensions/fcm-push/ext/iphone/Podfile +15 -2
- data/lib/extensions/fcm-push/ext/iphone/fcm-push.xcodeproj/project.pbxproj +6 -7
- data/lib/extensions/fcm-push/ext.yml +1 -1
- data/lib/extensions/gmaps/ext/platform/android/ApplicationManifestAdds.erb +1 -0
- data/lib/extensions/gmaps/ext/platform/android/src/com/rhomobile/rhodes/gmaps/GMapActivity.java +12 -4
- data/lib/extensions/gmaps/ext.yml +3 -1
- data/lib/extensions/nfc/ext/platform/android/src/com/rhomobile/nfc/Nfc.java +2 -1
- data/lib/extensions/serialport/ext/serialport.pro +1 -1
- data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +1 -0
- data/platform/android/Rhodes/jni/src/MethodResultJni.cpp +4 -0
- data/platform/android/Rhodes/jni/src/fileapi.cpp +4 -0
- data/platform/android/Rhodes/res/drawable/baseline_check_24.xml +5 -0
- data/platform/android/Rhodes/res/drawable/baseline_check_240.xml +5 -0
- data/platform/android/Rhodes/res/drawable/baseline_close_24.xml +5 -0
- data/platform/android/Rhodes/res/drawable/baseline_close_240.xml +5 -0
- data/platform/android/Rhodes/res/layout/overlay_layout.xml +39 -0
- data/platform/android/Rhodes/res/layout/perrmission_alert_dialog.xml +267 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +183 -66
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +38 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoFileProvider.java +32 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +532 -92
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +26 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +259 -163
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +14 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +5 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +79 -38
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +20 -15
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +18 -9
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/CallReceiver.java +22 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/IKioskMode.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/KioskManager.java +18 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyAccessibilityService.java +230 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyNotificationListenerService.java +16 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyOverlayService.java +197 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/PermissionManager.java +232 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +34 -8
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/CheckDrawable.java +53 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/PermissionListGenerate.java +366 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/rhodes.iml +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +782 -41
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputConnectionWrapper.java +146 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputListener.java +21 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +92 -32
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/TauWebViewOptions.java +118 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderBase.java +18 -17
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderEclairMR1.java +4 -4
- data/platform/android/build/RhodesSRC_build.files +13 -0
- data/platform/android/build/{aab_builder.rb → aapt2_helper.rb} +94 -37
- data/platform/android/build/android-repack.rake +8 -1
- data/platform/android/build/android.rake +238 -238
- data/platform/android/build/android_tools.rb +10 -10
- data/platform/android/build/androidcommon.rb +31 -14
- data/platform/android/build/build_tools_finder.rb +46 -0
- data/platform/android/build/config.yml +8 -0
- data/platform/android/build/dex_builder.rb +88 -0
- data/platform/android/build/hostplatform.rb +9 -0
- data/platform/android/build/manifest_generator.rb +15 -10
- data/platform/android/build/maven_deps_extractor.rb +29 -22
- data/platform/android/build/ndkwrapper.rb +92 -51
- data/platform/android/proguard/proguard-base-rules.pro +5 -0
- data/platform/android/proguard/proguard.jar +0 -0
- data/platform/iphone/Classes/AppManager/AppManager.m +3 -1
- data/platform/iphone/Classes/Camera/PickImageDelegate.h +2 -0
- data/platform/iphone/Classes/Camera/PickImageDelegate.m +45 -23
- data/platform/iphone/Classes/CocoaServer/CCocoaServer.h +27 -0
- data/platform/iphone/Classes/CocoaServer/CCocoaServer.m +107 -0
- data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.h +16 -0
- data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.m +226 -0
- data/platform/iphone/Classes/RhoAppBaseLib-Bridging-Header.h +4 -0
- data/platform/iphone/Classes/RhoAppBaseStandaloneLib-Bridging-Header.h +4 -0
- data/platform/iphone/Classes/RhoCryptAESGCM.swift +105 -0
- data/platform/iphone/Classes/RhoUIWebView.h +1 -1
- data/platform/iphone/Classes/RhoUIWebView.m +1 -1
- data/platform/iphone/Classes/RhoWKWebView.h +1 -1
- data/platform/iphone/Classes/RhoWKWebView.mm +110 -15
- data/platform/iphone/Classes/RhoWebView.h +1 -1
- data/platform/iphone/Classes/RhoWebViewFabrique.m +13 -2
- data/platform/iphone/Classes/Rhodes.m +3 -0
- data/platform/iphone/Classes/SimpleMainView.m +5 -5
- data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +21 -10
- data/platform/iphone/Classes/rho/net/IPhoneNetRequest.mm +4 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.h +14 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.m +158 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.h +12 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.m +88 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.h +56 -0
- data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.m +104 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.h +45 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.m +195 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.h +120 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.m +2708 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPLogging.h +136 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.h +48 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.m +113 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPResponse.h +149 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.h +205 -0
- data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.m +772 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h +65 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.m +529 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h +33 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.m +86 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h +23 -0
- data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.m +211 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h +75 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.m +405 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.h +13 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.m +79 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h +52 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.m +292 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.h +9 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.m +38 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.h +25 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.m +237 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h +12 -0
- data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.m +73 -0
- data/platform/iphone/CocoaHTTPServer/Core/WebSocket.h +105 -0
- data/platform/iphone/CocoaHTTPServer/Core/WebSocket.m +791 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h +7 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.m +160 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h +11 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.m +372 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h +7 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.m +49 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h +8 -0
- data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.m +69 -0
- data/platform/iphone/CocoaHTTPServer/LICENSE.txt +18 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/About.txt +4 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +1226 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +8528 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/About.txt +33 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.h +41 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.m +99 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m +727 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.h +334 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.m +1353 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.h +601 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.m +1083 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.h +167 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.m +1479 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
- data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/README.txt +7 -0
- data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +1 -1
- data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +2 -2
- data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +410 -1
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +1 -1
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -1
- data/platform/iphone/rbuild/iphone.rake +13 -8
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +1 -1
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +1 -1
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
- data/platform/sailfish/build/{harbour-SailfishRhodes.pro.erb → SailfishRhodes.pro.erb} +10 -17
- data/platform/sailfish/build/rhodes.pro.erb +7 -17
- data/platform/sailfish/build/rpm/SailfishRhodes.desktop.erb +12 -0
- data/platform/sailfish/build/rpm/SailfishRhodes.erb +2 -0
- data/platform/sailfish/build/rpm/SailfishRhodes.spec.erb +43 -0
- data/platform/sailfish/build/rubylib.pro.erb +29 -29
- data/platform/sailfish/build/sailfish.rake +188 -180
- data/platform/sailfish/keys/regular_cert.pem +14 -0
- data/platform/sailfish/keys/regular_key.pem +4 -0
- data/platform/shared/common/RhodesApp.cpp +59 -10
- data/platform/shared/common/iphone/RhoCryptImpl.mm +130 -54
- data/platform/shared/net/HttpServer.cpp +20 -0
- data/platform/shared/qt/RhoSimulator.pro +1 -1
- data/platform/shared/qt/rhodes/rhodes.pro +4 -11
- data/platform/shared/qt/sailfish/SailfishRhodes.desktop +3 -4
- data/platform/shared/qt/sailfish/SailfishRhodes.pro +9 -10
- data/platform/shared/qt/sailfish/icons/108x108/108x108.png +0 -0
- data/platform/shared/qt/sailfish/privileges/sailfishrhodes +2 -0
- data/platform/shared/qt/sailfish/qml/pages/FirstPageWK.qml +7 -11
- data/platform/shared/qt/sailfish/qml/{harbour-sailfishrhodes.qml → sailfishrhodes.qml} +1 -1
- data/platform/shared/qt/sailfish/rpm/sailfishrhodes.spec +80 -0
- data/platform/shared/qt/sailfish/rpm/{harbour-sailfishrhodes.yaml → sailfishrhodes.yaml} +2 -2
- data/platform/shared/qt/sailfish/src/QtMainWindow.cpp +1 -1
- data/platform/shared/qt/sailfish/src/QtMainWindow.h +1 -1
- data/platform/shared/qt/sailfish/src/main.cpp +6 -38
- data/platform/shared/qt/sailfish/src/rootdelegate.h +2 -14
- data/platform/shared/ruby/aurora/ruby/config.h +386 -0
- data/platform/shared/ruby/aurora/ruby/constdefs.c +5866 -0
- data/platform/shared/ruby/aurora/ruby/constdefs.h +1788 -0
- data/platform/shared/ruby/osx/ruby/config.h +2 -0
- data/platform/shared/ruby/win32/win32.c +10 -3
- data/platform/shared/sqlite/crypto.c +14 -0
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/platform/win32/build/rhodes.nsi +3 -3
- data/platform/win32/build/win32.rake +1 -1
- data/rakefile.rb +55 -43
- data/res/build-tools/RhoRuby.exe +0 -0
- data/res/build-tools/aapt2/linux/aapt2 +0 -0
- data/res/build-tools/aapt2/osx/aapt2 +0 -0
- data/res/build-tools/iphonesim/build/Release/iphonesim_8 +4 -4
- data/res/generators/templates/application/AndroidManifest.erb +28 -6
- data/res/generators/templates/application/build.yml +18 -11
- data/res/generators/templates/application/resources/android/res/xml/provider_paths.xml +4 -0
- data/res/generators/templates/application/rhoconfig.txt +15 -1
- data/res/generators/templates/iphone_project/Bremen8.xcodeproj/project.pbxproj +24 -1
- data/res/generators/templates/iphone_project/Classes/SimpleSwiftClass.swift +20 -0
- data/res/generators/templates/iphone_project/Classes/rhorunner-Bridging-Header.h +4 -0
- data/rhobuild.yml.example +4 -4
- data/rhodes.gemspec +4 -3
- data/version +1 -1
- metadata +157 -57
- data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/drawable/camera_btn.xml +0 -14
- data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_land.xml +0 -23
- data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_port.xml +0 -23
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraActivity.java +0 -156
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +0 -227
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +0 -152
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraPreview.java +0 -183
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java +0 -14
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java +0 -60
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +0 -20
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java +0 -8
- data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMTokenRefresherService.java +0 -27
- data/platform/android/Rhodes/AndroidManifest.xml.erb +0 -89
- data/platform/sailfish/build/rho_build.cmd.erb +0 -14
- data/platform/sailfish/build/rho_clean.cmd.erb +0 -14
- data/platform/sailfish/build/rho_deploy.cmd.erb +0 -15
- data/platform/sailfish/build/rho_rpm.cmd.erb +0 -14
- data/platform/sailfish/build/rho_rpmvalidation.cmd.erb +0 -14
- data/platform/sailfish/build/rpm/harbour-SailfishRhodes.desktop.erb +0 -7
- data/platform/sailfish/build/rpm/harbour-SailfishRhodes.erb +0 -2
- data/platform/sailfish/build/rpm/harbour-SailfishRhodes.yaml.erb +0 -37
- data/platform/shared/qt/sailfish/harbour-sailfishrhodes.desktop +0 -6
- data/platform/shared/qt/sailfish/icons/108x108/harbour-sailfishrhodes.png +0 -0
- data/platform/shared/qt/sailfish/privileges/harbour-sailfishrhodes +0 -2
- data/platform/shared/qt/sailfish/qml/pages/FirstPageWE.qml +0 -236
- /data/platform/shared/qt/sailfish/icons/128x128/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
- /data/platform/shared/qt/sailfish/icons/172x172/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
- /data/platform/shared/qt/sailfish/icons/86x86/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
@@ -10,14 +10,11 @@ android:
|
|
10
10
|
exttype: rakefile
|
11
11
|
sdk_addons: ['EMDK']
|
12
12
|
maven_deps:
|
13
|
-
- 'com.google.android.gms:play-services-vision:
|
14
|
-
- '
|
15
|
-
- '
|
16
|
-
|
17
|
-
|
18
|
-
# - 'com.android.support:support-media-compat:25.2.0'
|
19
|
-
# - 'com.android.support:support-fragment:25.2.0'
|
20
|
-
# - 'com.android.support:support-core-utils:25.2.0'
|
13
|
+
- 'com.google.android.gms:play-services-vision:20.1.3'
|
14
|
+
- 'androidx.core:core:1.5.0'
|
15
|
+
- 'androidx.appcompat:appcompat:1.3.0'
|
16
|
+
- 'androidx.lifecycle:lifecycle-common:2.3.1'
|
17
|
+
- 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
|
21
18
|
|
22
19
|
sailfish:
|
23
20
|
proerb: ext/platform/qt/Barcode.pro.erb
|
@@ -155,6 +155,10 @@ Notice that this looks very similar to a standard AndroidManifest.XML file secti
|
|
155
155
|
<METHOD name="stopListening" hasCallback="none" productException="">
|
156
156
|
<DESC>Stop listening for custom intents.</DESC>
|
157
157
|
</METHOD>
|
158
|
+
<METHOD name="cleanStartParameters" hasCallback="none" productException="">
|
159
|
+
<PLATFORM>Android</PLATFORM>
|
160
|
+
<DESC>Stop listening for custom intents.</DESC>
|
161
|
+
</METHOD>
|
158
162
|
</METHODS>
|
159
163
|
<REMARKS>
|
160
164
|
<REMARK title="Registering Intent Receiver">
|
@@ -50,8 +50,6 @@ TARGETLIB_x86 = File.join(TARGETDIR_x86,'libcoreapi.a')
|
|
50
50
|
TARGETLIB_MIPS = File.join(TARGETDIR_MIPS,'libcoreapi.a')
|
51
51
|
TARGETLIB_AARCH64 = File.join(TARGETDIR_AARCH64,'libcoreapi.a')
|
52
52
|
|
53
|
-
V4JAR = File.join(TARGETDIR, 'android-support-v4.jar')
|
54
|
-
|
55
53
|
cd '../../..'
|
56
54
|
|
57
55
|
namespace 'config' do
|
@@ -123,16 +121,6 @@ end
|
|
123
121
|
multitask TARGETLIB_AARCH64 => OBJ_AARCH64
|
124
122
|
|
125
123
|
multitask TARGETLIB_MIPS => OBJ_MIPS
|
126
|
-
file V4JAR => [TARGETDIR] do
|
127
|
-
v4jar = Dir.glob(File.join(ENV['ANDROID_SDK'],'extras','android','**','v4','android-support-v4.jar'))
|
128
|
-
|
129
|
-
if v4jar.size != 1
|
130
|
-
puts "Cannot locate android-support-v4.jar, check Android SDK (#{v4jar})" if v4jar.size != 1
|
131
|
-
else
|
132
|
-
v4jar = v4jar.first
|
133
|
-
cp v4jar, TARGETDIR
|
134
|
-
end
|
135
|
-
end
|
136
124
|
|
137
125
|
namespace 'arch' do
|
138
126
|
task :arm => [TARGETLIB_ARM]
|
@@ -25,6 +25,7 @@ import com.rhomobile.rhodes.extmanager.IRhoExtManager;
|
|
25
25
|
import com.rhomobile.rhodes.extmanager.IRhoListener;
|
26
26
|
import com.rhomobile.rhodes.extmanager.RhoExtManager;
|
27
27
|
import com.rhomobile.rhodes.util.ContextFactory;
|
28
|
+
import com.rhomobile.rhodes.RhodesApplication;
|
28
29
|
|
29
30
|
public class IntentSingleton extends AbstractRhoListener implements IIntentSingleton, IIntentFactory, IRhoListener {
|
30
31
|
private static final String TAG = IntentSingleton.class.getSimpleName();
|
@@ -442,6 +443,11 @@ public class IntentSingleton extends AbstractRhoListener implements IIntentSingl
|
|
442
443
|
result.set(params);
|
443
444
|
}
|
444
445
|
}
|
446
|
+
@Override
|
447
|
+
public void cleanStartParameters(IMethodResult result){
|
448
|
+
RhodesApplication.setStartParametersApp("");
|
449
|
+
|
450
|
+
}
|
445
451
|
|
446
452
|
|
447
453
|
}
|
@@ -320,7 +320,9 @@ public class Notification {
|
|
320
320
|
}
|
321
321
|
|
322
322
|
builder.setSmallIcon(R.drawable.ic_notification);
|
323
|
-
|
323
|
+
|
324
|
+
builder.setContentIntent(PendingIntent.getActivity(ctx, id, new Intent(ctx, RhodesActivity.class),
|
325
|
+
/* PendingIntent.FLAG_UPDATE_CURRENT |*/ PendingIntent.FLAG_IMMUTABLE));
|
324
326
|
|
325
327
|
builder.setDefaults(android.app.Notification.DEFAULT_VIBRATE | android.app.Notification.DEFAULT_SOUND);
|
326
328
|
|
@@ -347,7 +349,8 @@ public class Notification {
|
|
347
349
|
resId = R.drawable.ic_action_cancel;
|
348
350
|
}
|
349
351
|
|
350
|
-
builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent,
|
352
|
+
builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent,
|
353
|
+
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE));
|
351
354
|
}
|
352
355
|
}
|
353
356
|
|
data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java
CHANGED
@@ -18,8 +18,8 @@ import com.rhomobile.rhodes.Logger;
|
|
18
18
|
import android.os.SystemClock;
|
19
19
|
|
20
20
|
import android.net.Uri;
|
21
|
-
import
|
22
|
-
import
|
21
|
+
import androidx.core.app.NotificationCompat;
|
22
|
+
import androidx.core.app.TaskStackBuilder;
|
23
23
|
import android.media.RingtoneManager;
|
24
24
|
import android.content.SharedPreferences;
|
25
25
|
|
@@ -175,7 +175,7 @@ public class NotificationScheduler {
|
|
175
175
|
|
176
176
|
Intent new_intent = new Intent(context, cls);
|
177
177
|
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, RHO_NOTIFICATION_CODE, new_intent,
|
178
|
-
PendingIntent.FLAG_UPDATE_CURRENT);
|
178
|
+
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
179
179
|
AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);
|
180
180
|
|
181
181
|
if (interval < 0) {
|
@@ -219,7 +219,7 @@ public class NotificationScheduler {
|
|
219
219
|
|
220
220
|
Intent new_intent = new Intent(context, cls);
|
221
221
|
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, RHO_NOTIFICATION_CODE, new_intent,
|
222
|
-
PendingIntent.FLAG_UPDATE_CURRENT);
|
222
|
+
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
223
223
|
AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);
|
224
224
|
am.cancel(pendingIntent);
|
225
225
|
pendingIntent.cancel();
|
data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java
CHANGED
@@ -20,7 +20,7 @@ import android.media.AudioManager;
|
|
20
20
|
import android.media.AudioTrack;
|
21
21
|
import android.media.MediaPlayer;
|
22
22
|
import android.os.Vibrator;
|
23
|
-
import
|
23
|
+
import androidx.core.app.NotificationCompat;
|
24
24
|
import android.util.SparseArray;
|
25
25
|
import android.view.Gravity;
|
26
26
|
import android.view.View;
|
@@ -31,12 +31,12 @@ import java.util.Map;
|
|
31
31
|
public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
32
32
|
|
33
33
|
private static final String TAG = WebViewSingleton.class.getSimpleName();
|
34
|
-
|
34
|
+
|
35
35
|
private static final String DISABLE_PAGE_LOADING_INDICATION = "disable_loading_indication";
|
36
36
|
private static final String ENABLE_ZOOM = "enable_screen_zoom";
|
37
37
|
private static final String ENABLE_WEB_PLUGINS = "enable_web_plugins";
|
38
38
|
private static final String ENABLE_CACHE = "WebView.enableCache";
|
39
|
-
private static final String DISABLE_SCANNER_NAVIGATION = "disable_scanner_during_navigation";
|
39
|
+
private static final String DISABLE_SCANNER_NAVIGATION = "disable_scanner_during_navigation";
|
40
40
|
private static final String ENABLE_MEDIA_PLAYBACK_WITHOUT_GESTURE = "enable_media_playback_without_gesture";
|
41
41
|
private WebViewConfig mConfig = new WebViewConfig();
|
42
42
|
|
@@ -57,9 +57,9 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
57
57
|
originalProxyHost = Proxy.getDefaultHost();
|
58
58
|
originalProxyPort = Proxy.getDefaultPort();
|
59
59
|
|
60
|
-
readRhoConfig(extManager.getConfig("rhoconfig"));
|
60
|
+
readRhoConfig(extManager.getConfig("rhoconfig"));
|
61
61
|
}
|
62
|
-
|
62
|
+
|
63
63
|
@Override
|
64
64
|
public void getFramework(IMethodResult result) {
|
65
65
|
result.set(RhodesActivity.safeGetInstance().getMainView().getWebView(-1).getEngineId());
|
@@ -373,7 +373,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
373
373
|
@Override
|
374
374
|
public boolean onWebViewCreated(IRhoExtManager extManager, IRhoWebView ext, boolean res) {
|
375
375
|
Logger.I(TAG, "Set config initially: " + (mConfig != null));
|
376
|
-
ext.setConfig(mConfig);
|
376
|
+
ext.setConfig(mConfig);
|
377
377
|
|
378
378
|
return res;
|
379
379
|
}
|
@@ -404,9 +404,9 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
404
404
|
|
405
405
|
|
406
406
|
if ( haveOriginalProxy ) {
|
407
|
-
//we have system/rhoelements proxy settings so decide what to do with URL
|
407
|
+
//we have system/rhoelements proxy settings so decide what to do with URL
|
408
408
|
if ( isLocalUrl ) {
|
409
|
-
//local URL, we don't need proxy
|
409
|
+
//local URL, we don't need proxy
|
410
410
|
dropProxySettings();
|
411
411
|
} else {
|
412
412
|
//set original proxy setting
|
@@ -426,7 +426,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
426
426
|
|
427
427
|
if ( haveOriginalProxy ) {
|
428
428
|
Logger.I( TAG, "Restoring proxy settings: " + originalProxyHost + ":" + String.valueOf(originalProxyPort) );
|
429
|
-
ProxySettings.setProxy(ContextFactory.getAppContext(),originalProxyHost,originalProxyPort);
|
429
|
+
ProxySettings.setProxy(ContextFactory.getAppContext(),originalProxyHost,originalProxyPort);
|
430
430
|
}
|
431
431
|
}
|
432
432
|
|
@@ -485,6 +485,19 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
485
485
|
return res;
|
486
486
|
}
|
487
487
|
|
488
|
+
@Override
|
489
|
+
public boolean onGoBack(IRhoExtManager extManager, String current_url, String back_url, IRhoWebView ext, boolean res) {
|
490
|
+
// TODO Auto-generated method stub
|
491
|
+
return false;
|
492
|
+
}
|
493
|
+
|
494
|
+
@Override
|
495
|
+
public boolean onGoForward(IRhoExtManager extManager, String current_url, String forward_url, IRhoWebView ext, boolean res) {
|
496
|
+
// TODO Auto-generated method stub
|
497
|
+
return false;
|
498
|
+
}
|
499
|
+
|
500
|
+
|
488
501
|
@Override
|
489
502
|
public boolean onAlert(IRhoExtManager extManager, String message, IRhoWebView ext, IAlertResult alertResult, boolean res) {
|
490
503
|
return res;
|
@@ -561,23 +574,23 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
561
574
|
@Override
|
562
575
|
public boolean onNewConfig(IRhoExtManager extManager, IRhoConfig config, String name, boolean res) {
|
563
576
|
|
564
|
-
if(name.equalsIgnoreCase("rhoelementsext")) {
|
577
|
+
/*if(name.equalsIgnoreCase("rhoelementsext")) {
|
565
578
|
readRhoelementsConfig(config);
|
566
|
-
RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.
|
567
|
-
@Override public void
|
579
|
+
RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandlerInUIThread(true) {
|
580
|
+
@Override public void runInUI() {
|
568
581
|
MainView mainView = RhodesActivity.safeGetInstance().getMainView();
|
569
582
|
for (int i = 0; i < mainView.getTabsCount(); ++i) {
|
570
583
|
Logger.T(TAG, "Set WebView config: tab " + i);
|
571
584
|
mainView.getWebView(i).setConfig(mConfig);
|
572
585
|
}
|
573
586
|
}});
|
574
|
-
} else
|
587
|
+
} else*/
|
575
588
|
if (name.equalsIgnoreCase("rhoconfig")) {
|
576
|
-
|
589
|
+
|
577
590
|
readRhoConfig(config);
|
578
591
|
|
579
|
-
RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.
|
580
|
-
@Override public void
|
592
|
+
RhodesApplication.runWhen(RhodesApplication.AppState.AppActivated, new RhodesApplication.StateHandlerInUIThread(true) {
|
593
|
+
@Override public void runInUI() {
|
581
594
|
MainView mainView = RhodesActivity.safeGetInstance().getMainView();
|
582
595
|
for (int i = 0; i < mainView.getTabsCount(); ++i) {
|
583
596
|
Logger.T(TAG, "Set WebView config: tab " + i);
|
@@ -593,7 +606,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
593
606
|
public String onGetProperty(IRhoExtManager extManager, String name) {
|
594
607
|
return null;
|
595
608
|
}
|
596
|
-
|
609
|
+
|
597
610
|
private void readRhoelementsConfig(IRhoConfig config) {
|
598
611
|
if (config.isExist("enablezoom")) {
|
599
612
|
// mConfig.set(WebViewConfig.ENABLE_ZOOM, config.getBool("enable_screen_zoom", WebViewConfig.ENABLE_ZOOM_DEF));
|
@@ -605,7 +618,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
605
618
|
double zoomValue = config.getDouble("pagezoom");
|
606
619
|
mConfig.set(WebViewConfig.PAGE_ZOOM, zoomValue);
|
607
620
|
}
|
608
|
-
|
621
|
+
|
609
622
|
if (config.isExist("cache")) {
|
610
623
|
String cache = config.getString("cache");
|
611
624
|
cache=cache.toLowerCase();
|
@@ -614,17 +627,17 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
614
627
|
if(endString==-1)
|
615
628
|
endString=cache.indexOf("kb");
|
616
629
|
int cacheInt =Integer.parseInt(cache.substring(0,endString ).toString());
|
617
|
-
|
630
|
+
|
618
631
|
mConfig.set(WebViewConfig.ENABLE_CACHE, cacheInt!=0);
|
619
632
|
}
|
620
|
-
|
633
|
+
|
621
634
|
if(config.isExist("splashscreenpath")){
|
622
635
|
String splashscreenpathValue = config.getString("splashscreenpath");
|
623
636
|
if(splashscreenpathValue != null){
|
624
637
|
mConfig.set(WebViewConfig.SETTING_SPLASHSCREEN_PATH, splashscreenpathValue);
|
625
638
|
}
|
626
639
|
}
|
627
|
-
|
640
|
+
|
628
641
|
if(config.isExist("splashscreenduration")){
|
629
642
|
String splashscreendurationValue = config.getString("splashscreenduration");
|
630
643
|
if(splashscreendurationValue != null){
|
@@ -643,7 +656,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
643
656
|
|
644
657
|
originalProxyHost = hostURL;
|
645
658
|
originalProxyPort = port;
|
646
|
-
|
659
|
+
|
647
660
|
ProxySettings.setProxy(RhodesActivity.getContext(),hostURL,port);
|
648
661
|
}
|
649
662
|
}
|
@@ -653,14 +666,14 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
653
666
|
if(httpsProxy.length()!=0){
|
654
667
|
int index = httpsProxy.lastIndexOf(":");
|
655
668
|
if(index > -1)
|
656
|
-
{
|
669
|
+
{
|
657
670
|
String portNumber = httpsProxy.substring(index + 1, httpsProxy.length());
|
658
671
|
String hostURL = httpsProxy.substring(0, index);
|
659
672
|
int port = Integer.parseInt(portNumber);
|
660
673
|
|
661
674
|
originalProxyHost = hostURL;
|
662
675
|
originalProxyPort = port;
|
663
|
-
|
676
|
+
|
664
677
|
ProxySettings.setProxy(RhodesActivity.getContext(),hostURL,port);
|
665
678
|
}
|
666
679
|
}
|
@@ -692,7 +705,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
692
705
|
}
|
693
706
|
}
|
694
707
|
}
|
695
|
-
|
708
|
+
|
696
709
|
if(config.isExist("usedwforscanning")){
|
697
710
|
String _usedwforscanning = config.getString("usedwforscanning");
|
698
711
|
if(_usedwforscanning != null){
|
@@ -708,12 +721,12 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
708
721
|
mConfig.set(WebViewConfig.ENABLE_MEDIA_PLAYBACK_WITHOUT_GESTURE, false);
|
709
722
|
}
|
710
723
|
}
|
711
|
-
|
724
|
+
|
712
725
|
private void readRhoConfig(IRhoConfig config) {
|
713
726
|
if (RhoConf.isExist(DISABLE_PAGE_LOADING_INDICATION))
|
714
727
|
mConfig.set(WebViewConfig.ENABLE_PAGE_LOADING_INDICATION, !RhoConf.getBool(DISABLE_PAGE_LOADING_INDICATION));
|
715
728
|
|
716
|
-
|
729
|
+
|
717
730
|
if (RhoConf.isExist(ENABLE_ZOOM))
|
718
731
|
mConfig.set(WebViewConfig.ENABLE_ZOOM, RhoConf.getBool(ENABLE_ZOOM));
|
719
732
|
|
@@ -722,7 +735,7 @@ public class WebViewSingleton implements IWebViewSingleton, IRhoExtension {
|
|
722
735
|
|
723
736
|
if (RhoConf.isExist(ENABLE_CACHE))
|
724
737
|
mConfig.set(WebViewConfig.ENABLE_CACHE, RhoConf.getBool(ENABLE_CACHE));
|
725
|
-
|
738
|
+
|
726
739
|
if (RhoConf.isExist(DISABLE_SCANNER_NAVIGATION))
|
727
740
|
mConfig.set(WebViewConfig.DISABLE_SCANNER_ON_NAVIGATION, RhoConf.getString(DISABLE_SCANNER_NAVIGATION));
|
728
741
|
if (RhoConf.isExist("iswindowskey"))
|
@@ -17,6 +17,8 @@
|
|
17
17
|
#include "unzip/zip.h"
|
18
18
|
#include "db/DBAdapter.h"
|
19
19
|
|
20
|
+
#import "../impl/NotificationSingleton.h"
|
21
|
+
|
20
22
|
|
21
23
|
#undef DEFAULT_LOGCATEGORY
|
22
24
|
#define DEFAULT_LOGCATEGORY "System"
|
@@ -438,13 +440,10 @@ extern "C" void Init_System()
|
|
438
440
|
{
|
439
441
|
rho::CSystemFactoryBase::setInstance( new rho::CSystemImplIphoneAccessFactory() );
|
440
442
|
Init_System_API();
|
441
|
-
|
443
|
+
|
444
|
+
[NotificationSingleton init_notification_object];
|
445
|
+
|
442
446
|
#ifndef RHO_NO_RUBY_API
|
443
447
|
RHODESAPP().getExtManager().requireRubyFile("RhoSystemApi");
|
444
448
|
#endif
|
445
449
|
}
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
#include "common/RhodesApp.h"
|
11
11
|
#include "logging/RhoLog.h"
|
12
|
+
#import "common/RhoConf.h"
|
12
13
|
|
13
14
|
#undef DEFAULT_LOGCATEGORY
|
14
15
|
#define DEFAULT_LOGCATEGORY "Alert"
|
@@ -510,4 +511,13 @@ static NotificationReminder* reminder = nil;
|
|
510
511
|
[Rhodes performOnUiThread:runnable wait:NO];
|
511
512
|
}
|
512
513
|
|
514
|
+
|
515
|
+
+(void) init_notification_object {
|
516
|
+
if (rho_conf_is_property_exists("ios_request_notification_permission_on_start")!=0) {
|
517
|
+
if (rho_conf_getBool("ios_request_notification_permission_on_start")!=0 ) {
|
518
|
+
NotificationReminder* rem = [NotificationReminder instance];
|
519
|
+
}
|
520
|
+
}
|
521
|
+
}
|
522
|
+
|
513
523
|
@end
|
@@ -40,6 +40,9 @@ namespace rho {
|
|
40
40
|
virtual void stopListening(apiGenerator::CMethodResult& oResult) {
|
41
41
|
stopApplicationMessageNotifications(oResult);
|
42
42
|
}
|
43
|
+
virtual void cleanStartParameters(rho::apiGenerator::CMethodResult& oResult){
|
44
|
+
|
45
|
+
}
|
43
46
|
|
44
47
|
private:
|
45
48
|
void sendApplicationMessage(const String& appName, const String& params, apiGenerator::CMethodResult& oResult) {
|
@@ -15,8 +15,11 @@ For FCM:
|
|
15
15
|
:::ruby
|
16
16
|
capabilities: ["push"]
|
17
17
|
extensions: ["fcm-push"]
|
18
|
-
|
19
|
-
|
18
|
+
fcm:
|
19
|
+
mobilesdk_app_id: "mobilesdk_app_id from google-services.json"
|
20
|
+
project_number: "project_number from google-services.json"
|
21
|
+
current_key: "current_key from google-services.json"
|
22
|
+
project_id: "project_id from google-services.json"
|
20
23
|
|
21
24
|
**Supporting FCM Push on iOS** Download GoogleService-Info.plist and put it into the root of your application. Please read guide [Add Firebase to your iOS project](https://firebase.google.com/docs/ios/setup) for more details.
|
22
25
|
|
@@ -170,6 +170,19 @@ void CSystemImplBase::setLocalServerPort( int value, CMethodResult& oResult)
|
|
170
170
|
//Local port can be set only in confuguration file
|
171
171
|
}
|
172
172
|
|
173
|
+
|
174
|
+
void CSystemImplBase::getRubyLocalServerURL(CMethodResult& oResult)
|
175
|
+
{
|
176
|
+
oResult.set( RHODESAPP().getRubyHomeURL() );
|
177
|
+
}
|
178
|
+
|
179
|
+
void CSystemImplBase::setRubyLocalServerURL( const rho::String& value, CMethodResult& oResult)
|
180
|
+
{
|
181
|
+
//Local port can be set only in confuguration file
|
182
|
+
}
|
183
|
+
|
184
|
+
|
185
|
+
|
173
186
|
void CSystemImplBase::getNodejsServerPort(CMethodResult& oResult)
|
174
187
|
{
|
175
188
|
oResult.set( atoi(RHODESAPP().getNodeJSListeningPort()) );
|
@@ -19,6 +19,8 @@ public:
|
|
19
19
|
virtual void getIsSymbolDevice(CMethodResult& oResult);
|
20
20
|
virtual void getLocalServerPort(CMethodResult& oResult);
|
21
21
|
virtual void setLocalServerPort( int value, CMethodResult& oResult);
|
22
|
+
virtual void getRubyLocalServerURL(CMethodResult& oResult);
|
23
|
+
virtual void setRubyLocalServerURL( const rho::String& value, CMethodResult& oResult);
|
22
24
|
virtual void getNodejsServerPort(CMethodResult& oResult);
|
23
25
|
virtual void setNodejsServerPort( int value, CMethodResult& oResult);
|
24
26
|
virtual void getFreeServerPort(rho::apiGenerator::CMethodResult& oResult);
|
@@ -174,6 +174,9 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
|
|
174
174
|
<PROPERTY name="localServerPort" type="INTEGER" default="8080" readOnly="true">
|
175
175
|
<DESC>Port of the local (embedded) HTTP server. This parameter is mainly for debug purposes. If not specified, the platform will detect a free port on the device and use that one.</DESC>
|
176
176
|
</PROPERTY>
|
177
|
+
<PROPERTY name="RubyLocalServerURL" type="STRING" readOnly="true">
|
178
|
+
<DESC>Local server full URL prefix://ip:port</DESC>
|
179
|
+
</PROPERTY>
|
177
180
|
<PROPERTY name="NodejsServerPort" type="INTEGER" default="3000" readOnly="true">
|
178
181
|
<DESC>Port of the local (embedded) Node.js HTTP server if it started (only for Node.js type applications).</DESC>
|
179
182
|
</PROPERTY>
|
@@ -219,11 +219,6 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
|
|
219
219
|
<PLATFORM>WM, CE</PLATFORM>
|
220
220
|
<DESC>In cases where the resident camera application on the device is not used this API is used to control the position of the viewfinder preview window when taking a photo.</DESC>
|
221
221
|
</PROPERTY>
|
222
|
-
<PROPERTY name="useSystemViewfinder" type="BOOLEAN" default="true">
|
223
|
-
<VER_INTRODUCED>4.0.0</VER_INTRODUCED>
|
224
|
-
<PLATFORM>Android</PLATFORM>
|
225
|
-
<DESC>Setting the value of this property to "true", shall open the System ViewFinder with its properties. Applicable to takePicture() and choosePicture() both. None of the Rho camera properties shall be applicable except desiredWidth and desiredHeight (desired size aplly if useRealBitmapResize enabled).</DESC>
|
226
|
-
</PROPERTY>
|
227
222
|
<PROPERTY name="useRealBitmapResize" type="BOOLEAN" default="true">
|
228
223
|
<VER_INTRODUCED>4.0.0</VER_INTRODUCED>
|
229
224
|
<PLATFORM>Android</PLATFORM>
|
@@ -322,15 +317,15 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
|
|
322
317
|
<DESC>If the specified 'outputFormat' was 'image' then this field is the URI to the taken image stored on the device.On wp8,wm when 'outputFormat' is 'image' then imageUri shall have only Image name with \ sign, on WP8 ImageName shall be suffixed by DTF when 'outputFormat' is 'image', this image will have an auto-generated name. If the specified 'outputFormat' was 'dataUri' then this field will be the image encoded as a Data URI, In Wp8 dataUri shall provide the thumbnail for the picture taken, It is recommended to use Image over dataUri. If the specified 'outputFormat' was 'imagePath' then this field will have the image path on the device. User can use image path to transfer image over http. </DESC>
|
323
318
|
</PARAM>
|
324
319
|
<PARAM name="image_height" type="INTEGER" deprecated="true">
|
325
|
-
<PLATFORM>
|
320
|
+
<PLATFORM>WM, CE, iOS, WP8</PLATFORM>
|
326
321
|
<DESC>It is recommended to use imageHeight in preference to this parameter.</DESC>
|
327
322
|
</PARAM>
|
328
323
|
<PARAM name="image_width" type="INTEGER" deprecated="true">
|
329
|
-
<PLATFORM>
|
324
|
+
<PLATFORM>WM, CE, iOS, UWP</PLATFORM>
|
330
325
|
<DESC>It is recommended to use imageWidth in preference to this parameter.</DESC>
|
331
326
|
</PARAM>
|
332
327
|
<PARAM name="image_format" type="STRING" deprecated="true">
|
333
|
-
<PLATFORM>
|
328
|
+
<PLATFORM>WM, CE, iOS</PLATFORM>
|
334
329
|
<DESC>It is recommended to use imageFormat in preference to this parameter.</DESC>
|
335
330
|
</PARAM>
|
336
331
|
</PARAMS>
|
@@ -384,7 +379,7 @@ Be sure to review the [Ruby API Usage](/guide/api_ruby) guide for important info
|
|
384
379
|
<PARAM name="propertyMap" type="HASH" propertyHash="true">
|
385
380
|
<PLATFORM>Android, WM, CE, UWP, iOS</PLATFORM>
|
386
381
|
<DESC>
|
387
|
-
Provide a set of properties to configure an image, for example to specify the image size or color mode. In WM/CE,Android and WP8 devices user can only specify the outputFormat in the property bag. In iOS devices user can specify next options: compressionFormat, desiredWidth, desiredHeight, outputFormat, colorModel,
|
382
|
+
Provide a set of properties to configure an image, for example to specify the image size or color mode. In WM/CE,Android and WP8 devices user can only specify the outputFormat in the property bag. In iOS devices user can specify next options: compressionFormat, desiredWidth, desiredHeight, outputFormat, colorModel, enableEditing.
|
388
383
|
In UWP dataUri shall provide the thumbnail for the picture taken, It is recommended to use Image over dataUri.On wp8, wm when 'outputFormat' is 'image' then imageUri or image_uri shall have Image name with \ sign, on WP8 ImageName shall be suffixed by DTF when 'outputFormat' is 'image'</DESC>
|
389
384
|
<CAN_BE_NIL>
|
390
385
|
<DESC>Not providing properties to this function will use the Camera's default properties, or those previously set on the Camera instance.</DESC>
|
@@ -1,2 +1,2 @@
|
|
1
|
-
<activity android:name="com.rho.camera.CameraActivity"/>
|
2
|
-
<service android:name="com.rho.camera.OrientationListnerService"/>
|
1
|
+
<activity android:name="com.rho.camera.CameraActivity" android:exported='false'/>
|
2
|
+
<service android:name="com.rho.camera.OrientationListnerService" android:exported='false'/>
|
@@ -1,21 +1,14 @@
|
|
1
1
|
ext/platform/android/src/com/rho/mediacapture/RhoListener.java
|
2
|
+
ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java
|
2
3
|
ext/platform/android/generated/src/com/rho/camera/ICamera.java
|
3
4
|
ext/platform/android/generated/src/com/rho/camera/ICameraSingleton.java
|
4
5
|
ext/platform/android/generated/src/com/rho/camera/ICameraFactory.java
|
5
6
|
ext/platform/android/generated/src/com/rho/camera/CameraBase.java
|
6
7
|
ext/platform/android/generated/src/com/rho/camera/CameraSingletonBase.java
|
7
8
|
ext/platform/android/generated/src/com/rho/camera/CameraFactorySingleton.java
|
8
|
-
ext/platform/android/src/com/rho/camera/CameraActivity.java
|
9
9
|
ext/platform/android/src/com/rho/camera/OrientationListnerService.java
|
10
|
-
ext/platform/android/src/com/rho/camera/CameraPreview.java
|
11
|
-
ext/platform/android/src/com/rho/camera/ICameraObject.java
|
12
|
-
ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java
|
13
10
|
ext/platform/android/src/com/rho/camera/CameraObject.java
|
14
|
-
ext/platform/android/src/com/rho/camera/
|
15
|
-
ext/platform/android/src/com/rho/camera/CameraGingerbread.java
|
16
|
-
ext/platform/android/src/com/rho/camera/CameraSingletonObject.java
|
17
|
-
ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java
|
18
|
-
ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java
|
11
|
+
ext/platform/android/src/com/rho/camera/CameraSingleton.java
|
19
12
|
ext/platform/android/src/com/rho/camera/CameraFactory.java
|
20
13
|
ext/platform/android/src/com/rho/camera/CameraExtension.java
|
21
14
|
ext/platform/android/src/com/rho/camera/CameraRhoListener.java
|
data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraExtension.java
CHANGED
@@ -8,8 +8,6 @@ public class CameraExtension extends AbstractRhoExtension implements IRhoExtensi
|
|
8
8
|
|
9
9
|
private static final String TAG = CameraExtension.class.getSimpleName();
|
10
10
|
|
11
|
-
static final String INTENT_EXTRA_PREFIX = "com.rho.camera.";
|
12
|
-
|
13
11
|
@Override
|
14
12
|
public String onGetProperty(IRhoExtManager extManager, String name) {
|
15
13
|
if (name.equalsIgnoreCase("has_camera")) {
|