rhodes 7.4.1 → 7.5.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Build Status](https://dev.azure.com/TauPlatform/rhodes/_apis/build/status/rhomobile.rhodes?branchName=master)](https://dev.azure.com/TauPlatform/rhodes/_build/latest?definitionId=1&branchName=master)
|
2
|
+
|
1
3
|
[![Build Status](https://travis-ci.org/rhomobile/rhodes.svg?branch=master)](https://travis-ci.org/rhomobile/rhodes)
|
2
4
|
|
3
5
|
[![Build status](https://ci.appveyor.com/api/projects/status/4c1uqndnfau9c8hq/branch/master?svg=true)](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
|
|