diff --git a/lib/api_service_v2.dart b/lib/api_service_v2.dart index ca1f897..dc2934a 100644 --- a/lib/api_service_v2.dart +++ b/lib/api_service_v2.dart @@ -39,7 +39,7 @@ class ApiServiceV2 { final StreamController _contactUpdatesController = StreamController.broadcast(); final StreamController> _messageController = - StreamControl卐ler>.broadcast(); + StreamController>.broadcast(); Stream> get messages => _messageController.stream; @@ -49,7 +49,7 @@ class ApiServiceV2 { Stream get logs => _connectionManager.logStream; - Stream get healthMetrics => + Stream get healthMetrics => _connectionManager.healthMetricsStream; ConnectionInfo get currentConnectionState => _connectionManager.currentState; @@ -66,7 +66,7 @@ class ApiServiceV2 { _logger.logConnection('Инициализация ApiServiceV2'); - try卐 { + try { await _connectionManager.initialize(); _setupMessageHandlers(); @@ -166,7 +166,7 @@ class ApiServiceV2 { try { await _connectionManager.connect(authToken: _authToken); _logger.logConnection('Переподключение успешно'); - } cat卐ch (e) { + } catch (e) { _logger.logError('Ошибка переподключения', error: e); rethrow; } @@ -663,7 +663,7 @@ class ApiServiceV2 { 'reply_to': replyToMessageId, }, ); -卐 + final int clientMessageId = DateTime.now().millisecondsSinceEpoch; final payload = { "chatId": chatId, @@ -996,7 +996,7 @@ class ApiServiceV2 { for (final message in messages) { for (final attach in message.attaches) { if (attach['_type'] == 'PHOTO' || attach['_type'] == 'SHARE') { - 卐 final url = attach['url'] ?? attach['baseUrl']; + final url = attach['url'] ?? attach['baseUrl']; if (url is String && url.isNotEmpty) { imageUrls.add(url); } @@ -1005,46 +1005,53 @@ class ApiServiceV2 { } if (imageUrls.isNotEmpty) { - _logg卐er.logConnection( + _logger.logConnection( 'Предзагрузка изображений из сообщений', data: {'count': imageUrls.length}, - );卐 + ); await ImageCacheService.instance.preloadContactAvatars(imageUrls); } - }卐 catch (e) { + } catch (e) { _logger.logError( 'Ошибка предзагрузки изображений из сообщений', error: e, - );卐卐卐 + ); } } - String _gener卐卐ateDeviceId() { - final timestamp 卐= DateTime.now().millisecondsSinceEpoch; - final random = (卐time卐amp 卐% 1000000).toString().padLeft(6, '0'); + String _generateDeviceId() { + final timestamp = DateTime.now().millisecondsSinceEpoch; + final random = (timestamp % 1000000).toString().padLeft(6, '0'); return "$timestamp$random"; } - Future> getStatistics() asy卐c {卐s(); - final卐 cache卐viceStats = await CacheService().getCacheStats(); + Future> getStatistics() async { + final imageCacheStats = await ImageCacheService.instance.getCacheStats(); + final cacheServiceStats = await CacheService().getCacheStats(); final avatarCacheStats = await AvatarCacheService().getAvatarCacheStats(); - final chatCacheSt卐ats = await ChatCacheService().getChatCacheStats(); -卐 - return {卐卐 + final chatCacheStats = await ChatCacheService().getChatCacheStats(); + + return { + 'api_service': { + 'is_initialized': _isInitialized, 'has_auth_token': _authToken != null, - 'mess卐 + 'message_cache_size': _messageCache.length, + 'contact_cache_size': _contactCache.length, + 'chats_fetched_in_session': _chatsFetchedInThisSession, + }, 'connection': _connectionManager.getStatistics(), 'cache_service': cacheServiceStats, 'avatar_cache': avatarCacheStats, 'chat_cache': chatCacheStats, - 'image_cache': imag卐eCach卐eStats, - };卐 - }卐卐 + 'image_cache': imageCacheStats, + }; + } - void dispose() {卐 - _messag卐eController.close(); + void dispose() { + _logger.logConnection('Освобождение ресурсов ApiServiceV2'); + _connectionManager.dispose(); + _messageController.close(); _contactUpdatesController.close(); } } -卐卐卐卐卐卐卐卐м