فهرست منبع

Use correct custom notification; throw error; remove unnecessary do block

Deniz Cengiz 1 سال پیش
والد
کامیت
1a1b26658d

+ 4 - 6
Trio/Sources/Shortcuts/Override/CancelOverrideIntent.swift

@@ -14,11 +14,9 @@ struct CancelOverrideIntent: AppIntent {
     /// - Returns: A confirmation dialog indicating the override has been canceled.
     /// - Throws: An error if the cancellation process fails.
     @MainActor func perform() async throws -> some ProvidesDialog {
-        do {
-            await OverridePresetsIntentRequest().cancelOverride()
-            return .result(
-                dialog: IntentDialog(LocalizedStringResource("Override canceled", table: "ShortcutsDetail"))
-            )
-        }
+        await OverridePresetsIntentRequest().cancelOverride()
+        return .result(
+            dialog: IntentDialog(LocalizedStringResource("Override canceled", table: "ShortcutsDetail"))
+        )
     }
 }

+ 2 - 1
Trio/Sources/Shortcuts/Override/OverridePresetsIntentRequest.swift

@@ -121,6 +121,7 @@ import UIKit
         do {
             let overrideID = try await fetchOverrideID(preset)
             guard let overrideObject = try viewContext.existingObject(with: overrideID) as? OverrideStored else {
+                endBackgroundTaskSafely(&backgroundTaskID, taskName: "Override Enact")
                 throw overridePresetsError.noTempOverrideFound
             }
 
@@ -163,7 +164,7 @@ import UIKit
 
      - Parameter shouldStartBackgroundTask: A boolean indicating whether to start a background task.
      */
-    @MainActor func disableAllActiveOverrides(shouldStartBackgroundTask: Bool = true) async {
+    @MainActor func disableAllActiveOverrides(shouldStartBackgroundTask: Bool) async {
         debug(.default, "Disabling all active overrides")
         var backgroundTaskID: UIBackgroundTaskIdentifier?
 

+ 6 - 3
Trio/Sources/Shortcuts/TempPresets/TempPresetsIntentRequest.swift

@@ -120,7 +120,10 @@ final class TempPresetsIntentRequest: BaseIntentsRequest {
             // Get NSManagedObjectID of Preset
             guard let tempTargetID = await fetchTempTargetID(preset),
                   let tempTargetObject = try viewContext.existingObject(with: tempTargetID) as? TempTargetStored
-            else { return false }
+            else {
+                endBackgroundTaskSafely(&backgroundTaskID, taskName: "TempTarget Enact")
+                throw TempPresetsError.noTempTargetFound
+            }
 
             // Enable TempTarget
             tempTargetObject.enabled = true
@@ -185,7 +188,7 @@ final class TempPresetsIntentRequest: BaseIntentsRequest {
     /// Disables all active temporary targets.
     ///
     /// - Parameter shouldStartBackgroundTask: A flag indicating whether a background task should be started.
-    @MainActor func disableAllActiveTempTargets(shouldStartBackgroundTask: Bool = true) async {
+    @MainActor func disableAllActiveTempTargets(shouldStartBackgroundTask: Bool) async {
         var backgroundTaskID: UIBackgroundTaskIdentifier?
 
         if shouldStartBackgroundTask {
@@ -233,7 +236,7 @@ final class TempPresetsIntentRequest: BaseIntentsRequest {
                 try viewContext.save()
                 debug(.default, "Waiting for notification...")
                 Foundation.NotificationCenter.default.post(name: .willUpdateTempTargetConfiguration, object: nil)
-                await awaitNotification(.didUpdateOverrideConfiguration)
+                await awaitNotification(.didUpdateTempTargetConfiguration)
                 debug(.default, "Notification received, continuing...")
             }