mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 03:32:18 +00:00
* 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>
51 lines
1.8 KiB
Dart
51 lines
1.8 KiB
Dart
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);
|
||
}
|
||
}
|