Updated the RecordingButtonStyle button style in the Recording feature target to tint the round background color.

This commit is contained in:
2026-07-07 00:38:07 +02:00
parent dfd4829980
commit f463c60b35
5 changed files with 99 additions and 61 deletions
@@ -13,6 +13,10 @@ import Recording
/// resumption, and processing transition, and ends it dismissing it right away when the flow ends. The activity is an auxiliary
/// surface of the recording flow, never a required one: a start that fails, or that the user disallowed in the system settings, is
/// silently ignored, and the platforms without Live Activities reduce the whole service to a no-op.
///
/// Because a Live Activity outlives the process that started it, every running activity carries a stale date past which the system stops
/// presenting it as live, and ``reset()`` called once at launch ends any activity left over from an earlier run the app was killed
/// before it could end itself.
@MainActor
final class ActivityReporting: Reporting {
@@ -30,7 +34,8 @@ final class ActivityReporting: Reporting {
// MARK: Methods
/// Starts a Live Activity for a new recording, unless the user disallowed Live Activities or the system refuses to start one.
/// Starts a Live Activity for a new recording, unless the user disallowed Live Activities or the system refuses to start one. Any
/// activity still around from an earlier recording is ended first, so a desynced state can never leave the previous one behind.
///
/// - Parameter anchor: The instant the elapsed recording time counts from.
func started(
@@ -41,6 +46,9 @@ final class ActivityReporting: Reporting {
return
}
// End any activity still around before starting a new one, so a desynced state can never leak the previous activity.
await ended()
activity = try? Activity.request(
attributes: RecordingActivityAttributes(),
content: .init(
@@ -55,7 +63,8 @@ final class ActivityReporting: Reporting {
#endif
}
/// Updates the Live Activity with the pause of the ongoing recording, freezing its timer at the elapsed recording time.
/// Updates the Live Activity with the pause of the ongoing recording, freezing its timer at the elapsed recording time floored
/// to whole seconds, so the frozen value reads the same as the feature's own timer.
///
/// - Parameter elapsed: The number of seconds spent recording so far, excluding any time spent paused.
func paused(
@@ -85,7 +94,8 @@ final class ActivityReporting: Reporting {
#endif
}
/// Updates the Live Activity with the processing of the recorded input, freezing its timer at the elapsed recording time.
/// Updates the Live Activity with the processing of the recorded input, freezing its timer at the elapsed recording time floored
/// to whole seconds, so the frozen value reads the same as the feature's own timer.
///
/// - Parameter elapsed: The number of seconds spent recording, excluding any time spent paused.
func processing(