Swiftgram/TelegramUI/WatchManager.swift
Ilya Laktyushin 8ca299e69c Fixed crash in avatar color index calculation
Fixed clearing of user's bio
2018-10-25 04:56:41 +03:00

51 lines
1.6 KiB
Swift

import Foundation
import SwiftSignalKit
import Postbox
import TelegramCore
public struct WatchRunningTasks: Equatable {
public let running: Bool
public let version: Int32
public init(running: Bool, version: Int32) {
self.running = running
self.version = version
}
public static func ==(lhs: WatchRunningTasks, rhs: WatchRunningTasks) -> Bool {
return lhs.running == rhs.running && lhs.version == rhs.version
}
}
public final class WatchManagerArguments {
public let appInstalled: Signal<Bool, NoError>
public let navigateToMessageRequested: Signal<MessageId, NoError>
public let runningTasks: Signal<WatchRunningTasks?, NoError>
public init(appInstalled: Signal<Bool, NoError>, navigateToMessageRequested: Signal<MessageId, NoError>, runningTasks: Signal<WatchRunningTasks?, NoError>) {
self.appInstalled = appInstalled
self.navigateToMessageRequested = navigateToMessageRequested
self.runningTasks = runningTasks
}
}
public final class WatchManager {
private let arguments: WatchManagerArguments?
public init(arguments: WatchManagerArguments?) {
self.arguments = arguments
}
public var watchAppInstalled: Signal<Bool, NoError> {
return self.arguments?.appInstalled ?? .single(false)
}
public var navigateToMessageRequested: Signal<MessageId, NoError> {
return self.arguments?.navigateToMessageRequested ?? .never()
}
public var runningTasks: Signal<WatchRunningTasks?, NoError> {
return self.arguments?.runningTasks ?? .single(nil)
}
}