mirror of
https://github.com/home-assistant/iOS.git
synced 2026-04-28 18:22:59 -05:00
Update swift lint and format + appy fixes (#2585)
## Summary Swift lint and swiftformat are outdated. This PR does update those + applies the new formatting form swiftformat. There is 1 swift file with a manual change: `Sources/Vehicle/Templates/Areas/CarPlayAreasViewModel.swift`. This is done because `swiftlint` did create the following swiftlint error: `error: Cyclomatic Complexity Violation: Function should have complexity 10 or less; currently complexity is 11 (cyclomatic_complexity)`. Because it does change a lot of files the question is if we want to finetune the `swiftformat` rules. ## Screenshots No user facing changes. ## Link to pull request in Documentation repository NA ## Any other notes NA
This commit is contained in:
@@ -58,7 +58,7 @@ extension Promise where T == Data {
|
||||
secretGetter: @escaping () -> [UInt8]?,
|
||||
options: JSONSerialization.ReadingOptions = [.allowFragments]
|
||||
) -> Promise<Any> {
|
||||
if let statusCode = statusCode {
|
||||
if let statusCode {
|
||||
switch statusCode {
|
||||
case 204, 205:
|
||||
return .value(())
|
||||
|
||||
@@ -3,7 +3,7 @@ import ObjectMapper
|
||||
import PromiseKit
|
||||
import UserNotifications
|
||||
|
||||
internal enum WebhookError: LocalizedError, Equatable, CancellableError {
|
||||
enum WebhookError: LocalizedError, Equatable, CancellableError {
|
||||
case unregisteredIdentifier(handler: String)
|
||||
case unexpectedType(given: String, desire: String)
|
||||
case unacceptableStatusCode(Int)
|
||||
@@ -48,12 +48,12 @@ public class WebhookManager: NSObject {
|
||||
"non-background"
|
||||
}
|
||||
|
||||
internal var sessionInfos = Set<WebhookSessionInfo>()
|
||||
internal var currentBackgroundSessionInfo: WebhookSessionInfo {
|
||||
var sessionInfos = Set<WebhookSessionInfo>()
|
||||
var currentBackgroundSessionInfo: WebhookSessionInfo {
|
||||
sessionInfo(forIdentifier: Self.currentURLSessionIdentifier)
|
||||
}
|
||||
|
||||
internal var currentRegularSessionInfo: WebhookSessionInfo {
|
||||
var currentRegularSessionInfo: WebhookSessionInfo {
|
||||
sessionInfo(forIdentifier: Self.currentRegularURLSessionIdentifier)
|
||||
}
|
||||
|
||||
@@ -83,11 +83,11 @@ public class WebhookManager: NSObject {
|
||||
|
||||
private var responseHandlers = [WebhookResponseIdentifier: WebhookResponseHandler.Type]()
|
||||
|
||||
internal var serverCache = [Identifier<Server>: Server]()
|
||||
var serverCache = [Identifier<Server>: Server]()
|
||||
|
||||
// MARK: - Lifecycle
|
||||
|
||||
override internal init() {
|
||||
override init() {
|
||||
let specificKey = DispatchSpecificKey<Bool>()
|
||||
let underlyingQueue = DispatchQueue(label: "webhookmanager-data")
|
||||
underlyingQueue.setSpecific(key: specificKey, value: true)
|
||||
@@ -109,7 +109,7 @@ public class WebhookManager: NSObject {
|
||||
register(responseHandler: WebhookResponseUnhandled.self, for: .unhandled)
|
||||
}
|
||||
|
||||
internal func register(
|
||||
func register(
|
||||
responseHandler: WebhookResponseHandler.Type,
|
||||
for identifier: WebhookResponseIdentifier
|
||||
) {
|
||||
@@ -227,7 +227,7 @@ public class WebhookManager: NSObject {
|
||||
with: urlRequest,
|
||||
from: data,
|
||||
completionHandler: { data, response, error in
|
||||
if let data = data, let response = response {
|
||||
if let data, let response {
|
||||
seal.fulfill((data, response))
|
||||
} else {
|
||||
seal.resolve(nil, error)
|
||||
@@ -506,7 +506,7 @@ public class WebhookManager: NSObject {
|
||||
Promise { seal in
|
||||
let webhookURL: URL
|
||||
|
||||
if let baseURL = baseURL {
|
||||
if let baseURL {
|
||||
webhookURL = baseURL.appendingPathComponent(server.info.connection.webhookPath, isDirectory: false)
|
||||
} else {
|
||||
webhookURL = server.info.connection.webhookURL()
|
||||
@@ -528,7 +528,7 @@ public class WebhookManager: NSObject {
|
||||
private func handle(result: WebhookResponseHandlerResult) {
|
||||
if let notification = result.notification {
|
||||
UNUserNotificationCenter.current().add(notification) { error in
|
||||
if let error = error {
|
||||
if let error {
|
||||
Current.Log.error("failed to add notification for result \(result): \(error)")
|
||||
}
|
||||
}
|
||||
@@ -592,7 +592,7 @@ extension WebhookManager: URLSessionDataDelegate, URLSessionTaskDelegate {
|
||||
}
|
||||
|
||||
public func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
|
||||
let sessionInfo = self.sessionInfo(for: session)
|
||||
let sessionInfo = sessionInfo(for: session)
|
||||
let taskKey = TaskKey(sessionInfo: sessionInfo, task: task)
|
||||
let statusCode = (task.response as? HTTPURLResponse)?.statusCode
|
||||
|
||||
@@ -684,7 +684,7 @@ extension WebhookManager: URLSessionDataDelegate, URLSessionTaskDelegate {
|
||||
}
|
||||
}
|
||||
|
||||
internal class WebhookSessionInfo: CustomStringConvertible, Hashable {
|
||||
class WebhookSessionInfo: CustomStringConvertible, Hashable {
|
||||
let identifier: String
|
||||
let eventGroup: DispatchGroup
|
||||
let session: URLSession
|
||||
|
||||
@@ -90,7 +90,7 @@ struct WebhookResponseUpdateComplications: WebhookResponseHandler {
|
||||
}
|
||||
|
||||
#if os(watchOS)
|
||||
internal static func updateComplications() {
|
||||
static func updateComplications() {
|
||||
let server = CLKComplicationServer.sharedInstance()
|
||||
|
||||
server.activeComplications?.forEach {
|
||||
|
||||
@@ -48,7 +48,7 @@ public class ActivitySensor: SensorProvider {
|
||||
Current.motion.queryStartEndOnQueueHandler(start, end, queue) { activities, error in
|
||||
if let latestActivity = activities?.last {
|
||||
seal.fulfill(latestActivity)
|
||||
} else if let error = error {
|
||||
} else if let error {
|
||||
seal.reject(error)
|
||||
} else {
|
||||
seal.reject(ActivityError.noData)
|
||||
|
||||
@@ -123,7 +123,7 @@ public class ConnectivitySensor: SensorProvider {
|
||||
let networkInfo = Current.connectivity.telephonyCarriers()
|
||||
let radioTech = Current.connectivity.telephonyRadioAccessTechnology()
|
||||
|
||||
if let networkInfo = networkInfo {
|
||||
if let networkInfo {
|
||||
return when(fulfilled: networkInfo.map {
|
||||
carrierSensor(
|
||||
carrier: $0.value,
|
||||
@@ -161,7 +161,7 @@ public class ConnectivitySensor: SensorProvider {
|
||||
"Allows VoIP": carrier.allowsVOIP,
|
||||
]
|
||||
|
||||
if let radioTech = radioTech {
|
||||
if let radioTech {
|
||||
sensor.Attributes?["Current Radio Technology"] = Self.getRadioTechName(radioTech)
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ public class GeocoderSensor: SensorProvider {
|
||||
case noLocation
|
||||
}
|
||||
|
||||
internal enum UserDefaultsKeys: String {
|
||||
enum UserDefaultsKeys: String {
|
||||
case geocodeUseZone = "geocoded_location_use_zone"
|
||||
|
||||
var title: String {
|
||||
@@ -55,7 +55,7 @@ public class GeocoderSensor: SensorProvider {
|
||||
.map { CNPostalAddressFormatter.string(from: $0, style: .mailingAddress) }
|
||||
.first(where: { $0.isEmpty == false })
|
||||
|
||||
if let address = address {
|
||||
if let address {
|
||||
sensor.State = address
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ private class InputOutputDeviceUpdateSignaler: SensorProviderUpdateSignaler {
|
||||
#endif
|
||||
}
|
||||
|
||||
private func addObserver<PropertyType: HACoreBlahProperty>(object: ObservedObjectType, property: PropertyType) {
|
||||
private func addObserver(object: ObservedObjectType, property: some HACoreBlahProperty) {
|
||||
guard !observedObjects.contains(object) else { return }
|
||||
|
||||
let observedStatus = property.addListener(objectID: object.id) { [weak self] in
|
||||
@@ -64,17 +64,17 @@ private class InputOutputDeviceUpdateSignaler: SensorProviderUpdateSignaler {
|
||||
// object IDs both alias to UInt32 so we can't rely on the type system to know which method to call
|
||||
|
||||
#if targetEnvironment(macCatalyst)
|
||||
func addCoreAudioObserver<PropertyType>(
|
||||
func addCoreAudioObserver(
|
||||
for id: AudioObjectID,
|
||||
property: HACoreAudioProperty<PropertyType>
|
||||
property: HACoreAudioProperty<some Any>
|
||||
) {
|
||||
addObserver(object: .coreAudio(id), property: property)
|
||||
}
|
||||
|
||||
#if canImport(CoreMediaIO)
|
||||
func addCoreMediaObserver<PropertyType>(
|
||||
func addCoreMediaObserver(
|
||||
for id: CMIOObjectID,
|
||||
property: HACoreMediaProperty<PropertyType>
|
||||
property: HACoreMediaProperty<some Any>
|
||||
) {
|
||||
addObserver(object: .coreMedia(id), property: property)
|
||||
}
|
||||
|
||||
@@ -46,9 +46,9 @@ public class PedometerSensor: SensorProvider {
|
||||
let end = Current.date()
|
||||
let start = Current.calendar().startOfDay(for: end)
|
||||
Current.pedometer.queryStartEndHandler(start, end) { data, error in
|
||||
if let data = data {
|
||||
if let data {
|
||||
seal.fulfill(data)
|
||||
} else if let error = error {
|
||||
} else if let error {
|
||||
seal.reject(error)
|
||||
} else {
|
||||
seal.reject(PedometerError.noData)
|
||||
|
||||
@@ -8,7 +8,7 @@ public struct SensorObserverUpdate {
|
||||
public let sensors: Guarantee<[WebhookSensor]>
|
||||
public let on: Date
|
||||
|
||||
internal init(sensors: Guarantee<[WebhookSensor]>) {
|
||||
init(sensors: Guarantee<[WebhookSensor]>) {
|
||||
self.sensors = sensors
|
||||
self.on = Current.date()
|
||||
}
|
||||
@@ -58,7 +58,7 @@ public class SensorContainer {
|
||||
public func register(observer: SensorObserver) {
|
||||
observers.add(observer)
|
||||
|
||||
if let lastUpdate = lastUpdate {
|
||||
if let lastUpdate {
|
||||
observer.sensorContainer(self, didUpdate: lastUpdate)
|
||||
}
|
||||
}
|
||||
@@ -103,7 +103,7 @@ public class SensorContainer {
|
||||
|
||||
private var lastUpdate: SensorObserverUpdate? {
|
||||
didSet {
|
||||
guard let lastUpdate = lastUpdate else { return }
|
||||
guard let lastUpdate else { return }
|
||||
observers
|
||||
.allObjects
|
||||
.compactMap { $0 as? SensorObserver }
|
||||
@@ -137,7 +137,7 @@ public class SensorContainer {
|
||||
|
||||
private var lastSentSensors: HAProtected<LastSentSensors> = .init(value: .init())
|
||||
|
||||
internal func sensors(
|
||||
func sensors(
|
||||
reason: SensorProviderRequest.Reason,
|
||||
limitedTo: [SensorProvider.Type]? = nil,
|
||||
location: CLLocation? = nil,
|
||||
@@ -153,7 +153,7 @@ public class SensorContainer {
|
||||
let generatedSensors = firstly {
|
||||
let promises = providers
|
||||
.filter { providerType in
|
||||
if let limitedTo = limitedTo {
|
||||
if let limitedTo {
|
||||
return limitedTo.contains(where: { ObjectIdentifier($0) == ObjectIdentifier(providerType) })
|
||||
} else {
|
||||
return true
|
||||
@@ -191,8 +191,8 @@ public class SensorContainer {
|
||||
lastSentSensors.combine(with: new, ignoringExisting: ignoringExisting)
|
||||
return lastSentSensors.sensors
|
||||
}.sorted(by: { [weak self] lhs, rhs in
|
||||
guard let self = self else { return true }
|
||||
switch (self.isEnabled(sensor: lhs), self.isEnabled(sensor: rhs)) {
|
||||
guard let self else { return true }
|
||||
switch (isEnabled(sensor: lhs), isEnabled(sensor: rhs)) {
|
||||
case (true, true): return lhs < rhs
|
||||
case (false, false): return lhs < rhs
|
||||
case (true, false): return true
|
||||
@@ -202,9 +202,9 @@ public class SensorContainer {
|
||||
})
|
||||
|
||||
return generatedSensors.mapValues { [weak self] sensor -> WebhookSensor in
|
||||
guard let self = self else { return sensor }
|
||||
guard let self else { return sensor }
|
||||
|
||||
if self.isAllowedToSend(sensor: sensor, for: server) {
|
||||
if isAllowedToSend(sensor: sensor, for: server) {
|
||||
return sensor
|
||||
} else {
|
||||
return WebhookSensor(redacting: sensor)
|
||||
|
||||
@@ -26,7 +26,7 @@ public struct SensorProviderRequest {
|
||||
self.serverVersion = serverVersion
|
||||
}
|
||||
|
||||
internal var lastUpdateReason: String {
|
||||
var lastUpdateReason: String {
|
||||
switch reason {
|
||||
case .registration:
|
||||
return "registration"
|
||||
|
||||
@@ -5,17 +5,17 @@ public protocol SensorProviderUpdateSignaler: AnyObject {
|
||||
}
|
||||
|
||||
public class SensorProviderDependencies {
|
||||
internal var updateSignalHandler: (SensorProvider.Type) -> Void = { _ in }
|
||||
var updateSignalHandler: (SensorProvider.Type) -> Void = { _ in }
|
||||
private var updateSignalers: [String: [SensorProviderUpdateSignaler]] = [:]
|
||||
|
||||
private func key(for sensorProvider: SensorProvider) -> String {
|
||||
String(describing: type(of: sensorProvider))
|
||||
}
|
||||
|
||||
internal func existingSignaler<SignalerType: SensorProviderUpdateSignaler>(
|
||||
func existingSignaler<SignalerType: SensorProviderUpdateSignaler>(
|
||||
for sensorProvider: SensorProvider
|
||||
) -> SignalerType? {
|
||||
let key = self.key(for: sensorProvider)
|
||||
let key = key(for: sensorProvider)
|
||||
return updateSignalers[key]?.compactMap({ $0 as? SignalerType }).first
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ public class StorageSensor: SensorProvider {
|
||||
throw StorageError.noData
|
||||
}
|
||||
}.map { (volumes: [URLResourceKey: Int64]) -> [WebhookSensor] in
|
||||
[try Self.sensor(for: volumes)]
|
||||
try [Self.sensor(for: volumes)]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user