library files; import 'dart:async'; import 'dart:math'; import 'package:built_collection/built_collection.dart'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:flutter_chat_types/flutter_chat_types.dart' as chat_types; import 'package:flutter_chat_ui/flutter_chat_ui.dart' as chat_ui; import 'package:flutter_material_design_icons/flutter_material_design_icons.dart'; import 'package:flutter_webrtc/flutter_webrtc.dart'; import 'package:go_router/go_router.dart'; import 'package:intersperse/intersperse.dart'; import 'package:neon/blocs.dart'; import 'package:neon/models.dart'; import 'package:neon/settings.dart'; import 'package:neon/theme.dart'; import 'package:neon/utils.dart'; import 'package:neon/widgets.dart'; import 'package:neon_spreed/l10n/localizations.dart'; import 'package:neon_spreed/routes.dart'; import 'package:nextcloud/core.dart' as core; import 'package:nextcloud/nextcloud.dart'; import 'package:nextcloud/spreed.dart' as spreed; import 'package:rxdart/rxdart.dart'; import 'package:vector_graphics/vector_graphics.dart'; part 'blocs/call.dart'; part 'blocs/room.dart'; part 'blocs/spreed.dart'; part 'dialogs/create_room.dart'; part 'dialogs/select_screen.dart'; part 'options.dart'; part 'pages/call.dart'; part 'pages/main.dart'; part 'pages/room.dart'; part 'utils/participants.dart'; part 'utils/view_size.dart'; part 'widgets/call_button.dart'; part 'widgets/call_participant_view.dart'; part 'widgets/room_icon.dart'; part 'widgets/screen_preview.dart'; @immutable class SpreedApp extends AppImplementation { SpreedApp(); @override final String id = appId; static const String appId = 'spreed'; @override final LocalizationsDelegate localizationsDelegate = SpreedLocalizations.delegate; @override final List supportedLocales = SpreedLocalizations.supportedLocales; @override late final SpreedAppSpecificOptions options = SpreedAppSpecificOptions(storage); @override SpreedBloc buildBloc(final Account account) => SpreedBloc( options, account, ); @override final Widget page = const SpreedMainPage(); @override final RouteBase route = $spreedAppRoute; @override BehaviorSubject? getUnreadCounter(final SpreedBloc bloc) => bloc.unreadCounter; @override VersionCheck getVersionCheck( final Account account, final core.OcsGetCapabilitiesResponseApplicationJson_Ocs_Data capabilities, ) => account.client.spreed.getVersionCheck(capabilities); }