diff --git a/Sources/ChatFeature/Controllers/GroupChatController.swift b/Sources/ChatFeature/Controllers/GroupChatController.swift index bd187ca2a4a4854cfa19b3be249c3617573709d0..4680d76fbcfc25e2b772b292ef2c942a9909445a 100644 --- a/Sources/ChatFeature/Controllers/GroupChatController.swift +++ b/Sources/ChatFeature/Controllers/GroupChatController.swift @@ -25,9 +25,9 @@ public final class GroupChatController: UIViewController { @Dependency(\.app.dbManager) var dbManager @Dependency(\.app.statusBar) var statusBar @Dependency(\.reportingStatus) var reportingStatus + @Dependency(\.makeAppScreenshot) var makeAppScreenshot // @Dependency var makeReportDrawer: MakeReportDrawer -// @Dependency var makeAppScreenshot: MakeAppScreenshot private lazy var moreButton = UIButton() private lazy var headerView = GroupHeaderView() @@ -230,10 +230,10 @@ public final class GroupChatController: UIViewController { navigator.perform(DismissModal(from: self)) { [weak self] in guard let self else { return } self.drawerCancellables.removeAll() -// let screenshot = try! self.makeAppScreenshot() -// self.viewModel.report(contact: contact, screenshot: screenshot) { -// self.collectionView.reloadData() -// } + let screenshot = try! self.makeAppScreenshot() + self.viewModel.report(contact: contact, screenshot: screenshot) { + self.collectionView.reloadData() + } } }.store(in: &drawerCancellables) diff --git a/Sources/ChatFeature/Controllers/SingleChatController.swift b/Sources/ChatFeature/Controllers/SingleChatController.swift index 71a5a1c0b94300577e8c6502b108f1db4a5f7c6c..71fa59cace6abe6595aabe10b3ac192558e937f1 100644 --- a/Sources/ChatFeature/Controllers/SingleChatController.swift +++ b/Sources/ChatFeature/Controllers/SingleChatController.swift @@ -26,11 +26,11 @@ extension Message: Differentiable { public final class SingleChatController: UIViewController { // @Dependency var voxophone: Voxophone // @Dependency var makeReportDrawer: MakeReportDrawer -// @Dependency var makeAppScreenshot: MakeAppScreenshot @Dependency(\.navigator) var navigator @Dependency(\.app.statusBar) var statusBar @Dependency(\.reportingStatus) var reportingStatus + @Dependency(\.makeAppScreenshot) var makeAppScreenshot let voxophone = Voxophone() @@ -392,11 +392,11 @@ public final class SingleChatController: UIViewController { navigator.perform(DismissModal(from: self)) { [weak self] in guard let self else { return } self.drawerCancellables.removeAll() -// let screenshot = try! self.makeAppScreenshot() -// self.viewModel.report(screenshot: screenshot) { success in -// guard success else { return } -// self.navigationController?.popViewController(animated: true) -// } + let screenshot = try! self.makeAppScreenshot() + self.viewModel.report(screenshot: screenshot) { success in + guard success else { return } + self.navigationController?.popViewController(animated: true) + } } }.store(in: &drawerCancellables) diff --git a/Sources/ReportingFeature/MakeAppScreenshot.swift b/Sources/ReportingFeature/MakeAppScreenshot.swift index 75a1fc31e6139e9a3fc2510eb811f00ffe37a628..648240f7b6ffb1f1b1f47378d826c3e0645a3266 100644 --- a/Sources/ReportingFeature/MakeAppScreenshot.swift +++ b/Sources/ReportingFeature/MakeAppScreenshot.swift @@ -1,5 +1,6 @@ -import Foundation import UIKit +import Foundation +import Dependencies import XCTestDynamicOverlay public struct MakeAppScreenshot { @@ -51,3 +52,15 @@ extension MakeAppScreenshot { run: XCTUnimplemented("\(Self.self)") ) } + +private enum MakeAppScreenshotDependencyKey: DependencyKey { + static let liveValue: MakeAppScreenshot = .live + static let testValue: MakeAppScreenshot = .unimplemented +} + +extension DependencyValues { + public var makeAppScreenshot: MakeAppScreenshot { + get { self[MakeAppScreenshotDependencyKey.self] } + set { self[MakeAppScreenshotDependencyKey.self] = newValue } + } +} diff --git a/Sources/ReportingFeature/Resources/report_cert.der b/Sources/ReportingFeature/Resources/report_cert.der index 978f65098ea8f361f1f369194e24d68d258f4dc2..b040579312ef63ed54d63419ad2955e6160b9666 100644 Binary files a/Sources/ReportingFeature/Resources/report_cert.der and b/Sources/ReportingFeature/Resources/report_cert.der differ