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.
Files changed (165) hide show
  1. checksums.yaml +5 -5
  2. data/CREDITS +3 -1
  3. data/LICENSE +1 -1
  4. data/README.md +3 -1
  5. data/Rakefile +52 -43
  6. data/SECURITY.md +19 -0
  7. data/appveyor.yml +60 -7
  8. data/azure-pipelines.yml +67 -0
  9. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.java +2 -2
  10. data/lib/commonAPI/barcode/ext/platform/android/AndroidManifest.xml +3 -1
  11. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeCaptureActivity.java +11 -13
  12. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeGraphicTracker.java +1 -1
  13. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSource.java +3 -3
  14. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSourcePreview.java +1 -1
  15. data/lib/commonAPI/barcode/ext.yml +4 -8
  16. data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +0 -12
  17. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +4 -2
  18. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +3 -3
  19. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +1 -1
  20. data/lib/commonAPI/coreapi/ext/push.xml +5 -2
  21. data/lib/commonAPI/mediacapture/ext/camera.xml +4 -9
  22. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
  23. data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +1 -9
  24. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraExtension.java +0 -2
  25. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraFactory.java +19 -24
  26. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +317 -729
  27. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +240 -434
  28. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/{CameraSingletonObject.java → CameraSingleton.java} +68 -74
  29. data/lib/commonAPI/printing_zebra/ext/platform/android/src/com/rhomobile/printing/zebra/impl/ZebraPrintingProviderImpl.java +2 -1
  30. data/lib/extensions/fcm-push/ext/android/ApplicationManifestAdds.erb +15 -17
  31. data/lib/extensions/fcm-push/ext/android/Rakefile +59 -34
  32. data/lib/extensions/fcm-push/ext/android/ext_java.files +0 -1
  33. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMFacade.java +13 -17
  34. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +81 -80
  35. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMListener.java +0 -16
  36. data/lib/extensions/fcm-push/ext.yml +1 -1
  37. data/lib/extensions/gmaps/ext/platform/android/ApplicationManifestAdds.erb +1 -0
  38. data/lib/extensions/gmaps/ext/platform/android/src/com/rhomobile/rhodes/gmaps/GMapActivity.java +12 -4
  39. data/lib/extensions/gmaps/ext.yml +3 -1
  40. data/platform/android/Rhodes/jni/src/MethodResultJni.cpp +4 -0
  41. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +3 -3
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +3 -3
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +1 -1
  44. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +14 -14
  45. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +18 -9
  46. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +1 -1
  47. data/platform/android/build/{aab_builder.rb → aapt2_helper.rb} +94 -37
  48. data/platform/android/build/android.rake +124 -191
  49. data/platform/android/build/android_tools.rb +9 -9
  50. data/platform/android/build/androidcommon.rb +18 -7
  51. data/platform/android/build/build_tools_finder.rb +46 -0
  52. data/platform/android/build/config.yml +5 -0
  53. data/platform/android/build/dex_builder.rb +88 -0
  54. data/platform/android/build/hostplatform.rb +9 -0
  55. data/platform/android/build/manifest_generator.rb +1 -0
  56. data/platform/android/build/maven_deps_extractor.rb +22 -21
  57. data/platform/android/build/ndkwrapper.rb +80 -51
  58. data/platform/iphone/Classes/AppManager/AppManager.m +3 -1
  59. data/platform/iphone/Classes/Camera/PickImageDelegate.h +2 -0
  60. data/platform/iphone/Classes/Camera/PickImageDelegate.m +45 -23
  61. data/platform/iphone/Classes/CocoaServer/CCocoaServer.h +27 -0
  62. data/platform/iphone/Classes/CocoaServer/CCocoaServer.m +107 -0
  63. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.h +16 -0
  64. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.m +226 -0
  65. data/platform/iphone/Classes/RhoWKWebView.mm +78 -11
  66. data/platform/iphone/Classes/RhoWebViewFabrique.m +6 -1
  67. data/platform/iphone/Classes/Rhodes.m +3 -0
  68. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.h +14 -0
  69. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.m +158 -0
  70. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.h +12 -0
  71. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.m +88 -0
  72. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.h +56 -0
  73. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.m +104 -0
  74. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.h +45 -0
  75. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.m +195 -0
  76. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.h +120 -0
  77. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.m +2708 -0
  78. data/platform/iphone/CocoaHTTPServer/Core/HTTPLogging.h +136 -0
  79. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.h +48 -0
  80. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.m +113 -0
  81. data/platform/iphone/CocoaHTTPServer/Core/HTTPResponse.h +149 -0
  82. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.h +205 -0
  83. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.m +772 -0
  84. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h +65 -0
  85. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.m +529 -0
  86. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h +33 -0
  87. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.m +86 -0
  88. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h +23 -0
  89. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.m +211 -0
  90. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h +75 -0
  91. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.m +405 -0
  92. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.h +13 -0
  93. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.m +79 -0
  94. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h +52 -0
  95. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.m +292 -0
  96. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.h +9 -0
  97. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.m +38 -0
  98. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.h +25 -0
  99. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.m +237 -0
  100. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h +12 -0
  101. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.m +73 -0
  102. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.h +105 -0
  103. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.m +791 -0
  104. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h +7 -0
  105. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.m +160 -0
  106. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h +11 -0
  107. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.m +372 -0
  108. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h +7 -0
  109. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.m +49 -0
  110. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h +8 -0
  111. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.m +69 -0
  112. data/platform/iphone/CocoaHTTPServer/LICENSE.txt +18 -0
  113. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/About.txt +4 -0
  114. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +1226 -0
  115. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +8528 -0
  116. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/About.txt +33 -0
  117. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.h +41 -0
  118. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.m +99 -0
  119. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  120. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m +727 -0
  121. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.h +334 -0
  122. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.m +1353 -0
  123. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.h +601 -0
  124. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.m +1083 -0
  125. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.h +167 -0
  126. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.m +1479 -0
  127. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
  128. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
  129. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
  130. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
  131. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/README.txt +7 -0
  132. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +1 -1
  133. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +364 -0
  134. data/platform/iphone/rbuild/iphone.rake +4 -0
  135. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  136. data/platform/shared/common/RhodesApp.cpp +26 -1
  137. data/platform/shared/net/HttpServer.cpp +20 -0
  138. data/platform/shared/qt/RhoSimulator.pro +1 -1
  139. data/platform/shared/ruby/osx/ruby/config.h +2 -0
  140. data/platform/shared/ruby/win32/win32.c +10 -3
  141. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  142. data/rakefile.rb +52 -43
  143. data/res/build-tools/RhoRuby.exe +0 -0
  144. data/res/build-tools/aapt2/linux/aapt2 +0 -0
  145. data/res/build-tools/aapt2/osx/aapt2 +0 -0
  146. data/res/generators/templates/application/AndroidManifest.erb +2 -1
  147. data/res/generators/templates/application/build.yml +4 -1
  148. data/res/generators/templates/application/rhoconfig.txt +5 -0
  149. data/rhobuild.yml.example +4 -4
  150. data/rhodes.gemspec +1 -2
  151. data/version +1 -1
  152. metadata +80 -35
  153. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/drawable/camera_btn.xml +0 -14
  154. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_land.xml +0 -23
  155. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_port.xml +0 -23
  156. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraActivity.java +0 -156
  157. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +0 -227
  158. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +0 -152
  159. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraPreview.java +0 -183
  160. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java +0 -14
  161. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java +0 -60
  162. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +0 -20
  163. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java +0 -8
  164. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMTokenRefresherService.java +0 -27
  165. data/platform/android/Rhodes/AndroidManifest.xml.erb +0 -89
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 43f0cb24d9b4bc90ae296b771c8f11db34b6ba05
4
- data.tar.gz: da7f51bbf2043b713862d144b4d2181a2b2aa817
2
+ SHA256:
3
+ metadata.gz: 7af07706b4bd3b1bc920e413e23a92e35e7e97a89ee20d8b89082b23b12124a2
4
+ data.tar.gz: a98e541aa0cc59dee93ee1d49dbecf6eb8aa50cfafa56573d07c442bc51b11cc
5
5
  SHA512:
6
- metadata.gz: a28711656f80ee9ee6d35a375755d35e7529c773e4d37c5ae122ecdd75e4119c792c2ff4d8b72bc4e4182f136fe2cf31fe9a323ffc1aa42f25475dc4d261a16b
7
- data.tar.gz: 16cb997336dc241454426e0630e7bd8a87b6044bd4c832b8e392229b5ab71cee8f254f60088579de45593d1e322d3a8240a3a48fbc4d5fc148ec58d6860ea162
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-2020 Tau Technologies, Inc.
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://www.tau-platform.com).
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.0', '/t:Clean']
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.0', '/t:Build']
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'], "rhosimulator.exe" )
4299
+ path = File.join( $config['env']['paths']['rhosimulator'], "RhoSimulator.exe" )
4300
4300
  else
4301
- path = File.join( $startdir, "platform/win32/RhoSimulator/rhosimulator.exe" )
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, 'rhosimulator.exe')
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
- commit = `git rev-parse HEAD`.strip
4458
- branch = `git rev-parse --abbrev-ref HEAD`.strip
4456
+ require 'tempfile'
4459
4457
 
4460
- if RUBY_PLATFORM =~ /(win|w)32$/
4461
- url = "https://tau-autobuilds.s3.eu-central-1.amazonaws.com/rhomobile/rhodes/#{branch}/#{commit}/win32-RhoSimulator/RhoSimulator.zip"
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
- $logger.info "Downloading rhosim from #{url}"
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
- file = Tempfile.new('rhosim.zip')
4471
- file.binmode
4469
+ $logger.info "Downloading rhosim from #{url}"
4472
4470
 
4473
- uri = URI.parse(url)
4471
+ file = Tempfile.new('rhosim.zip')
4472
+ file.binmode
4474
4473
 
4475
- http = Net::HTTP.new(uri.host, uri.port)
4476
- http.use_ssl = true
4474
+ uri = URI.parse(url)
4477
4475
 
4478
- http.request_get(uri.path) do |response|
4479
- length = response['Content-Length'].to_i
4480
- x = 0
4476
+ http = Net::HTTP.new(uri.host, uri.port)
4477
+ http.use_ssl = true
4481
4478
 
4482
- response.read_body do |fragment|
4483
- x += fragment.length
4484
- file.write(fragment)
4485
- end
4486
- end
4479
+ begin
4487
4480
 
4488
- file.flush
4489
- file.close
4481
+ http.request_get(uri.path) do |response|
4482
+ length = response['Content-Length'].to_i
4483
+ x = 0
4490
4484
 
4491
- $logger.info "Unzipping #{file.path} to #{targetPath}"
4485
+ response.read_body do |fragment|
4486
+ x += fragment.length
4487
+ file.write(fragment)
4488
+ end
4489
+ end
4492
4490
 
4493
- mkdir_p( targetPath )
4491
+ file.flush
4492
+ file.close
4494
4493
 
4495
- require 'zip'
4494
+ $logger.info "Unzipping #{file.path} to #{targetPath}"
4496
4495
 
4497
- zipfile = file.path
4498
- file.close
4496
+ mkdir_p( targetPath )
4499
4497
 
4500
- Zip::File.open(zipfile) do |zip_file|
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
- file.delete
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 2017
123
- QTDIR: C:\Qt\5.13\msvc2017
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%
@@ -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(), 0));
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(), 0));
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 android.support.annotation.NonNull;
33
- import android.support.design.widget.Snackbar;
34
- import android.support.v4.app.ActivityCompat;
35
- import android.support.v7.app.AppCompatActivity;
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 android.support.v7.widget.AppCompatImageButton;
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 android.support.annotation.UiThread;
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 android.support.annotation.Nullable;
29
- import android.support.annotation.RequiresPermission;
30
- import android.support.annotation.StringDef;
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 android.support.annotation.RequiresPermission;
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:9.4.0'
14
- - 'com.android.support:support-v4:25.2.0'
15
- - 'com.android.support:design:25.2.0'
16
- # - 'com.android.support:support-compat:25.2.0'
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), PendingIntent.FLAG_UPDATE_CURRENT));
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, PendingIntent.FLAG_UPDATE_CURRENT));
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
 
@@ -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 android.support.v4.app.NotificationCompat;
22
- import android.support.v4.app.TaskStackBuilder;
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();
@@ -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 android.support.v4.app.NotificationCompat;
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
- fcmSenderID: 'your_fcm_sender_id'
19
- fcmAppID: 'your_fcm_app_id'
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