rhodes 7.4.1 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CREDITS +3 -1
- data/LICENSE +1 -1
- data/README.md +3 -1
- data/Rakefile +52 -43
- data/SECURITY.md +19 -0
- data/appveyor.yml +60 -7
- data/azure-pipelines.yml +67 -0
- data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.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.yml +4 -8
- data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +0 -12
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +4 -2
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +3 -3
- data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +1 -1
- data/lib/commonAPI/coreapi/ext/push.xml +5 -2
- data/lib/commonAPI/mediacapture/ext/camera.xml +4 -9
- data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
- data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +1 -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 +317 -729
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +240 -434
- data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/{CameraSingletonObject.java → CameraSingleton.java} +68 -74
- data/lib/commonAPI/printing_zebra/ext/platform/android/src/com/rhomobile/printing/zebra/impl/ZebraPrintingProviderImpl.java +2 -1
- 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.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/platform/android/Rhodes/jni/src/MethodResultJni.cpp +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +3 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +3 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +14 -14
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +18 -9
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +1 -1
- data/platform/android/build/{aab_builder.rb → aapt2_helper.rb} +94 -37
- data/platform/android/build/android.rake +124 -191
- data/platform/android/build/android_tools.rb +9 -9
- data/platform/android/build/androidcommon.rb +18 -7
- data/platform/android/build/build_tools_finder.rb +46 -0
- data/platform/android/build/config.yml +5 -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 +1 -0
- data/platform/android/build/maven_deps_extractor.rb +22 -21
- data/platform/android/build/ndkwrapper.rb +80 -51
- 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/RhoWKWebView.mm +78 -11
- data/platform/iphone/Classes/RhoWebViewFabrique.m +6 -1
- data/platform/iphone/Classes/Rhodes.m +3 -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/Rhodes/Rhodes.xcodeproj/project.pbxproj +1 -1
- data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +364 -0
- data/platform/iphone/rbuild/iphone.rake +4 -0
- data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
- data/platform/shared/common/RhodesApp.cpp +26 -1
- data/platform/shared/net/HttpServer.cpp +20 -0
- data/platform/shared/qt/RhoSimulator.pro +1 -1
- data/platform/shared/ruby/osx/ruby/config.h +2 -0
- data/platform/shared/ruby/win32/win32.c +10 -3
- data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
- data/rakefile.rb +52 -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/generators/templates/application/AndroidManifest.erb +2 -1
- data/res/generators/templates/application/build.yml +4 -1
- data/res/generators/templates/application/rhoconfig.txt +5 -0
- data/rhobuild.yml.example +4 -4
- data/rhodes.gemspec +1 -2
- data/version +1 -1
- metadata +80 -35
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7af07706b4bd3b1bc920e413e23a92e35e7e97a89ee20d8b89082b23b12124a2
|
|
4
|
+
data.tar.gz: a98e541aa0cc59dee93ee1d49dbecf6eb8aa50cfafa56573d07c442bc51b11cc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 207190b03c514b89222e71ff9633f1c7c1b60adc4b4f8dfcce2d6b465374e9dcde193a9f60a02fb484d306e7bb69f5e158c43c887f6438d970e3e9fce73941b0
|
|
7
|
+
data.tar.gz: 2b39d62c30c75909826719ca8c67000ba21333cb5babe782072d427709071571152480d735d361b85e8e012761795d657d95b37247c311349a7c6ec1bef9cdb6
|
data/CREDITS
CHANGED
|
@@ -2227,4 +2227,6 @@ Rhodes contains code from the following other projects:
|
|
|
2227
2227
|
|
|
2228
2228
|
JXcore (https://github.com/jxcore/jxcore)
|
|
2229
2229
|
License: MIT-Style (https://github.com/jxcore/jxcore/blob/master/JXCORE_LICENSE)
|
|
2230
|
-
|
|
2230
|
+
|
|
2231
|
+
CocoaHTTPServer (https://github.com/robbiehanson/CocoaHTTPServer)
|
|
2232
|
+
License: BSD-style (https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt)
|
data/LICENSE
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2008-2010 Rhomobile, Inc.
|
|
4
4
|
Copyright (c) 2011-2016 Symbol Technologies LLC
|
|
5
|
-
Copyright (c) 2016-
|
|
5
|
+
Copyright (c) 2016-2022 Tau Technologies, Inc.
|
|
6
6
|
|
|
7
7
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
8
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
[](https://dev.azure.com/TauPlatform/rhodes/_build/latest?definitionId=1&branchName=master)
|
|
2
|
+
|
|
1
3
|
[](https://travis-ci.org/rhomobile/rhodes)
|
|
2
4
|
|
|
3
5
|
[](https://ci.appveyor.com/project/alex-epifanoff/rhodes/branch/master)
|
|
@@ -5,7 +7,7 @@
|
|
|
5
7
|
# Current state of Rhomobile solution
|
|
6
8
|
|
|
7
9
|
Currently Rhomobile solution supported and improved by TAU Technologies Inc (partner of Zebra Technologies).
|
|
8
|
-
For questions on commercial support contact [contact mail](mailto:info@tau-platform.com) or reach out to the [TAU Technologies website](http://
|
|
10
|
+
For questions on commercial support contact [contact mail](mailto:info@tau-platform.com) or reach out to the [TAU Technologies website](http://tau-platform.com).
|
|
9
11
|
|
|
10
12
|
Current actual version is Rhomobile Suite 7.0. [Download RMS 7.0](http://tau-platform.com/developers/downloads/)
|
|
11
13
|
|
data/Rakefile
CHANGED
|
@@ -3985,11 +3985,11 @@ namespace "build" do
|
|
|
3985
3985
|
|
|
3986
3986
|
rho_ruby_project = File.join($startdir, "platform/win32/RubyWin/RubyWin.2015.sln")
|
|
3987
3987
|
argsClean = [rho_ruby_project, "/p:Configuration=Release_RubyCompiler", "/p:Platform=Win32",
|
|
3988
|
-
'/p:VisualStudioVersion=14.
|
|
3988
|
+
'/p:VisualStudioVersion=14.2', '/t:Clean']
|
|
3989
3989
|
Jake.run(msbuild, argsClean)
|
|
3990
3990
|
|
|
3991
3991
|
argsBuild = [rho_ruby_project, "/p:Configuration=Release_RubyCompiler", "/p:Platform=Win32",
|
|
3992
|
-
'/p:VisualStudioVersion=14.
|
|
3992
|
+
'/p:VisualStudioVersion=14.2', '/t:Build']
|
|
3993
3993
|
Jake.run(msbuild, argsBuild)
|
|
3994
3994
|
puts "RhoRuby rebuilded"
|
|
3995
3995
|
end
|
|
@@ -4296,9 +4296,9 @@ namespace "run" do
|
|
|
4296
4296
|
end
|
|
4297
4297
|
|
|
4298
4298
|
if $config['env']['paths']['rhosimulator'] and $config['env']['paths']['rhosimulator'].length() > 0
|
|
4299
|
-
path = File.join( $config['env']['paths']['rhosimulator'], "
|
|
4299
|
+
path = File.join( $config['env']['paths']['rhosimulator'], "RhoSimulator.exe" )
|
|
4300
4300
|
else
|
|
4301
|
-
path = File.join( $startdir, "platform/win32/RhoSimulator/
|
|
4301
|
+
path = File.join( $startdir, "platform/win32/RhoSimulator/RhoSimulator.exe" )
|
|
4302
4302
|
end
|
|
4303
4303
|
|
|
4304
4304
|
oldDir = File.join( $startdir, "platform/win32/RhoSimulator" )
|
|
@@ -4307,7 +4307,7 @@ namespace "run" do
|
|
|
4307
4307
|
qtdir = ENV['QTDIR']
|
|
4308
4308
|
args << "-remote-debugging-port=9090"
|
|
4309
4309
|
|
|
4310
|
-
cmd = File.join(newDir, '
|
|
4310
|
+
cmd = File.join(newDir, 'RhoSimulator.exe')
|
|
4311
4311
|
elsif RUBY_PLATFORM =~ /darwin/
|
|
4312
4312
|
|
|
4313
4313
|
path = File.join( $startdir, "platform/osx/bin/RhoSimulator" )
|
|
@@ -4452,59 +4452,68 @@ namespace "build" do
|
|
|
4452
4452
|
end
|
|
4453
4453
|
|
|
4454
4454
|
def downloadRhosim( targetPath )
|
|
4455
|
-
require 'tempfile'
|
|
4456
4455
|
|
|
4457
|
-
|
|
4458
|
-
branch = `git rev-parse --abbrev-ref HEAD`.strip
|
|
4456
|
+
require 'tempfile'
|
|
4459
4457
|
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
elsif RUBY_PLATFORM =~ /darwin/
|
|
4463
|
-
url = "https://tau-autobuilds.s3.eu-central-1.amazonaws.com/rhomobile/rhodes/#{branch}/#{commit}/osx-rhosimulator_osx-/RhoSimulator.app.zip"
|
|
4464
|
-
else
|
|
4465
|
-
return
|
|
4466
|
-
end
|
|
4458
|
+
commit = `git rev-parse HEAD`.strip
|
|
4459
|
+
branch = `git rev-parse --abbrev-ref HEAD`.strip
|
|
4467
4460
|
|
|
4468
|
-
|
|
4461
|
+
if RUBY_PLATFORM =~ /(win|w)32$/
|
|
4462
|
+
url = "https://tau-autobuilds.s3.eu-central-1.amazonaws.com/rhomobile/rhodes/#{branch}/#{commit}/win32-RhoSimulator/RhoSimulator.zip"
|
|
4463
|
+
elsif RUBY_PLATFORM =~ /darwin/
|
|
4464
|
+
url = "https://tau-autobuilds.s3.eu-central-1.amazonaws.com/rhomobile/rhodes/#{branch}/#{commit}/osx-rhosimulator_osx-/RhoSimulator.app.zip"
|
|
4465
|
+
else
|
|
4466
|
+
return
|
|
4467
|
+
end
|
|
4469
4468
|
|
|
4470
|
-
|
|
4471
|
-
file.binmode
|
|
4469
|
+
$logger.info "Downloading rhosim from #{url}"
|
|
4472
4470
|
|
|
4473
|
-
|
|
4471
|
+
file = Tempfile.new('rhosim.zip')
|
|
4472
|
+
file.binmode
|
|
4474
4473
|
|
|
4475
|
-
|
|
4476
|
-
http.use_ssl = true
|
|
4474
|
+
uri = URI.parse(url)
|
|
4477
4475
|
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
x = 0
|
|
4476
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
4477
|
+
http.use_ssl = true
|
|
4481
4478
|
|
|
4482
|
-
|
|
4483
|
-
x += fragment.length
|
|
4484
|
-
file.write(fragment)
|
|
4485
|
-
end
|
|
4486
|
-
end
|
|
4479
|
+
begin
|
|
4487
4480
|
|
|
4488
|
-
|
|
4489
|
-
|
|
4481
|
+
http.request_get(uri.path) do |response|
|
|
4482
|
+
length = response['Content-Length'].to_i
|
|
4483
|
+
x = 0
|
|
4490
4484
|
|
|
4491
|
-
|
|
4485
|
+
response.read_body do |fragment|
|
|
4486
|
+
x += fragment.length
|
|
4487
|
+
file.write(fragment)
|
|
4488
|
+
end
|
|
4489
|
+
end
|
|
4492
4490
|
|
|
4493
|
-
|
|
4491
|
+
file.flush
|
|
4492
|
+
file.close
|
|
4494
4493
|
|
|
4495
|
-
|
|
4494
|
+
$logger.info "Unzipping #{file.path} to #{targetPath}"
|
|
4496
4495
|
|
|
4497
|
-
|
|
4498
|
-
file.close
|
|
4496
|
+
mkdir_p( targetPath )
|
|
4499
4497
|
|
|
4500
|
-
|
|
4501
|
-
zip_file.each do |f|
|
|
4502
|
-
fpath = File.join(targetPath, f.name)
|
|
4503
|
-
zip_file.extract(f, fpath)
|
|
4504
|
-
end
|
|
4505
|
-
end
|
|
4498
|
+
require 'zip'
|
|
4506
4499
|
|
|
4507
|
-
|
|
4500
|
+
zipfile = file.path
|
|
4501
|
+
file.close
|
|
4502
|
+
|
|
4503
|
+
Zip::File.open(zipfile) do |zip_file|
|
|
4504
|
+
zip_file.each do |f|
|
|
4505
|
+
fpath = File.join(targetPath, f.name)
|
|
4506
|
+
zip_file.extract(f, fpath)
|
|
4507
|
+
end
|
|
4508
|
+
end
|
|
4509
|
+
|
|
4510
|
+
rescue Exception => e
|
|
4511
|
+
$logger.error "Can't download RhoSimulator: #{e.inspect}"
|
|
4512
|
+
|
|
4513
|
+
rm_r targetPath
|
|
4514
|
+
ensure
|
|
4515
|
+
file.delete
|
|
4516
|
+
end
|
|
4508
4517
|
|
|
4509
4518
|
end
|
|
4510
4519
|
|
data/SECURITY.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
| Version | Supported |
|
|
6
|
+
| ------- | ------------------ |
|
|
7
|
+
| 7.4.x | :white_check_mark: |
|
|
8
|
+
| 7.3.x | :white_check_mark: |
|
|
9
|
+
| 7.2.x | :white_check_mark: |
|
|
10
|
+
| 7.1.x | :white_check_mark: |
|
|
11
|
+
| < 7.1 | :x: |
|
|
12
|
+
|
|
13
|
+
## Reporting a Vulnerability
|
|
14
|
+
|
|
15
|
+
Ways to submit a support request or security issue:
|
|
16
|
+
|
|
17
|
+
1. Github issue.
|
|
18
|
+
2. Zendesk ( for paid customers ): https://tautechnologies.zendesk.com/
|
|
19
|
+
3. Community forums: https://forums.tau-platform.com
|
data/appveyor.yml
CHANGED
|
@@ -94,8 +94,6 @@ environment:
|
|
|
94
94
|
target_artefact_path: C:\TAU\RMS-Testing\auto\feature_def\framework_spec\bin\target\win32\
|
|
95
95
|
#target_artefact_file_name: framework_spec-setup.exe
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
99
97
|
- win32_kitchensinkJS:
|
|
100
98
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
101
99
|
QTDIR: C:\Qt\5.13\msvc2017
|
|
@@ -119,8 +117,8 @@ environment:
|
|
|
119
117
|
target_artefact_file_name: kitchensinkRuby-setup.exe
|
|
120
118
|
|
|
121
119
|
- win32_rho_ruby:
|
|
122
|
-
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio
|
|
123
|
-
QTDIR: C:\Qt\5.
|
|
120
|
+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
121
|
+
QTDIR: C:\Qt\5.15\msvc2019
|
|
124
122
|
testable_application_repository: https://github.com/rhomobile/RMS-Testing.git
|
|
125
123
|
test_app_folder: C:\TAU\RMS-Testing\
|
|
126
124
|
test_app_subfolder: auto\feature_def\auto_common_spec\
|
|
@@ -129,13 +127,70 @@ environment:
|
|
|
129
127
|
after_build_command: "run:win32:spec"
|
|
130
128
|
app_name: auto_common_spec
|
|
131
129
|
target_os: win32
|
|
130
|
+
|
|
131
|
+
# - android_auto_common_spec_2017:
|
|
132
|
+
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
133
|
+
# QTDIR: C:\Qt\5.13\msvc2017
|
|
134
|
+
# testable_application_repository: https://github.com/rhomobile/RMS-Testing.git
|
|
135
|
+
# test_app_folder: C:\TAU\RMS-Testing\
|
|
136
|
+
# test_app_subfolder: auto\feature_def\auto_common_spec\
|
|
137
|
+
# build_command: "device:android:debug"
|
|
138
|
+
# #after_build_command: "run:win32:spec"
|
|
139
|
+
# app_name: auto_common_spec
|
|
140
|
+
# target_os: android
|
|
141
|
+
# target_artefact_path: C:\TAU\RMS-Testing\auto\feature_def\auto_common_spec\bin\target\android\
|
|
142
|
+
# target_artefact_file_name: auto_common_spec-debug.apk
|
|
143
|
+
# JAVA_HOME: C:\Program Files\Java\jdk11
|
|
144
|
+
# ANDROID_NDK_HOME: C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17
|
|
145
|
+
|
|
146
|
+
- android_framework_spec_2017:
|
|
147
|
+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
148
|
+
QTDIR: C:\Qt\5.13\msvc2017
|
|
149
|
+
testable_application_repository: https://github.com/rhomobile/RMS-Testing.git
|
|
150
|
+
test_app_folder: C:\TAU\RMS-Testing\
|
|
151
|
+
test_app_subfolder: auto\feature_def\framework_spec\
|
|
152
|
+
build_command: "device:android:debug"
|
|
153
|
+
#after_build_command: "run:win32:spec"
|
|
154
|
+
app_name: framework_spec
|
|
155
|
+
target_os: android
|
|
156
|
+
target_artefact_path: C:\TAU\RMS-Testing\auto\feature_def\framework_spec\bin\target\android\
|
|
157
|
+
target_artefact_file_name: framework_spec-debug.apk
|
|
158
|
+
JAVA_HOME: C:\Program Files\Java\jdk11
|
|
159
|
+
ANDROID_NDK_HOME: C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17
|
|
160
|
+
|
|
161
|
+
- android_system-api-samples_2017:
|
|
162
|
+
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
163
|
+
QTDIR: C:\Qt\5.13\msvc2017
|
|
164
|
+
testable_application_repository: https://github.com/tauplatform/rhodes-system-api-samples.git
|
|
165
|
+
test_app_folder: C:\TAU\rhodes-system-api-samples\
|
|
166
|
+
build_command: "device:android:debug"
|
|
167
|
+
#after_build_command: "run:win32:spec"
|
|
168
|
+
app_name: SAS
|
|
169
|
+
target_os: android
|
|
170
|
+
target_artefact_path: C:\TAU\rhodes-system-api-samples\bin\target\android\
|
|
171
|
+
target_artefact_file_name: SAS-debug.apk
|
|
172
|
+
JAVA_HOME: C:\Program Files\Java\jdk11
|
|
173
|
+
ANDROID_NDK_HOME: C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r17
|
|
132
174
|
|
|
133
175
|
|
|
134
176
|
build: off
|
|
135
177
|
|
|
136
178
|
install:
|
|
179
|
+
- ps: Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
|
|
180
|
+
- ps: Start-Sleep -s 10
|
|
181
|
+
- ps: Restart-Computer -Force
|
|
182
|
+
- ps: Start-Sleep -s 10
|
|
137
183
|
- set PATH=C:\Ruby26\bin;%PATH%
|
|
138
184
|
- set RAKEOPT=-rdevkit
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
- IF %target_os%==android appveyor DownloadFile https://s3.amazonaws.com/files.tau-platform.com/buildenv/addon-symbol-emdk_v4.2-API-22.zip -FileName C:\TAU\emdk.zip
|
|
188
|
+
- IF %target_os%==android 7z x -y C:\TAU\emdk.zip -oC:\PROGRA~2\Android\android-sdk\add-ons\ -r
|
|
189
|
+
|
|
190
|
+
- IF %target_os%==android keytool -genkey -v -keystore %USERPROFILE%\.android\debug.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias androiddebugkey -noprompt -dname "CN=Rho-Android-appveyor-build" -storepass android -keypass android
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
# - Tree "C:\Program Files (x86)\Android\android-sdk\add-ons" /F
|
|
139
194
|
# - gem install rest-client --no-document -f
|
|
140
195
|
# - gem install listen --no-document -f
|
|
141
196
|
# - gem install zip --no-document -f
|
|
@@ -147,6 +202,7 @@ before_test:
|
|
|
147
202
|
- ruby -v
|
|
148
203
|
- gem -v
|
|
149
204
|
- bundle -v
|
|
205
|
+
- cd C:\TAU\rhodes\
|
|
150
206
|
- cp rhobuild.yml.example rhobuild.yml
|
|
151
207
|
- ruby C:\TAU\rhodes\lib\build\buildgem.rb
|
|
152
208
|
- set /P BUILD_VERSION=<version
|
|
@@ -158,8 +214,6 @@ before_test:
|
|
|
158
214
|
- set /P BUILD_VERSION_RHOCONNECT=<version
|
|
159
215
|
- gem install rhoconnect-client-%BUILD_VERSION_RHOCONNECT%.gem --no-document -f
|
|
160
216
|
|
|
161
|
-
#- appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
|
|
162
|
-
#- nuget restore C:\TAU\rhodes\platform\uwp\rhodes_dev.sln
|
|
163
217
|
|
|
164
218
|
- cd C:\TAU\
|
|
165
219
|
- rmdir /Q /S rhodes
|
|
@@ -170,7 +224,6 @@ test_script:
|
|
|
170
224
|
- cd %test_app_folder%
|
|
171
225
|
- IF DEFINED test_app_subfolder cd %test_app_subfolder%
|
|
172
226
|
- rake clean:win32
|
|
173
|
-
#- rake clean:uwp
|
|
174
227
|
- IF DEFINED pre_build_command rake %pre_build_command% --trace
|
|
175
228
|
- rake %build_command% --trace
|
|
176
229
|
- IF DEFINED after_build_command rake %after_build_command%
|
data/azure-pipelines.yml
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: rhomobile
|
|
2
|
+
|
|
3
|
+
variables:
|
|
4
|
+
- name: BUILD_DIR
|
|
5
|
+
value: $(Build.Repository.LocalPath)
|
|
6
|
+
- name: TRAVIS_BUILD_DIR
|
|
7
|
+
value: $(Build.Repository.LocalPath)
|
|
8
|
+
- name: OS_NAME
|
|
9
|
+
value: osx
|
|
10
|
+
- name: RHO_TARGET
|
|
11
|
+
value: rhosimulator_osx
|
|
12
|
+
- name: RHO_RUNNER_SCRIPT
|
|
13
|
+
value: run_app_on_simulator.sh
|
|
14
|
+
- name: RHO_RUBY
|
|
15
|
+
value: ruby-2.7
|
|
16
|
+
- name: ruby_version
|
|
17
|
+
value: '2.7'
|
|
18
|
+
- name: BUILD_ARTEFACTS_DIR
|
|
19
|
+
value: $(Pipeline.Workspace)/build_artefacts
|
|
20
|
+
- name: RHO_APP
|
|
21
|
+
value: ""
|
|
22
|
+
|
|
23
|
+
- name: QTDIR
|
|
24
|
+
value: $(Pipeline.Workspace)/Qt5.15.2/5.15.2/clang_64
|
|
25
|
+
|
|
26
|
+
- name: S3_JOB_DIR
|
|
27
|
+
value: "$(Build.SourceVersion)/${{ variables.OS_NAME }}"
|
|
28
|
+
|
|
29
|
+
- name: S3_DEPLOY_DIR
|
|
30
|
+
value: "$(Build.Repository.Name)/$(Build.SourceBranchName)"
|
|
31
|
+
|
|
32
|
+
trigger:
|
|
33
|
+
branches:
|
|
34
|
+
exclude:
|
|
35
|
+
- '*'
|
|
36
|
+
|
|
37
|
+
stages:
|
|
38
|
+
- stage: build
|
|
39
|
+
jobs:
|
|
40
|
+
- job: build
|
|
41
|
+
pool:
|
|
42
|
+
vmImage: 'macOS-10.15'
|
|
43
|
+
steps:
|
|
44
|
+
# - task: Bash@3
|
|
45
|
+
# inputs:
|
|
46
|
+
# targetType: 'inline'
|
|
47
|
+
# script: 'env | sort'
|
|
48
|
+
- task: UseRubyVersion@0
|
|
49
|
+
inputs:
|
|
50
|
+
versionSpec: $(ruby_version)
|
|
51
|
+
- task: Bash@3
|
|
52
|
+
inputs:
|
|
53
|
+
targetType: 'inline'
|
|
54
|
+
script: 'mkdir $BUILD_ARTEFACTS_DIR'
|
|
55
|
+
|
|
56
|
+
- script: $BUILD_DIR/.ci/azure-build.sh
|
|
57
|
+
|
|
58
|
+
- task: S3Upload@1
|
|
59
|
+
inputs:
|
|
60
|
+
regionName: 'eu-central-1'
|
|
61
|
+
bucketName: 'tau-autobuilds'
|
|
62
|
+
sourceFolder: '$(BUILD_ARTEFACTS_DIR)'
|
|
63
|
+
globExpressions: '**'
|
|
64
|
+
targetFolder: $(S3_DEPLOY_DIR)/$(S3_JOB_DIR)-$(RHO_TARGET)-$(RHO_APP)
|
|
65
|
+
filesAcl: 'public-read'
|
|
66
|
+
logRequest: true
|
|
67
|
+
logResponse: true
|
|
@@ -31,7 +31,7 @@ public class ANSManager {
|
|
|
31
31
|
Intent intent = createExplicitFromImplicitIntent( context, new Intent(ANSConstants.ANS_REGISTER_ACTION));
|
|
32
32
|
// The pending intent provides a spoof-proof way to pass the
|
|
33
33
|
// package-name string
|
|
34
|
-
intent.putExtra(ANSConstants.ANS_EXTRA_APP, PendingIntent.getBroadcast(context, 0, new Intent(),
|
|
34
|
+
intent.putExtra(ANSConstants.ANS_EXTRA_APP, PendingIntent.getBroadcast(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE));
|
|
35
35
|
|
|
36
36
|
// send the sender ID to the reg service
|
|
37
37
|
intent.putExtra(ANSConstants.ANS_EXTRA_APP_NAME, appName);
|
|
@@ -66,7 +66,7 @@ public class ANSManager {
|
|
|
66
66
|
Intent intent = createExplicitFromImplicitIntent( context, new Intent( ANSConstants.ANS_CHECK_REGISTRATION_ACTION) );
|
|
67
67
|
// The pending intent provides a spoof-proof way to pass the
|
|
68
68
|
// package-name string
|
|
69
|
-
intent.putExtra(ANSConstants.ANS_EXTRA_APP, PendingIntent.getBroadcast(context, 0, new Intent(),
|
|
69
|
+
intent.putExtra(ANSConstants.ANS_EXTRA_APP, PendingIntent.getBroadcast(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE));
|
|
70
70
|
|
|
71
71
|
// send the sender ID to the reg service
|
|
72
72
|
intent.putExtra(ANSConstants.ANS_EXTRA_APP_NAME, appName);
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
android:screenOrientation="landscape"
|
|
11
11
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
|
12
12
|
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
|
13
|
-
android:windowSoftInputMode="stateAlwaysHidden"
|
|
13
|
+
android:windowSoftInputMode="stateAlwaysHidden"
|
|
14
|
+
android:exported='true'
|
|
15
|
+
>
|
|
14
16
|
<intent-filter>
|
|
15
17
|
<action android:name="com.google.zxing.client.android.SCAN"/>
|
|
16
18
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
@@ -29,10 +29,10 @@ import android.hardware.Camera;
|
|
|
29
29
|
import android.hardware.Camera.Parameters;
|
|
30
30
|
import android.os.Build;
|
|
31
31
|
import android.os.Bundle;
|
|
32
|
-
import
|
|
33
|
-
import android.
|
|
34
|
-
import
|
|
35
|
-
import
|
|
32
|
+
import androidx.annotation.NonNull;
|
|
33
|
+
//import com.google.android.material.snackbar.Snackbar;
|
|
34
|
+
import androidx.core.app.ActivityCompat;
|
|
35
|
+
import androidx.appcompat.app.AppCompatActivity;
|
|
36
36
|
import android.util.Log;
|
|
37
37
|
import android.view.GestureDetector;
|
|
38
38
|
import android.view.MotionEvent;
|
|
@@ -66,7 +66,7 @@ import com.rhomobile.rhodes.Logger;
|
|
|
66
66
|
import com.rho.barcode.BarcodeFactory;
|
|
67
67
|
import com.rho.barcode.BarcodeCommon;
|
|
68
68
|
import android.content.pm.ActivityInfo;
|
|
69
|
-
import
|
|
69
|
+
import androidx.appcompat.widget.AppCompatImageButton;
|
|
70
70
|
import android.media.AudioManager;
|
|
71
71
|
import android.media.MediaPlayer;
|
|
72
72
|
import android.media.MediaPlayer.OnCompletionListener;
|
|
@@ -268,27 +268,25 @@ public final class BarcodeCaptureActivity extends AppCompatActivity implements B
|
|
|
268
268
|
|
|
269
269
|
final String[] permissions = new String[]{Manifest.permission.CAMERA};
|
|
270
270
|
|
|
271
|
-
if (!ActivityCompat.shouldShowRequestPermissionRationale(this,
|
|
272
|
-
Manifest.permission.CAMERA)) {
|
|
271
|
+
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
|
|
273
272
|
ActivityCompat.requestPermissions(this, permissions, RC_HANDLE_CAMERA_PERM);
|
|
274
273
|
return;
|
|
275
274
|
}
|
|
276
275
|
|
|
277
|
-
final Activity thisActivity = this;
|
|
276
|
+
/*final Activity thisActivity = this;
|
|
278
277
|
|
|
279
278
|
View.OnClickListener listener = new View.OnClickListener() {
|
|
280
279
|
@Override
|
|
281
280
|
public void onClick(View view) {
|
|
282
|
-
ActivityCompat.requestPermissions(thisActivity, permissions,
|
|
283
|
-
RC_HANDLE_CAMERA_PERM);
|
|
281
|
+
ActivityCompat.requestPermissions(thisActivity, permissions, RC_HANDLE_CAMERA_PERM);
|
|
284
282
|
}
|
|
285
283
|
};
|
|
286
284
|
|
|
287
285
|
findViewById(R.id.topLayout).setOnClickListener(listener);
|
|
288
|
-
Snackbar.make(mGraphicOverlay, R.string.permission_camera_rationale,
|
|
289
|
-
Snackbar.LENGTH_INDEFINITE)
|
|
286
|
+
Snackbar.make(mGraphicOverlay, R.string.permission_camera_rationale, Snackbar.LENGTH_INDEFINITE)
|
|
290
287
|
.setAction(R.string.ok, listener)
|
|
291
|
-
.show()
|
|
288
|
+
.show();*/
|
|
289
|
+
|
|
292
290
|
}
|
|
293
291
|
|
|
294
292
|
@Override
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
package com.google.barcodereader;
|
|
17
17
|
|
|
18
18
|
import android.content.Context;
|
|
19
|
-
import
|
|
19
|
+
import androidx.annotation.UiThread;
|
|
20
20
|
|
|
21
21
|
import com.google.barcodereader.ui.camera.GraphicOverlay;
|
|
22
22
|
import com.google.android.gms.vision.Detector;
|
|
@@ -25,9 +25,9 @@ import android.hardware.Camera;
|
|
|
25
25
|
import android.hardware.Camera.CameraInfo;
|
|
26
26
|
import android.os.Build;
|
|
27
27
|
import android.os.SystemClock;
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
28
|
+
import androidx.annotation.Nullable;
|
|
29
|
+
import androidx.annotation.RequiresPermission;
|
|
30
|
+
import androidx.annotation.StringDef;
|
|
31
31
|
import android.util.Log;
|
|
32
32
|
import android.view.Surface;
|
|
33
33
|
import android.view.SurfaceHolder;
|
|
@@ -18,7 +18,7 @@ package com.google.barcodereader.ui.camera;
|
|
|
18
18
|
import android.Manifest;
|
|
19
19
|
import android.content.Context;
|
|
20
20
|
import android.content.res.Configuration;
|
|
21
|
-
import
|
|
21
|
+
import androidx.annotation.RequiresPermission;
|
|
22
22
|
import android.util.AttributeSet;
|
|
23
23
|
import android.util.Log;
|
|
24
24
|
import android.view.SurfaceHolder;
|
|
@@ -10,14 +10,10 @@ 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
|
-
# - 'com.android.support:support-core-ui:25.2.0'
|
|
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.appcompat:appcompat:1.3.0'
|
|
15
|
+
- 'androidx.lifecycle:lifecycle-common:2.3.1'
|
|
16
|
+
- 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
|
|
21
17
|
|
|
22
18
|
sailfish:
|
|
23
19
|
proerb: ext/platform/qt/Barcode.pro.erb
|
|
@@ -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]
|
|
@@ -320,7 +320,8 @@ public class Notification {
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
builder.setSmallIcon(R.drawable.ic_notification);
|
|
323
|
-
builder.setContentIntent(PendingIntent.getActivity(ctx, id, new Intent(ctx, RhodesActivity.class),
|
|
323
|
+
builder.setContentIntent(PendingIntent.getActivity(ctx, id, new Intent(ctx, RhodesActivity.class),
|
|
324
|
+
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE));
|
|
324
325
|
|
|
325
326
|
builder.setDefaults(android.app.Notification.DEFAULT_VIBRATE | android.app.Notification.DEFAULT_SOUND);
|
|
326
327
|
|
|
@@ -347,7 +348,8 @@ public class Notification {
|
|
|
347
348
|
resId = R.drawable.ic_action_cancel;
|
|
348
349
|
}
|
|
349
350
|
|
|
350
|
-
builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent,
|
|
351
|
+
builder.addAction(resId, action.title, PendingIntent.getService(ctx, id, actionIntent,
|
|
352
|
+
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE));
|
|
351
353
|
}
|
|
352
354
|
}
|
|
353
355
|
|
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
|
|
|
@@ -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;
|
|
@@ -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
|
|