Implemented the (first version of the) Recording Live Activity in the Attendi widget target.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import Commanding
|
||||
import AppIntents
|
||||
|
||||
/// The intent behind the discard button of the recording Live Activity, which throws the recording away.
|
||||
///
|
||||
/// The intent is compiled into both the app and the widget extension: the widget references it from the activity's buttons, and the
|
||||
/// system executes it in the app's process — where it sends ``RecordingCommand/discard`` through the process-wide
|
||||
/// ``RecordingCommander``, mirroring a press of the feature's discard button.
|
||||
struct DiscardRecordingIntent: LiveActivityIntent {
|
||||
|
||||
// MARK: Constants
|
||||
|
||||
static let title: LocalizedStringResource = "Discard Recording"
|
||||
static let description = IntentDescription("Throws the paused recording away.")
|
||||
static let openAppWhenRun = false
|
||||
|
||||
// MARK: Methods
|
||||
|
||||
/// Sends the discard command to the recording flow.
|
||||
///
|
||||
/// - Returns: An empty result, since the discard ends the Live Activity itself.
|
||||
@MainActor
|
||||
func perform() async throws -> some IntentResult {
|
||||
RecordingCommander.shared.send(.discard)
|
||||
|
||||
return .result()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user