Skip to content
Snippets Groups Projects
Commit c6d1b3c4 authored by Bruno Muniz's avatar Bruno Muniz :apple:
Browse files

Merge branch 'dev' into 'main'

Releasing 1.1.6 (219)

See merge request elixxir/client-ios!77
parents 9ff96751 7112df95
No related branches found
No related tags found
1 merge request!77Releasing 1.1.6 (219)
...@@ -57,6 +57,8 @@ struct DependencyRegistrator { ...@@ -57,6 +57,8 @@ struct DependencyRegistrator {
container.register(XXLogger.noop) container.register(XXLogger.noop)
container.register(CrashReporter.noop) container.register(CrashReporter.noop)
container.register(VersionChecker.mock) container.register(VersionChecker.mock)
container.register(ReportingStatus.mock())
container.register(SendReport.mock())
container.register(XXNetwork<BindingsMock>() as XXNetworking) container.register(XXNetwork<BindingsMock>() as XXNetworking)
container.register(MockNetworkMonitor() as NetworkMonitoring) container.register(MockNetworkMonitor() as NetworkMonitoring)
container.register(KeyObjectStore.userDefaults) container.register(KeyObjectStore.userDefaults)
...@@ -82,6 +84,7 @@ struct DependencyRegistrator { ...@@ -82,6 +84,7 @@ struct DependencyRegistrator {
container.register(CrashReporter.live) container.register(CrashReporter.live)
container.register(VersionChecker.live()) container.register(VersionChecker.live())
container.register(ReportingStatus.live()) container.register(ReportingStatus.live())
container.register(SendReport.live)
container.register(XXNetwork<BindingsClient>() as XXNetworking) container.register(XXNetwork<BindingsClient>() as XXNetworking)
container.register(NetworkMonitor() as NetworkMonitoring) container.register(NetworkMonitor() as NetworkMonitoring)
...@@ -105,7 +108,6 @@ struct DependencyRegistrator { ...@@ -105,7 +108,6 @@ struct DependencyRegistrator {
container.register(Voxophone()) container.register(Voxophone())
container.register(BackupService()) container.register(BackupService())
container.register(MakeAppScreenshot.live) container.register(MakeAppScreenshot.live)
container.register(SendReport.live)
container.register(FetchBannedList.live) container.register(FetchBannedList.live)
container.register(ProcessBannedList.live) container.register(ProcessBannedList.live)
container.register(MakeReportDrawer.live) container.register(MakeReportDrawer.live)
......
...@@ -530,12 +530,10 @@ extension SingleChatController: KeyboardListenerDelegate { ...@@ -530,12 +530,10 @@ extension SingleChatController: KeyboardListenerDelegate {
} }
func keyboardWillChangeFrame(info: KeyboardInfo) { func keyboardWillChangeFrame(info: KeyboardInfo) {
let keyWindow: UIWindow? = UIApplication.shared.connectedScenes let keyWindow = UIApplication.shared
.filter { $0.activationState == .foregroundActive } .connectedScenes
.compactMap { $0 as? UIWindowScene } .flatMap { ($0 as? UIWindowScene)?.windows ?? [] }
.first? .first { $0.isKeyWindow }
.windows
.first(where: \.isKeyWindow)
guard let keyWindow = keyWindow else { guard let keyWindow = keyWindow else {
fatalError("[keyboardWillChangeFrame]: Couldn't get key window") fatalError("[keyboardWillChangeFrame]: Couldn't get key window")
......
...@@ -122,7 +122,12 @@ public final class ChatInputView: UIToolbar { ...@@ -122,7 +122,12 @@ public final class ChatInputView: UIToolbar {
.map(\.text) .map(\.text)
.sink { [unowned self] in .sink { [unowned self] in
if text.textView.markedTextRange == nil { if text.textView.markedTextRange == nil {
let range = text.textView.selectedTextRange
text.textView.text = $0 text.textView.text = $0
if let range = range {
text.textView.selectedTextRange = range
}
} else if $0 == "" { } else if $0 == "" {
text.textView.text = $0 text.textView.text = $0
} }
......
...@@ -120,7 +120,6 @@ public final class BindingsMock: BindingsInterface { ...@@ -120,7 +120,6 @@ public final class BindingsMock: BindingsInterface {
self?.requestsSubject.send(.carlRequested) self?.requestsSubject.send(.carlRequested)
self?.requestsSubject.send(.angelinaRequested) self?.requestsSubject.send(.angelinaRequested)
self?.requestsSubject.send(.elonRequested) self?.requestsSubject.send(.elonRequested)
self?.groupRequestsSubject.send(.mockGroup)
DispatchQueue.global().asyncAfter(deadline: .now() + 1) { [weak self] in DispatchQueue.global().asyncAfter(deadline: .now() + 1) { [weak self] in
self?.confirmationsSubject.send(.georgeDiscovered) self?.confirmationsSubject.send(.georgeDiscovered)
......
...@@ -35,4 +35,17 @@ extension ReportingStatus { ...@@ -35,4 +35,17 @@ extension ReportingStatus {
} }
) )
} }
public static func mock(
isEnabled: Bool = false,
isOptional: Bool = true
) -> ReportingStatus {
let isEnabledSubject = CurrentValueSubject<Bool, Never>(isEnabled)
return ReportingStatus(
isOptional: { isOptional },
isEnabled: { isEnabledSubject.value },
isEnabledPublisher: { isEnabledSubject.eraseToAnyPublisher() },
enable: { isEnabledSubject.send($0) }
)
}
} }
...@@ -37,6 +37,18 @@ extension SendReport { ...@@ -37,6 +37,18 @@ extension SendReport {
} }
task.resume() task.resume()
} }
public static func mock(
result: Result<Void, Error> = .success(())
) -> SendReport {
SendReport { report, completion in
print("[SendReport.mock] Sending report: \(report)")
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
print("[SendReport.mock] Sending report finished")
completion(result)
}
}
}
} }
extension SendReport { extension SendReport {
......
...@@ -51,6 +51,7 @@ public final class SearchComponent: UIView { ...@@ -51,6 +51,7 @@ public final class SearchComponent: UIView {
rightButton.setContentCompressionResistancePriority(.required, for: .horizontal) rightButton.setContentCompressionResistancePriority(.required, for: .horizontal)
inputField.delegate = self inputField.delegate = self
inputField.autocapitalizationType = .none
inputField.textColor = Asset.neutralActive.color inputField.textColor = Asset.neutralActive.color
inputField.font = Fonts.Mulish.regular.font(size: 16.0) inputField.font = Fonts.Mulish.regular.font(size: 16.0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment