listless

A simple list app for Apple platforms
Log | Files | Refs | README | LICENSE

commit d9f8925d9d6b06bcec7b5bf5d72f17e5fe12e28c
parent 93e9e1d404c4294e263c4c662af02cbc4f2e65cb
Author: Michael Camilleri <[email protected]>
Date:   Wed, 22 Apr 2026 01:32:09 +0900

Add additional performance logging

Diffstat:
MListlessiOS/Helpers/PerfSampler.swift | 18+++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/ListlessiOS/Helpers/PerfSampler.swift b/ListlessiOS/Helpers/PerfSampler.swift @@ -80,8 +80,10 @@ final class PerfSampler { forName: UIResponder.keyboardWillShowNotification, object: nil, queue: .main - ) { _ in - Task { @MainActor in PerfSampler.shared.keyboardWillShow() } + ) { note in + let animationMs = (note.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] + as? Double).map { $0 * 1000 } ?? 0 + Task { @MainActor in PerfSampler.shared.keyboardWillShow(animationMs: animationMs) } } NotificationCenter.default.addObserver( forName: UIResponder.keyboardDidShowNotification, @@ -90,11 +92,21 @@ final class PerfSampler { ) { _ in Task { @MainActor in PerfSampler.shared.keyboardDidShow() } } + NotificationCenter.default.addObserver( + forName: UIApplication.didBecomeActiveNotification, + object: nil, + queue: .main + ) { _ in + Task { @MainActor in + PerfSampler.shared.record(label: "App.didBecomeActive", durationMs: 0) + } + } } - private func keyboardWillShow() { + private func keyboardWillShow(animationMs: Double) { pendingKeyboardWillShow = DispatchTime.now() record(label: "Keyboard.willShow", durationMs: 0) + record(label: "Keyboard.animationDurationReported", durationMs: animationMs) } private func keyboardDidShow() {