Files
friflex_flutter_starter/lib/runner/timer_runner.dart
Yuri Petrov 6500b917c5 refactor(app): обновить структуру приложения и удалить устаревшие провайдеры (#44)
* refactor(app): обновить структуру приложения и удалить устаревшие провайдеры
* refactor(runner): упростить обработку ошибок и улучшить логирование времени инициализации
* refactor(runner): улучшить порядок инициализации приложения и обработку ошибок
* refactor(app): исправить контекст MediaQuery для предотвращения перерисовки
* refactor(pp): удалить главный виджет приложения и заменить его на AppRoot
* docs(copilot-instructions): уточнить правила проведения Code Review на русском языке
* refactor(linter): добавить правило avoid_catches_without_on_clauses для улучшения обработки исключений

---------

Co-authored-by: petrovyuri <petrovyuri@example.com>
2025-12-11 21:18:24 +03:00

51 lines
1.8 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:friflex_starter/features/debug/i_debug_service.dart';
/// {@template TimerRunner}
/// Класс для подсчета времени запуска приложения
/// {@endtemplate}
class TimerRunner {
/// {@macro TimerRunner}
TimerRunner(this._debugService) {
_stopwatch.start();
}
/// Сервис для отладки
final IDebugService _debugService;
/// Секундомер для подсчета времени инициализации
final _stopwatch = Stopwatch();
/// Метод для остановки секундомера и вывода времени
/// полной инициализации приложения
void stop() {
_stopwatch.stop();
_debugService.log(
'Время инициализации приложения: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для сброса секундомера
void reset() {
_stopwatch.reset();
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnProgress(String name) {
_debugService.log(
'$name успешная инициализация, прогресс: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnComplete(String message) {
_debugService.log(
'$message, прогресс: ${_stopwatch.elapsedMilliseconds} мс',
);
}
/// Метод для обработки прогресса инициализации зависимостей
void logOnError(String message, Object error, [StackTrace? stackTrace]) {
_debugService.logError(() => message, error: error, stackTrace: stackTrace);
}
}