Files
ios/Shared/MusicControlIntent.swift
T

29 lines
1.2 KiB
Swift

import AppIntents
enum MusicRemoteAction: String, AppEnum {
case previous, toggle, next, refresh
static var typeDisplayRepresentation: TypeDisplayRepresentation = "Команда плеера"
static var caseDisplayRepresentations: [Self: DisplayRepresentation] = [
.previous: "Предыдущий трек", .toggle: "Воспроизведение / пауза", .next: "Следующий трек", .refresh: "Обновить"
]
}
struct MusicControlIntent: LiveActivityIntent {
static var title: LocalizedStringResource = "Управлять музыкой на ПК"
static var openAppWhenRun: Bool = false
static var isDiscoverable: Bool = false
static var authenticationPolicy: IntentAuthenticationPolicy = .alwaysAllowed
@Parameter(title: "Команда") var action: MusicRemoteAction
@Parameter(title: "Активность") var activityID: String
init() {}
init(_ action: MusicRemoteAction, activityID: String) { self.action = action; self.activityID = activityID }
func perform() async throws -> some IntentResult {
#if !MUSICBRIDGE_WIDGET
await LiveActivityCommands.perform(action, activityID: activityID)
#endif
return .result()
}
}