├── launch ├── README.md ├── linux │ ├── .gitignore │ ├── main.cc │ └── flutter │ │ └── generated_plugin_registrant.cc ├── analysis_options.yaml ├── ios │ ├── Runner │ │ ├── Runner-Bridging-Header.h │ │ └── Assets.xcassets │ │ │ ├── LaunchImage.imageset │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ └── LaunchImage@3x.png │ │ │ └── AppIcon.appiconset │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ ├── Flutter │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Runner.xcodeproj │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ ├── WorkspaceSettings.xcsettings │ │ │ └── IDEWorkspaceChecks.plist │ └── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── WorkspaceSettings.xcsettings │ │ └── IDEWorkspaceChecks.plist ├── web │ ├── favicon.png │ └── icons │ │ ├── Icon-192.png │ │ └── Icon-512.png ├── android │ ├── gradle.properties │ ├── app │ │ └── src │ │ │ └── main │ │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── java │ │ │ └── ru │ │ │ └── ivk1800 │ │ │ └── telegram │ │ │ └── MainActivity.java │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── .gitignore ├── macos │ ├── Runner │ │ ├── Configs │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ ├── app_icon_128.png │ │ │ │ ├── app_icon_16.png │ │ │ │ ├── app_icon_256.png │ │ │ │ ├── app_icon_32.png │ │ │ │ ├── app_icon_512.png │ │ │ │ ├── app_icon_64.png │ │ │ │ └── app_icon_1024.png │ │ └── AppDelegate.swift │ ├── .gitignore │ ├── Flutter │ │ ├── Flutter-Debug.xcconfig │ │ └── Flutter-Release.xcconfig │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── Runner.xcodeproj │ │ └── project.xcworkspace │ │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── windows │ └── runner │ │ └── resources │ │ └── app_icon.ico └── dart_dependency_validator.yaml ├── app ├── README.md ├── dart_dependency_validator.yaml ├── lib │ └── src │ │ ├── feature │ │ └── feature.dart │ │ ├── navigation │ │ └── navigation.dart │ │ ├── di │ │ └── scope │ │ │ └── application_scope.dart │ │ └── app │ │ └── td_lib_initializer.dart ├── analysis_options.yaml └── CHANGELOG.md ├── tools ├── format.sh ├── tools-project │ ├── analysis_options.yaml │ └── dart_dependency_validator.yaml ├── full_sync.sh ├── gen.bat ├── analyze.bat ├── packages_get.bat ├── pub_upgrade.bat ├── gen_sp.bat ├── run_tests.bat ├── get_depencencies_info.bat ├── validate_dependencies.bat ├── pre-commit ├── gen.sh ├── analyze.sh ├── packages_get.sh ├── pub_upgrade.sh ├── gen_sp.sh ├── run_tests.sh ├── get_dependencies_info.sh ├── setup.sh └── validate_dependencies.sh ├── core ├── dart_dependency_validator.yaml ├── lib │ ├── src │ │ ├── manager │ │ │ └── manager.dart │ │ ├── util │ │ │ ├── future_ext.dart │ │ │ ├── util.dart │ │ │ └── color_rgb24_ext.dart │ │ └── provider │ │ │ ├── provider.dart │ │ │ ├── app_lifecycle_state_provider.dart │ │ │ └── connectivity_provider.dart │ └── core.dart └── analysis_options.yaml ├── coreui ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── src │ ├── widget │ └── tg │ │ └── tg_widget.dart │ └── static_curve.dart ├── fake ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── assets │ └── file │ │ ├── background │ │ └── file_1608.tgv │ │ └── sticker │ │ └── thumbnail │ │ ├── file_1361.jpeg │ │ ├── thumbnail_5332587336939084375.webp │ │ └── thumbnail_5384068292417690842.webp └── lib │ └── src │ ├── fake_user_provider.dart │ ├── fake_options_manager.dart │ └── fake_error_transformer.dart ├── queue ├── dart_dependency_validator.yaml ├── lib │ └── queue.dart ├── analysis_options.yaml └── pubspec.yaml ├── td_client ├── LICENSE ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── td_client.dart ├── tile ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── src │ │ ├── tile_model.dart │ │ └── tile_factory_delegate.dart │ └── tile.dart └── pubspec.yaml ├── async_utils ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── async_utils.dart │ └── src │ │ └── future_extensions.dart └── pubspec.yaml ├── core_arch ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── src │ │ └── base_view_model.dart │ └── core_arch.dart └── pubspec.yaml ├── core_utils ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ ├── src │ └── ext │ │ └── string_extensions.dart │ └── core_utils.dart ├── dialog_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ └── src │ │ └── body.dart └── pubspec.yaml ├── showcase ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ └── src │ │ ├── showcase │ │ ├── chat │ │ │ └── showcase_chat_type.dart │ │ ├── chat_background │ │ │ └── chat_background_type.dart │ │ ├── message │ │ │ ├── message_bundle.dart │ │ │ └── message_data.dart │ │ └── image_widget │ │ │ └── image_widget_showcase_scope_delegate.dart │ │ ├── di │ │ └── scope │ │ │ └── screen_scope.dart │ │ └── showcase_list │ │ └── showcase_list_args.dart └── assets │ └── durov.jpg ├── split_view ├── dart_dependency_validator.yaml └── analysis_options.yaml ├── td └── td_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ └── td_api.dart ├── test_utils ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── test_utils.dart │ └── src │ │ └── verification_result_extensions.dart └── pubspec.yaml ├── core_tdlib_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── src │ │ ├── provider │ │ │ ├── provider.dart │ │ │ ├── updates │ │ │ │ ├── events_provider.dart │ │ │ │ ├── chat_updates_provider.dart │ │ │ │ ├── file_updates_provider.dart │ │ │ │ ├── user_updates_provider.dart │ │ │ │ ├── basic_group_updates_provider.dart │ │ │ │ ├── super_group_updates_provider.dart │ │ │ │ ├── chat_filters_updates_provider.dart │ │ │ │ └── authentication_state_updates_provider.dart │ │ │ ├── authentication_state_provider.dart │ │ │ └── connection_state_provider.dart │ │ ├── repository │ │ │ ├── session_repository.dart │ │ │ ├── chat_filter_repository.dart │ │ │ ├── background_repository.dart │ │ │ ├── basic_group_repository.dart │ │ │ ├── super_group_repository.dart │ │ │ ├── file_repository.dart │ │ │ ├── user_repository.dart │ │ │ └── sticker_repository.dart │ │ └── td_function_executor.dart │ └── core_tdlib_api.dart └── pubspec.yaml ├── core_tdlib_impl ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ ├── src │ └── provider │ │ ├── updates │ │ └── updates.dart │ │ └── provider.dart │ └── core_tdlib_impl.dart ├── core_ui_jugger ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── core_ui_jugger.dart ├── localization_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ └── localization_api.dart └── pubspec.yaml ├── lottie_utils ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ └── lottie_utils.dart └── pubspec.yaml ├── search_component ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── search_component.dart ├── shared └── models │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ ├── shared_models.dart │ └── src │ │ ├── size.dart │ │ └── minithumbnail.dart │ └── pubspec.yaml ├── tg_logger_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── tg_logger_api.dart │ └── src │ │ └── logger.dart └── pubspec.yaml ├── tg_logger_impl ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── tg_logger_impl.dart │ └── src │ │ └── tg_logger_impl.dart └── pubspec.yaml ├── ui └── emoji_ui_kit │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ └── emoji_ui_kit.dart ├── block_interaction_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── block_interaction_api.dart │ └── src │ │ └── block_interaction_manager.dart └── pubspec.yaml ├── core_arch_flutter ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ ├── src │ └── scope_disposer.dart │ └── core_arch_flutter.dart ├── core_presentation ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── core_presentation.dart ├── dialog_api_flutter ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── dialog_api_flutter.dart ├── error_transformer_api ├── dart_dependency_validator.yaml ├── analysis_options.yaml ├── lib │ ├── error_transformer_api.dart │ └── src │ │ └── error_transformer.dart └── pubspec.yaml ├── error_transformer_td ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── error_transformer_td.dart ├── feature ├── chat │ ├── chat_kit │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── src │ │ │ └── background │ │ │ └── active_background_storage.dart │ ├── chat_info │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── chat_info.dart │ ├── chat_theme │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── chat_theme.dart │ ├── chat_actions_panel │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── chat_actions_panel.dart │ ├── feature_chat_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ │ ├── feature_chat_api.dart │ │ │ └── src │ │ │ │ ├── chat_screen_factory.dart │ │ │ │ └── chat_feature_api.dart │ │ └── pubspec.yaml │ ├── feature_chat_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── src │ │ │ ├── component │ │ │ ├── sender_type.dart │ │ │ └── message_action_listener.dart │ │ │ ├── screen │ │ │ └── chat │ │ │ │ ├── chat_args.dart │ │ │ │ ├── chat_widget_model.dart │ │ │ │ ├── chat_screen.dart │ │ │ │ └── message │ │ │ │ └── popup │ │ │ │ └── message_popup_listener.dart │ │ │ ├── tile │ │ │ └── model │ │ │ │ ├── loading_tile_model.dart │ │ │ │ ├── base_chat_notification_message_tile_model.dart │ │ │ │ └── base_message_tile_model.dart │ │ │ ├── chat_screen_router_factory.dart │ │ │ ├── wall │ │ │ └── message_wall_context.dart │ │ │ ├── widget │ │ │ ├── chat_message │ │ │ │ └── chat_message.dart │ │ │ └── widget.dart │ │ │ └── di │ │ │ └── chat_qualifiers.dart │ ├── chat_navigation_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ │ ├── src │ │ │ │ └── chat_router.dart │ │ │ └── chat_router_api.dart │ │ └── pubspec.yaml │ ├── forum │ │ ├── feature_chat_forum_api │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ │ ├── feature_chat_forum_api.dart │ │ │ │ └── src │ │ │ │ ├── chat_forum_screen_factory.dart │ │ │ │ └── chat_forum_feature_api.dart │ │ ├── chat_forum_navigation_api │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ ├── lib │ │ │ │ ├── chat_forum_navigation_api.dart │ │ │ │ └── src │ │ │ │ │ └── chat_forum_screen_router.dart │ │ │ └── pubspec.yaml │ │ └── feature_chat_forum_impl │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ ├── src │ │ │ ├── chat_forum_router.dart │ │ │ └── screen │ │ │ │ └── tile │ │ │ │ └── model │ │ │ │ └── topic_tile_model.dart │ │ │ └── feature_chat_forum_impl.dart │ ├── chat_manager │ │ ├── chat_manager_api │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ ├── lib │ │ │ │ └── chat_manager_api.dart │ │ │ └── pubspec.yaml │ │ └── chat_manager_impl │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ └── chat_manager_impl.dart │ └── administration │ │ ├── feature_chat_administration_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── src │ │ │ ├── chat_administration_screen_factory.dart │ │ │ └── chat_administration_feature_api.dart │ │ │ └── feature_chat_administration_api.dart │ │ └── feature_chat_administration_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ └── src │ │ └── screen │ │ └── chat_administration │ │ ├── args.dart │ │ ├── chat_administration_router.dart │ │ └── chat_administration_screen_router_factory.dart ├── feature_dev │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── feature_dev.dart ├── feature_auth_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_auth_api.dart │ │ └── src │ │ │ ├── auth_screen_factory.dart │ │ │ └── auth_feature_api.dart │ └── pubspec.yaml ├── feature_auth_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── feature_auth_impl.dart │ │ └── src │ │ └── auth_feature_router.dart ├── feature_file_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── file_feature_api.dart │ │ └── feature_file_api.dart ├── feature_file_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── feature_file_impl.dart ├── feature_logout_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_logout_api.dart │ │ └── src │ │ │ ├── logout_screen_factory.dart │ │ │ └── logout_feature_api.dart │ └── pubspec.yaml ├── theme │ ├── tg_theme │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ │ ├── tg_theme.dart │ │ │ └── src │ │ │ │ └── theme_colors.dart │ │ └── pubspec.yaml │ ├── theme_manager_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── src │ │ │ └── theme.dart │ │ │ └── theme_manager_api.dart │ └── theme_manager_flutter │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ └── theme_manager_flutter.dart ├── user │ ├── user_info │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ └── user_info.dart │ ├── feature_change_bio_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── src │ │ │ ├── change_bio_screen_factory.dart │ │ │ └── change_bio_feature_api.dart │ │ │ └── feature_change_bio_api.dart │ ├── feature_change_bio_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── feature_change_bio_impl.dart │ │ │ └── src │ │ │ └── change_bio_router.dart │ ├── feature_change_username_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── src │ │ │ ├── change_username_screen_factory.dart │ │ │ └── change_username_feature_api.dart │ │ │ └── feature_change_username_api.dart │ └── feature_change_username_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ ├── src │ │ └── change_username_router.dart │ │ └── feature_change_username_impl.dart ├── feature_chats_list_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── chats_list_feature_api.dart │ │ └── chats_list_screen_factory.dart │ │ └── feature_chats_list_api.dart ├── feature_chats_list_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── src │ │ ├── list │ │ ├── chat_list_config.dart │ │ ├── chat_list.dart │ │ ├── chats_holder.dart │ │ └── chat_data.dart │ │ └── chats_list_screen_router.dart ├── feature_country_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── src │ │ │ ├── country_repository.dart │ │ │ ├── choose_country_screen_factory.dart │ │ │ ├── country.dart │ │ │ └── country_feature_api.dart │ │ └── feature_country_api.dart │ └── pubspec.yaml ├── feature_country_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── feature_country_impl.dart │ │ └── src │ │ ├── screen │ │ └── choose_country │ │ │ └── choose_country.dart │ │ └── country_feature_dependencies.dart ├── feature_logout_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── README.MD │ └── lib │ │ └── feature_logout_impl.dart ├── feature_main_screen_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── src │ │ │ ├── main_screen_factory.dart │ │ │ └── main_screen_feature_api.dart │ │ └── feature_main_screen_api.dart │ └── pubspec.yaml ├── feature_sessions_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_chat_api.dart │ │ └── src │ │ │ ├── sessions_screen_factory.dart │ │ │ └── sessions_feature_api.dart │ └── pubspec.yaml ├── feature_sessions_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── screen │ │ │ └── sessions │ │ │ └── sessions_screen_router.dart │ │ └── feature_sessions_impl.dart ├── feature_settings_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_settings_api.dart │ │ └── src │ │ │ ├── setting_screen_factory.dart │ │ │ └── settings_feature_api.dart │ └── pubspec.yaml ├── feature_settings_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── feature_settings_impl.dart ├── feature_stickers_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ └── src │ │ │ ├── masks_widget_factory.dart │ │ │ ├── archived_stickers_widget_factory.dart │ │ │ ├── sticker_set_screen_factory.dart │ │ │ ├── trending_stickers_widget_factory.dart │ │ │ └── stickers_widget_factory.dart │ └── pubspec.yaml ├── feature_stickers_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── feature_stickers_impl.dart │ │ └── src │ │ ├── di │ │ └── scope │ │ │ ├── screen_scope.dart │ │ │ └── feature_scope.dart │ │ └── stickers_feature_router.dart ├── feature_wallpapers_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_wallpapers_api.dart │ │ └── src │ │ │ ├── wallpapers_list_screen_factory.dart │ │ │ └── wallpapers_feature_api.dart │ └── pubspec.yaml ├── feature_wallpapers_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── wallpapers_screen_router.dart │ │ ├── tile │ │ │ └── model │ │ │ │ ├── top_group_tile_model.dart │ │ │ │ ├── bottom_group_tile_model.dart │ │ │ │ └── model.dart │ │ └── screen │ │ │ └── wallpaper_list │ │ │ └── wallpaper_list_event.dart │ │ └── feature_wallpapers_impl.dart ├── chat_list │ ├── chat_list_theme │ │ ├── dart_dependency_validator.yaml │ │ ├── lib │ │ │ └── chat_list_theme.dart │ │ └── analysis_options.yaml │ └── chat_list_ui_kit │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ └── chat_list_ui_kit.dart ├── feature_chat_header_info_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── chat_header_info_interactor.dart │ │ └── feature_chat_header_info_api.dart ├── feature_chat_settings_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_chat_settings_api.dart │ │ └── src │ │ │ ├── chat_settings_feature_api.dart │ │ │ └── chat_settings_widget_factory.dart │ └── pubspec.yaml ├── feature_chat_settings_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── screen │ │ │ └── settings │ │ │ │ └── chat_settings_state.dart │ │ └── chat_settings_screen_router.dart │ │ └── feature_chat_settings_impl.dart ├── feature_create_new_chat_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── src │ │ ├── new_chat_screen_factory.dart │ │ ├── create_new_group_screen_factory.dart │ │ ├── create_new_channel_screen_factory.dart │ │ └── create_new_secret_chat_screen_factory.dart ├── feature_create_new_chat_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── screen │ │ │ ├── new_group │ │ │ │ └── new_group.dart │ │ │ ├── new_secret_chat │ │ │ │ └── new_secret_chat.dart │ │ │ ├── new_chat │ │ │ │ ├── new_chat_screen_router.dart │ │ │ │ └── new_chat.dart │ │ │ └── new_channel │ │ │ │ ├── new_channel_screen_router.dart │ │ │ │ └── new_channel.dart │ │ ├── di │ │ │ └── scope │ │ │ │ ├── screen_scope.dart │ │ │ │ └── feature_scope.dart │ │ └── create_new_chat_router.dart │ │ └── feature_create_new_chat_impl.dart ├── feature_data_settings_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── src │ │ │ ├── data_settings_widget_factory.dart │ │ │ └── data_settings_feature_api.dart │ │ └── feature_data_settings_api.dart │ └── pubspec.yaml ├── feature_data_settings_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── data_settings_screen_router.dart │ │ └── feature_data_settings_impl.dart ├── feature_global_search_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── src │ │ │ ├── global_search_feature_api.dart │ │ │ └── global_search_screen_factory.dart │ │ └── feature_global_search_api.dart │ └── pubspec.yaml ├── feature_global_search_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── global_search_feature_router.dart │ │ └── screen │ │ │ └── global_search │ │ │ ├── global_search_result_category.dart │ │ │ └── tile │ │ │ └── model │ │ │ ├── file_result_tile_model.dart │ │ │ ├── link_result_tile_model.dart │ │ │ ├── music_result_tile_model.dart │ │ │ ├── voice_result_tile_model.dart │ │ │ └── model.dart │ │ └── feature_global_search_impl.dart ├── feature_main_screen_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── screen │ │ │ └── main │ │ │ │ ├── menu_item.dart │ │ │ │ └── main_screen.dart │ │ └── main_screen_router.dart │ │ └── feature_main_screen_impl.dart ├── feature_privacy_settings_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── privacy_settings_widget_factory.dart │ │ └── privacy_settings_feature_api.dart │ │ └── feature_privacy_settings_api.dart ├── feature_settings_search_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── settings_search_feature_api.dart │ │ └── settings_search_screen_factory.dart │ │ └── feature_settings_search_api.dart ├── feature_settings_search_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── settings_search_screen_router.dart │ │ └── domain │ │ │ └── search_group.dart │ │ └── feature_settings_search_impl.dart ├── feature_shared_media_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── src │ │ │ ├── shared_content_type.dart │ │ │ ├── shared_media_feature_api.dart │ │ │ └── shared_media_screen_factory.dart │ │ └── feature_shared_media_api.dart │ └── pubspec.yaml ├── feature_shared_media_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── feature_shared_media_impl.dart ├── folders │ ├── feature_folders_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ │ ├── src │ │ │ │ ├── folders_screen_factory.dart │ │ │ │ ├── setup_folder_screen_factory.dart │ │ │ │ └── folders_feature_api.dart │ │ │ └── feature_folders_api.dart │ │ └── pubspec.yaml │ └── feature_folders_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ ├── src │ │ ├── screen │ │ │ ├── folders │ │ │ │ └── folders_screen_router.dart │ │ │ └── setup_folder │ │ │ │ └── setup_folder_screen_router.dart │ │ ├── di │ │ │ └── scope │ │ │ │ ├── screen_scope.dart │ │ │ │ └── feature_scope.dart │ │ └── folders_router.dart │ │ └── feature_folders_impl.dart ├── profile │ ├── feature_profile_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── src │ │ │ ├── profile_feature_api.dart │ │ │ └── profile_screen_factory.dart │ │ │ └── feature_profile_api.dart │ ├── feature_profile_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── feature_profile_impl.dart │ │ │ └── src │ │ │ └── screen │ │ │ └── profile │ │ │ └── profile_args.dart │ └── profile_navigation_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ ├── src │ │ │ ├── profile_type.dart │ │ │ └── profile_router.dart │ │ └── profile_navigation_api.dart │ │ └── pubspec.yaml ├── feature_chat_header_info_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── feature_chat_header_info_impl.dart ├── feature_message_preview_resolver │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── feature_message_preview_resolver.dart │ │ └── src │ │ │ ├── message_preview_data.dart │ │ │ └── message_preview_resolver.dart │ └── pubspec.yaml ├── feature_privacy_settings_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── privacy_settings_screen_router.dart │ │ └── feature_privacy_settings_impl.dart ├── sticker │ └── sticker_navigation_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ ├── sticker_navigation_api.dart │ │ └── src │ │ │ └── stickers_set_screen_router.dart │ │ └── pubspec.yaml ├── contact │ ├── contacts │ │ ├── feature_contacts_api │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ │ ├── src │ │ │ │ ├── contacts_screen_factory.dart │ │ │ │ └── contacts_feature_api.dart │ │ │ │ └── feature_contacts_api.dart │ │ └── feature_contacts_impl │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ ├── feature_contacts_impl.dart │ │ │ └── src │ │ │ └── screen │ │ │ └── contacts │ │ │ └── contacts_router.dart │ ├── new_contact │ │ ├── feature_new_contact_api │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ │ ├── feature_new_contact_api.dart │ │ │ │ └── src │ │ │ │ ├── new_contact_screen_factory.dart │ │ │ │ └── new_contact_feature_api.dart │ │ └── feature_new_contact_impl │ │ │ ├── dart_dependency_validator.yaml │ │ │ ├── analysis_options.yaml │ │ │ └── lib │ │ │ ├── src │ │ │ └── screen │ │ │ │ └── new_contact │ │ │ │ ├── args.dart │ │ │ │ └── new_contact_router.dart │ │ │ └── feature_new_contact_impl.dart │ └── contacts_manager │ │ ├── contacts_manager_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ │ ├── contacts_manager_api.dart │ │ │ └── src │ │ │ └── contacts_manager.dart │ │ └── contacts_manager_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ └── contacts_manager_impl.dart ├── feature_message_preview_resolver_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── mode.dart │ │ └── feature_message_preview_resolver_impl.dart ├── feature_notifications_settings_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ ├── notifications_settings_widget_factory.dart │ │ └── quick_notification_settings_screen_factory.dart │ │ └── feature_notifications_settings_api.dart └── feature_notifications_settings_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ ├── src │ └── notifications_settings_screen_router.dart │ └── feature_notifications_settings_impl.dart ├── localization_impl ├── dart_dependency_validator.yaml ├── analysis_options.yaml └── lib │ └── localization_impl.dart ├── component ├── app_controller │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── src │ │ └── app_launcher.dart │ │ └── app_controller.dart ├── auth_manager │ ├── auth_manager_api │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ ├── lib │ │ │ └── auth_manager_api.dart │ │ └── pubspec.yaml │ └── auth_manager_impl │ │ ├── dart_dependency_validator.yaml │ │ ├── analysis_options.yaml │ │ └── lib │ │ └── auth_manager_impl.dart └── link_resolver │ ├── link_resolver_api │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── link_resolver_api.dart │ │ └── src │ │ └── link_resolver.dart │ └── link_resolver_impl │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ └── link_resolver_impl.dart ├── rich_text ├── rich_text_format │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ ├── rich_text_format.dart │ │ └── src │ │ └── entity.dart ├── td_rich_text_parser │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ │ └── td_rich_text_parser.dart └── rich_text_format_flutter │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── lib │ └── rich_text_format_flutter.dart ├── scope_generator ├── generator │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── build.yaml │ └── lib │ │ └── builder.dart └── scope_generator_annotation │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ ├── scope_generator_annotation.dart │ └── src │ │ └── scope.dart │ └── pubspec.yaml ├── factory_widget_generator ├── annotation │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ │ ├── fwg_annotation.dart │ │ └── src │ │ │ └── widget_factory.dart │ └── pubspec.yaml └── generator │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ └── build.yaml ├── dependencies_module_generator ├── generator │ ├── dart_dependency_validator.yaml │ └── analysis_options.yaml └── dmg_annotation │ ├── dart_dependency_validator.yaml │ ├── analysis_options.yaml │ ├── lib │ ├── dmg_annotation.dart │ └── src │ │ └── dependencies.dart │ └── pubspec.yaml ├── tg_lint_rules ├── analysis_options.yaml ├── dart_dependency_validator.yaml └── pubspec.yaml ├── tg_ui_kit ├── lib │ └── tg_ui_kit.dart ├── assets │ └── tg_icons.ttf └── pubspec.yaml ├── res └── telegram_picture.png ├── .gitignore └── PROGRESS.md /launch/README.md: -------------------------------------------------------------------------------- 1 | # app -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- 1 | # presentation 2 | -------------------------------------------------------------------------------- /tools/format.sh: -------------------------------------------------------------------------------- 1 | cd .. 2 | flutter format . -------------------------------------------------------------------------------- /launch/linux/.gitignore: -------------------------------------------------------------------------------- 1 | flutter/ephemeral 2 | -------------------------------------------------------------------------------- /app/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /coreui/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /fake/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /queue/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /td_client/LICENSE: -------------------------------------------------------------------------------- 1 | TODO: Add your license here. 2 | -------------------------------------------------------------------------------- /tile/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /async_utils/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_arch/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_utils/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /dialog_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /showcase/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /split_view/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /td/td_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /td_client/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /test_utils/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_tdlib_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_tdlib_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_ui_jugger/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /localization_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /lottie_utils/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /search_component/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /shared/models/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /tg_logger_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /tg_logger_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /ui/emoji_ui_kit/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /app/lib/src/feature/feature.dart: -------------------------------------------------------------------------------- 1 | export 'feature_factory.dart'; 2 | -------------------------------------------------------------------------------- /block_interaction_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core/lib/src/manager/manager.dart: -------------------------------------------------------------------------------- 1 | export 'options_manager.dart'; 2 | -------------------------------------------------------------------------------- /core_arch_flutter/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_presentation/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /dialog_api_flutter/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /error_transformer_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /error_transformer_td/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_kit/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_dev/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /localization_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /component/app_controller/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_info/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_theme/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_auth_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_auth_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_file_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_file_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_logout_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/theme/tg_theme/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/user/user_info/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /queue/lib/queue.dart: -------------------------------------------------------------------------------- 1 | library queue; 2 | 3 | export 'src/queue.dart'; 4 | -------------------------------------------------------------------------------- /rich_text/rich_text_format/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /scope_generator/generator/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /app/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /fake/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_actions_panel/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chats_list_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_country_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_country_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_logout_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_main_screen_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_sessions_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_sessions_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_settings_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_settings_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_stickers_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_stickers_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/theme/theme_manager_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /rich_text/td_rich_text_parser/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /tile/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_arch/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /coreui/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /factory_widget_generator/annotation/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /factory_widget_generator/generator/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_navigation_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat_list/chat_list_theme/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat_list/chat_list_ui_kit/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chat_header_info_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chat_settings_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_data_settings_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_data_settings_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_global_search_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_global_search_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_privacy_settings_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_settings_search_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_settings_search_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_shared_media_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_shared_media_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/profile/feature_profile_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/profile/feature_profile_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/theme/theme_manager_flutter/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/user/feature_change_bio_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/user/feature_change_bio_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /launch/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /queue/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /rich_text/rich_text_format_flutter/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /showcase/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /td/td_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /td_client/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /async_utils/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_tdlib_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_ui_jugger/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_utils/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /dependencies_module_generator/generator/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /dialog_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_chat_header_info_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_privacy_settings_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/sticker/sticker_navigation_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/user/feature_change_username_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/user/feature_change_username_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /launch/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /lottie_utils/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /shared/models/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /split_view/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /td_client/lib/td_client.dart: -------------------------------------------------------------------------------- 1 | library td_client; 2 | 3 | export 'src/client.dart'; 4 | -------------------------------------------------------------------------------- /test_utils/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_lint_rules/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_logger_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_logger_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_ui_kit/lib/tg_ui_kit.dart: -------------------------------------------------------------------------------- 1 | library tg_ui_kit; 2 | 3 | export 'src/tg_icons.dart'; 4 | -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /core_arch_flutter/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_presentation/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_tdlib_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_tdlib_impl/lib/src/provider/updates/updates.dart: -------------------------------------------------------------------------------- 1 | export 'updates_provider.dart'; 2 | -------------------------------------------------------------------------------- /dependencies_module_generator/dmg_annotation/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /dialog_api_flutter/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/forum/chat_forum_navigation_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_dev/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_notifications_settings_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_notifications_settings_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /localization_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /localization_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /scope_generator/scope_generator_annotation/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /search_component/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /td/td_api/lib/td_api.dart: -------------------------------------------------------------------------------- 1 | library td_api; 2 | 3 | export 'package:tdlib/td_api.dart'; 4 | -------------------------------------------------------------------------------- /tile/lib/src/tile_model.dart: -------------------------------------------------------------------------------- 1 | abstract class ITileModel { 2 | const ITileModel(); 3 | } 4 | -------------------------------------------------------------------------------- /tools/tools-project/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /ui/emoji_ui_kit/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /block_interaction_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /component/app_controller/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /error_transformer_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /error_transformer_td/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_info/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_kit/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_theme/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat_list/chat_list_theme/lib/chat_list_theme.dart: -------------------------------------------------------------------------------- 1 | export 'src/chat_cell_theme.dart'; 2 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_auth_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_file_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/theme/tg_theme/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/user/user_info/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_logger_api/lib/tg_logger_api.dart: -------------------------------------------------------------------------------- 1 | library tg_logger_api; 2 | 3 | export 'src/logger.dart'; 4 | -------------------------------------------------------------------------------- /app/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## [0.0.1] - TODO: Add release date. 2 | 3 | * TODO: Describe initial release. 4 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/feature_auth_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_country_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_country_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_file_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_logout_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_logout_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_sessions_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_sessions_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_settings_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_settings_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_stickers_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_stickers_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /rich_text/rich_text_format/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /rich_text/td_rich_text_parser/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /scope_generator/generator/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /showcase/lib/src/showcase/chat/showcase_chat_type.dart: -------------------------------------------------------------------------------- 1 | enum ShowcaseChatType { 2 | simple, 3 | } 4 | -------------------------------------------------------------------------------- /tg_lint_rules/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true 2 | ignore: 3 | - flutter_lints 4 | -------------------------------------------------------------------------------- /tools/tools-project/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true 2 | ignore: 3 | - localization_api -------------------------------------------------------------------------------- /factory_widget_generator/generator/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_api/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_impl/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true -------------------------------------------------------------------------------- /feature/chat/chat_actions_panel/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_navigation_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat_list/chat_list_theme/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat_list/chat_list_ui_kit/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_chat_settings_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_chats_list_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_data_settings_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_data_settings_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_global_search_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_global_search_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_main_screen_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_shared_media_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_shared_media_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/theme/theme_manager_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /launch/web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/web/favicon.png -------------------------------------------------------------------------------- /res/telegram_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/res/telegram_picture.png -------------------------------------------------------------------------------- /rich_text/rich_text_format_flutter/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tools/full_sync.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | git clean -fX 4 | bash packages_get.sh 5 | bash gen.sh -------------------------------------------------------------------------------- /component/app_controller/lib/src/app_launcher.dart: -------------------------------------------------------------------------------- 1 | abstract class IAppLauncher { 2 | void launch(); 3 | } 4 | -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_ui_jugger/lib/core_ui_jugger.dart: -------------------------------------------------------------------------------- 1 | library core_ui_jugger; 2 | 3 | export 'src/tg_app_bar_module.dart'; 4 | -------------------------------------------------------------------------------- /dependencies_module_generator/generator/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /factory_widget_generator/annotation/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_info/lib/chat_info.dart: -------------------------------------------------------------------------------- 1 | library chat_info; 2 | 3 | export 'src/chat_info_resolver.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/chat_theme/lib/chat_theme.dart: -------------------------------------------------------------------------------- 1 | library chat_theme; 2 | 3 | export 'src/chat_theme_data.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_chat_header_info_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_chat_header_info_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_privacy_settings_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_privacy_settings_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_settings_search_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_settings_search_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/profile/feature_profile_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/profile/feature_profile_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/sticker/sticker_navigation_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/theme/theme_manager_flutter/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/user/feature_change_bio_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/user/feature_change_bio_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/user/user_info/lib/user_info.dart: -------------------------------------------------------------------------------- 1 | library chat_info; 2 | 3 | export 'src/user_info_resolver.dart'; 4 | -------------------------------------------------------------------------------- /showcase/assets/durov.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/showcase/assets/durov.jpg -------------------------------------------------------------------------------- /test_utils/lib/test_utils.dart: -------------------------------------------------------------------------------- 1 | library test_utils; 2 | 3 | export 'src/verification_result_extensions.dart'; 4 | -------------------------------------------------------------------------------- /tg_logger_impl/lib/tg_logger_impl.dart: -------------------------------------------------------------------------------- 1 | library tg_logger_impl; 2 | 3 | export 'src/tg_logger_impl.dart'; 4 | -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /core_arch_flutter/lib/src/scope_disposer.dart: -------------------------------------------------------------------------------- 1 | abstract class ScopeDisposer { 2 | Future dispose(); 3 | } 4 | -------------------------------------------------------------------------------- /dependencies_module_generator/dmg_annotation/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /dialog_api_flutter/lib/dialog_api_flutter.dart: -------------------------------------------------------------------------------- 1 | library dialog_api; 2 | 3 | export 'src/dialog_router_impl.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/component/sender_type.dart: -------------------------------------------------------------------------------- 1 | enum SenderType { 2 | user, 3 | chat, 4 | } 5 | -------------------------------------------------------------------------------- /feature/chat/forum/chat_forum_navigation_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_notifications_settings_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_notifications_settings_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/src/wallpapers_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IWallpapersFeatureRouter {} 2 | -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/lib/src/profile_type.dart: -------------------------------------------------------------------------------- 1 | enum ProfileType { 2 | user, 3 | chat, 4 | } 5 | -------------------------------------------------------------------------------- /feature/user/feature_change_username_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/user/feature_change_username_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /launch/web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/web/icons/Icon-192.png -------------------------------------------------------------------------------- /launch/web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/web/icons/Icon-512.png -------------------------------------------------------------------------------- /lottie_utils/lib/lottie_utils.dart: -------------------------------------------------------------------------------- 1 | library lottie_utils; 2 | 3 | export 'src/lottie_sticker_file_resolver.dart'; 4 | -------------------------------------------------------------------------------- /scope_generator/scope_generator_annotation/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /tg_ui_kit/assets/tg_icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/tg_ui_kit/assets/tg_icons.ttf -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_data_settings_impl/lib/src/data_settings_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IDataSettingsScreenRouter {} 2 | -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /rich_text/td_rich_text_parser/lib/td_rich_text_parser.dart: -------------------------------------------------------------------------------- 1 | library rich_text_format; 2 | 3 | export 'src/parser.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/chat_navigation_api/lib/src/chat_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IChatRouter { 2 | void toChat(int chatId); 3 | } 4 | -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver_impl/lib/src/mode.dart: -------------------------------------------------------------------------------- 1 | enum Mode { 2 | chatPreview, 3 | replyPreview, 4 | } 5 | -------------------------------------------------------------------------------- /launch/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /launch/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /localization_impl/lib/localization_impl.dart: -------------------------------------------------------------------------------- 1 | library localization_impl; 2 | 3 | export 'src/localization_manager.dart'; 4 | -------------------------------------------------------------------------------- /core_arch/lib/src/base_view_model.dart: -------------------------------------------------------------------------------- 1 | import 'subscription_mixin.dart'; 2 | 3 | class BaseViewModel with SubscriptionMixin {} 4 | -------------------------------------------------------------------------------- /error_transformer_api/lib/error_transformer_api.dart: -------------------------------------------------------------------------------- 1 | library error_transformer_api; 2 | 3 | export 'src/error_transformer.dart'; 4 | -------------------------------------------------------------------------------- /error_transformer_td/lib/error_transformer_td.dart: -------------------------------------------------------------------------------- 1 | library error_transformer_td; 2 | 3 | export 'src/td_error_transformer.dart'; 4 | -------------------------------------------------------------------------------- /factory_widget_generator/annotation/lib/fwg_annotation.dart: -------------------------------------------------------------------------------- 1 | library fwg_annotation; 2 | 3 | export 'src/widget_factory.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_api/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /feature/chat/chat_navigation_api/lib/chat_router_api.dart: -------------------------------------------------------------------------------- 1 | library chat_navigation_api; 2 | 3 | export 'src/chat_router.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_privacy_settings_impl/lib/src/privacy_settings_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IPrivacySettingsScreenRouter {} 2 | -------------------------------------------------------------------------------- /launch/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /shared/models/lib/shared_models.dart: -------------------------------------------------------------------------------- 1 | library shared_models; 2 | 3 | export 'src/minithumbnail.dart'; 4 | export 'src/size.dart'; 5 | -------------------------------------------------------------------------------- /core_arch/lib/core_arch.dart: -------------------------------------------------------------------------------- 1 | library core_arch; 2 | 3 | export 'src/base_view_model.dart'; 4 | export 'src/subscription_mixin.dart'; 5 | -------------------------------------------------------------------------------- /dependencies_module_generator/dmg_annotation/lib/dmg_annotation.dart: -------------------------------------------------------------------------------- 1 | library dmg_annotation; 2 | 3 | export 'src/dependencies.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_impl/analysis_options.yaml: -------------------------------------------------------------------------------- 1 | include: package:tg_lint_rules/analysis_options.yaml -------------------------------------------------------------------------------- /block_interaction_api/lib/block_interaction_api.dart: -------------------------------------------------------------------------------- 1 | library block_interaction_api; 2 | 3 | export 'src/block_interaction_manager.dart'; 4 | -------------------------------------------------------------------------------- /core/lib/src/util/future_ext.dart: -------------------------------------------------------------------------------- 1 | extension FutureExt on Future { 2 | Stream asStream() => Stream.fromFuture(this); 3 | } 4 | -------------------------------------------------------------------------------- /core/lib/src/util/util.dart: -------------------------------------------------------------------------------- 1 | export 'color_rgb24_ext.dart'; 2 | export 'connectivity_status_extensions.dart'; 3 | export 'future_ext.dart'; 4 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/provider.dart: -------------------------------------------------------------------------------- 1 | export 'authentication_state_provider.dart'; 2 | export 'connection_state_provider.dart'; 3 | -------------------------------------------------------------------------------- /error_transformer_api/lib/src/error_transformer.dart: -------------------------------------------------------------------------------- 1 | abstract class IErrorTransformer { 2 | String transformToString(Object error); 3 | } 4 | -------------------------------------------------------------------------------- /fake/assets/file/background/file_1608.tgv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/fake/assets/file/background/file_1608.tgv -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_api/lib/chat_manager_api.dart: -------------------------------------------------------------------------------- 1 | library chat_manager_api; 2 | 3 | export 'src/chat_manager.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_impl/lib/chat_manager_impl.dart: -------------------------------------------------------------------------------- 1 | library chat_manager_impl; 2 | 3 | export 'src/chat_manager.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_dev/lib/feature_dev.dart: -------------------------------------------------------------------------------- 1 | library feature_dev; 2 | 3 | export 'src/dev_feature.dart'; 4 | export 'src/dev_router.dart'; 5 | -------------------------------------------------------------------------------- /launch/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /tg_logger_api/lib/src/logger.dart: -------------------------------------------------------------------------------- 1 | abstract class ILogger { 2 | void d({ 3 | required Object o, 4 | String? tag, 5 | }); 6 | } 7 | -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_api/lib/auth_manager_api.dart: -------------------------------------------------------------------------------- 1 | library auth_manager_api; 2 | 3 | export 'src/authentication_manager.dart'; 4 | -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_impl/lib/link_resolver_impl.dart: -------------------------------------------------------------------------------- 1 | library link_resolver_impl; 2 | 3 | export 'src/link_resolver.dart'; 4 | -------------------------------------------------------------------------------- /launch/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /launch/windows/runner/resources/app_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/windows/runner/resources/app_icon.ico -------------------------------------------------------------------------------- /rich_text/rich_text_format_flutter/lib/rich_text_format_flutter.dart: -------------------------------------------------------------------------------- 1 | library rich_text_format_flutter; 2 | 3 | export 'src/rich_text_ext.dart'; 4 | -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_impl/lib/auth_manager_impl.dart: -------------------------------------------------------------------------------- 1 | library auth_manager_impl; 2 | 3 | export 'src/authentication_manager.dart'; 4 | -------------------------------------------------------------------------------- /core_presentation/lib/core_presentation.dart: -------------------------------------------------------------------------------- 1 | library core_presentation; 2 | 3 | export 'src/avatar.dart'; 4 | export 'src/avatar_resolver.dart'; 5 | -------------------------------------------------------------------------------- /core_tdlib_impl/lib/src/provider/provider.dart: -------------------------------------------------------------------------------- 1 | export 'authentication_state_provider_impl.dart'; 2 | export 'connection_state_provider_impl.dart'; 3 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/screen/chat/chat_args.dart: -------------------------------------------------------------------------------- 1 | class ChatArgs { 2 | ChatArgs(this.chatId); 3 | 4 | final int chatId; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_impl/lib/src/screen/settings/chat_settings_state.dart: -------------------------------------------------------------------------------- 1 | class ChatSettingsState { 2 | const ChatSettingsState(); 3 | } 4 | -------------------------------------------------------------------------------- /feature/feature_notifications_settings_impl/lib/src/notifications_settings_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class INotificationsSettingsScreenRouter {} 2 | -------------------------------------------------------------------------------- /launch/dart_dependency_validator.yaml: -------------------------------------------------------------------------------- 1 | allow_pins: true 2 | ignore: 3 | - connectivity_plus_web 4 | - device_info_plus_web 5 | - flutter_web_plugins -------------------------------------------------------------------------------- /launch/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /scope_generator/scope_generator_annotation/lib/scope_generator_annotation.dart: -------------------------------------------------------------------------------- 1 | library scope_generator_annotation; 2 | 3 | export 'src/scope.dart'; 4 | -------------------------------------------------------------------------------- /tools/gen.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" gen --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /block_interaction_api/lib/src/block_interaction_manager.dart: -------------------------------------------------------------------------------- 1 | abstract class IBlockInteractionManager { 2 | void setState({required bool active}); 3 | } 4 | -------------------------------------------------------------------------------- /fake/assets/file/sticker/thumbnail/file_1361.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/fake/assets/file/sticker/thumbnail/file_1361.jpeg -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/lib/src/screen/main/menu_item.dart: -------------------------------------------------------------------------------- 1 | enum MenuItem { 2 | settings, 3 | dev, 4 | contacts, 5 | savedMessages, 6 | } 7 | -------------------------------------------------------------------------------- /feature/sticker/sticker_navigation_api/lib/sticker_navigation_api.dart: -------------------------------------------------------------------------------- 1 | library chat_navigation_api; 2 | 3 | export 'src/stickers_set_screen_router.dart'; 4 | -------------------------------------------------------------------------------- /search_component/lib/search_component.dart: -------------------------------------------------------------------------------- 1 | library search_component; 2 | 3 | export 'src/search_interactor.dart'; 4 | export 'src/search_state.dart'; 5 | -------------------------------------------------------------------------------- /async_utils/lib/async_utils.dart: -------------------------------------------------------------------------------- 1 | library core_tdlib_api; 2 | 3 | export 'src/cancelable_operation_extensions.dart'; 4 | export 'src/future_extensions.dart'; 5 | -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_api/lib/contacts_manager_api.dart: -------------------------------------------------------------------------------- 1 | library contacts_manager_api; 2 | 3 | export 'src/contacts_manager.dart'; 4 | -------------------------------------------------------------------------------- /localization_api/lib/localization_api.dart: -------------------------------------------------------------------------------- 1 | library localization_api; 2 | 3 | export 'src/localization_manager.dart'; 4 | export 'src/strings_provider.dart'; 5 | -------------------------------------------------------------------------------- /tools/analyze.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" analyze --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /tools/packages_get.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" get --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /tools/pub_upgrade.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" upgrade --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /ui/emoji_ui_kit/lib/emoji_ui_kit.dart: -------------------------------------------------------------------------------- 1 | library emoji_ui_kit; 2 | 3 | export 'src/custom_emoji_container.dart'; 4 | export 'src/custom_emoji_span_factory.dart'; 5 | -------------------------------------------------------------------------------- /component/app_controller/lib/app_controller.dart: -------------------------------------------------------------------------------- 1 | library app_controller; 2 | 3 | export 'src/app_controller_component.dart'; 4 | export 'src/app_launcher.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat/forum/chat_forum_navigation_api/lib/chat_forum_navigation_api.dart: -------------------------------------------------------------------------------- 1 | library chat_navigation_api; 2 | 3 | export 'src/chat_forum_screen_router.dart'; 4 | -------------------------------------------------------------------------------- /feature/chat/forum/chat_forum_navigation_api/lib/src/chat_forum_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IChatForumScreenRouter { 2 | void toChatForum(int chatId); 3 | } 4 | -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_impl/lib/contacts_manager_impl.dart: -------------------------------------------------------------------------------- 1 | library contacts_manager_impl; 2 | 3 | export 'src/contacts_manager.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_auth_api/lib/feature_auth_api.dart: -------------------------------------------------------------------------------- 1 | library feature_auth_api; 2 | 3 | export 'src/auth_feature_api.dart'; 4 | export 'src/auth_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/src/screen/folders/folders_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IFoldersScreenRouter { 2 | void toCreateNewFolder(); 3 | } 4 | -------------------------------------------------------------------------------- /feature/sticker/sticker_navigation_api/lib/src/stickers_set_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IStickersSetScreenRouter { 2 | void toStickersSet(int setId); 3 | } 4 | -------------------------------------------------------------------------------- /app/lib/src/navigation/navigation.dart: -------------------------------------------------------------------------------- 1 | export 'chats_list_screen_router_impl.dart'; 2 | export 'key_generator.dart'; 3 | export 'split_navigation_info_provider.dart'; 4 | -------------------------------------------------------------------------------- /core/lib/core.dart: -------------------------------------------------------------------------------- 1 | library core; 2 | 3 | export 'package:core/src/manager/manager.dart'; 4 | 5 | export 'src/provider/provider.dart'; 6 | export 'src/util/util.dart'; 7 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/lib/feature_chat_api.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_api; 2 | 3 | export 'src/chat_feature_api.dart'; 4 | export 'src/chat_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_file_impl/lib/feature_file_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_file_impl; 2 | 3 | export 'src/file_feature.dart'; 4 | export 'src/file_feature_dependencies.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat_list/chat_list_ui_kit/lib/chat_list_ui_kit.dart: -------------------------------------------------------------------------------- 1 | library chat_list_ui_kit; 2 | 3 | export 'src/chat_cell.dart'; 4 | export 'src/chat_cell_height_provider.dart'; 5 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_impl/lib/src/screen/new_contact/args.dart: -------------------------------------------------------------------------------- 1 | class Args { 2 | Args({required this.userId}); 3 | 4 | final int userId; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_auth_api/lib/src/auth_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IAuthScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_logout_api/lib/feature_logout_api.dart: -------------------------------------------------------------------------------- 1 | library feature_logout_api; 2 | 3 | export 'src/logout_feature_api.dart'; 4 | export 'src/logout_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /launch/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /launch/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /launch/macos/Flutter/Flutter-Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /rich_text/rich_text_format/lib/rich_text_format.dart: -------------------------------------------------------------------------------- 1 | library rich_text_format; 2 | 3 | export 'src/entity.dart'; 4 | export 'src/rich_text.dart'; 5 | export 'src/type.dart'; 6 | -------------------------------------------------------------------------------- /tools/gen_sp.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" generate_stings_provider --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /tools/run_tests.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" test --work-directory "%parent_path%/../" --withOutputs true -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_api/lib/link_resolver_api.dart: -------------------------------------------------------------------------------- 1 | library link_resolver_api; 2 | 3 | export 'src/link_resolver.dart'; 4 | export 'src/resolve_result.dart'; 5 | -------------------------------------------------------------------------------- /core_arch_flutter/lib/core_arch_flutter.dart: -------------------------------------------------------------------------------- 1 | library core_arch; 2 | 3 | export 'src/base_scope.dart'; 4 | export 'src/scope_disposer.dart'; 5 | export 'src/stream_listener.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_file_api/lib/src/file_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'file_downloader.dart'; 2 | 3 | abstract class IFileFeatureApi { 4 | IFileDownloader get fileDownloader; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_logout_api/lib/src/logout_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ILogoutScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_main_screen_api/lib/src/main_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IMainScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_api/lib/src/masks_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IMasksWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /launch/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /launch/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /launch/macos/Flutter/Flutter-Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "ephemeral/Flutter-Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /tools/get_depencencies_info.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" dependencies_info --work-directory "%parent_path%/../" -------------------------------------------------------------------------------- /coreui/lib/src/widget/tg/tg_widget.dart: -------------------------------------------------------------------------------- 1 | export 'annotation.dart'; 2 | export 'divider.dart'; 3 | export 'section.dart'; 4 | export 'section_divider.dart'; 5 | export 'text_cell.dart'; 6 | -------------------------------------------------------------------------------- /factory_widget_generator/annotation/lib/src/widget_factory.dart: -------------------------------------------------------------------------------- 1 | class WidgetFactory { 2 | const WidgetFactory(); 3 | } 4 | 5 | const WidgetFactory widgetFactory = WidgetFactory(); 6 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_impl/lib/src/chat_settings_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IChatSettingsScreenRouter { 2 | void toStickersAndMasks(); 3 | void toWallPapers(); 4 | } 5 | -------------------------------------------------------------------------------- /feature/feature_country_impl/lib/feature_country_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_country_impl; 2 | 3 | export 'src/country_feature.dart'; 4 | export 'src/country_feature_dependencies.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_sessions_api/lib/feature_chat_api.dart: -------------------------------------------------------------------------------- 1 | library feature_sessions_api; 2 | 3 | export 'src/sessions_feature_api.dart'; 4 | export 'src/sessions_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_sessions_api/lib/src/sessions_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ISessionsScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_settings_api/lib/feature_settings_api.dart: -------------------------------------------------------------------------------- 1 | library feature_settings_api; 2 | 3 | export 'src/setting_screen_factory.dart'; 4 | export 'src/settings_feature_api.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_settings_api/lib/src/setting_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ISettingScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/lib/profile_navigation_api.dart: -------------------------------------------------------------------------------- 1 | library profile_navigation_api; 2 | 3 | export 'src/profile_router.dart'; 4 | export 'src/profile_type.dart'; 5 | -------------------------------------------------------------------------------- /launch/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /showcase/lib/src/showcase/chat_background/chat_background_type.dart: -------------------------------------------------------------------------------- 1 | enum ChatBackgroundType { 2 | solid, 3 | pattern, 4 | gradient, 5 | freeformGradient, 6 | wallpaper, 7 | } 8 | -------------------------------------------------------------------------------- /component/link_resolver/link_resolver_api/lib/src/link_resolver.dart: -------------------------------------------------------------------------------- 1 | import 'resolve_result.dart'; 2 | 3 | abstract class ILinkResolver { 4 | ResolveResult resolve(String link); 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/events_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IEventsProvider { 4 | Stream get events; 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/lib/src/chat_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IChatScreenFactory { 4 | Widget create(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_auth_api/lib/src/auth_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'auth_screen_factory.dart'; 2 | 3 | abstract class IAuthFeatureApi { 4 | IAuthScreenFactory get authScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/lib/src/new_chat_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class INewChatScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/lib/src/folders_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IFoldersScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /scope_generator/scope_generator_annotation/lib/src/scope.dart: -------------------------------------------------------------------------------- 1 | class Scope { 2 | const factory Scope() = Scope._; 3 | 4 | const Scope._(); 5 | } 6 | 7 | const Scope scope = Scope._(); 8 | -------------------------------------------------------------------------------- /tile/lib/src/tile_factory_delegate.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ITileFactoryDelegate { 4 | Widget create(BuildContext context, M model); 5 | } 6 | -------------------------------------------------------------------------------- /fake/assets/file/sticker/thumbnail/thumbnail_5332587336939084375.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/fake/assets/file/sticker/thumbnail/thumbnail_5332587336939084375.webp -------------------------------------------------------------------------------- /fake/assets/file/sticker/thumbnail/thumbnail_5384068292417690842.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/fake/assets/file/sticker/thumbnail/thumbnail_5384068292417690842.webp -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/lib/src/chat_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'chat_screen_factory.dart'; 2 | 3 | abstract class IChatFeatureApi { 4 | IChatScreenFactory get chatScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_main_screen_api/lib/feature_main_screen_api.dart: -------------------------------------------------------------------------------- 1 | library feature_global_search_api; 2 | 3 | export 'src/main_screen_factory.dart'; 4 | export 'src/main_screen_feature_api.dart'; 5 | -------------------------------------------------------------------------------- /feature/user/feature_change_bio_api/lib/src/change_bio_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IChangeBioScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/chat_actions_panel/lib/chat_actions_panel.dart: -------------------------------------------------------------------------------- 1 | library chat_actions_panel; 2 | 3 | export 'src/chat_action_panel_dependencies.dart'; 4 | export 'src/chat_action_panel_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_impl/lib/src/chat_forum_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:chat_navigation_api/chat_router_api.dart'; 2 | 3 | abstract class IChatForumRouter implements IChatRouter {} 4 | -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_api/lib/src/contacts_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IContactsScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_data_settings_api/lib/src/data_settings_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IDataSettingsWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_logout_api/lib/src/logout_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'logout_screen_factory.dart'; 2 | 3 | abstract class ILogoutFeatureApi { 4 | ILogoutScreenFactory get logoutScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_shared_media_api/lib/src/shared_content_type.dart: -------------------------------------------------------------------------------- 1 | enum SharedContentType { 2 | media, 3 | files, 4 | links, 5 | music, 6 | voice, 7 | gif, 8 | groups, 9 | } 10 | -------------------------------------------------------------------------------- /feature/feature_stickers_api/lib/src/archived_stickers_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IArchivedStickersWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_api/lib/src/sticker_set_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IStickerSetScreenFactory { 4 | Widget create(int setId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_api/lib/src/trending_stickers_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ITrendingStickersWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/lib/feature_wallpapers_api.dart: -------------------------------------------------------------------------------- 1 | library feature_wallpapers_api; 2 | 3 | export 'src/wallpapers_feature_api.dart'; 4 | export 'src/wallpapers_list_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/lib/src/wallpapers_list_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IWallpapersListScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/lib/src/setup_folder_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ISetupFolderScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/theme/tg_theme/lib/tg_theme.dart: -------------------------------------------------------------------------------- 1 | library tg_theme; 2 | 3 | export 'src/tg_text_theme.dart'; 4 | export 'src/theme.dart'; 5 | export 'src/theme_colors.dart'; 6 | export 'src/theme_data.dart'; 7 | -------------------------------------------------------------------------------- /feature/user/feature_change_bio_api/lib/feature_change_bio_api.dart: -------------------------------------------------------------------------------- 1 | library feature_change_bio_api; 2 | 3 | export 'src/change_bio_feature_api.dart'; 4 | export 'src/change_bio_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /tile/lib/tile.dart: -------------------------------------------------------------------------------- 1 | library tile; 2 | 3 | export 'src/composite_tile_factory.dart'; 4 | export 'src/tile_factory.dart'; 5 | export 'src/tile_factory_delegate.dart'; 6 | export 'src/tile_model.dart'; 7 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/chat_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IChatUpdatesProvider { 4 | Stream get chatUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/session_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class ISessionRepository { 4 | Future> get activeSessions; 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/chat_kit/lib/src/background/active_background_storage.dart: -------------------------------------------------------------------------------- 1 | class ActiveBackgroundStorage { 2 | ActiveBackgroundStorage(); 3 | 4 | // TODO: implement storage 5 | int value = -1; 6 | } 7 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/tile/model/loading_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class LoadingTileModel implements ITileModel { 4 | const LoadingTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_api/lib/feature_contacts_api.dart: -------------------------------------------------------------------------------- 1 | library feature_contacts_api; 2 | 3 | export 'src/contacts_feature_api.dart'; 4 | export 'src/contacts_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/lib/src/create_new_group_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ICreateNewGroupScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_group/new_group.dart: -------------------------------------------------------------------------------- 1 | export 'new_group_page.dart'; 2 | export 'new_group_screen_scope_delegate.scope.dart'; 3 | export 'new_group_view_model.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_file_api/lib/feature_file_api.dart: -------------------------------------------------------------------------------- 1 | library feature_file_api; 2 | 3 | export 'src/file_download_state.dart'; 4 | export 'src/file_downloader.dart'; 5 | export 'src/file_feature_api.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_logout_impl/README.MD: -------------------------------------------------------------------------------- 1 | Log Out 2 | 3 | 4 | 5 | ###### Screenshot of the official android app 6 | -------------------------------------------------------------------------------- /feature/feature_sessions_impl/lib/src/screen/sessions/sessions_screen_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class ISessionsScreenRouter implements IDialogRouter {} 4 | -------------------------------------------------------------------------------- /feature/feature_settings_search_impl/lib/src/settings_search_screen_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class ISettingsSearchScreenRouter implements IDialogRouter {} 4 | -------------------------------------------------------------------------------- /feature/feature_shared_media_impl/lib/feature_shared_media_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_shared_media; 2 | 3 | export 'src/shared_media_feature.dart'; 4 | export 'src/shared_media_feature_dependencies.dart'; 5 | -------------------------------------------------------------------------------- /feature/user/feature_change_bio_impl/lib/feature_change_bio_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_change_bio_impl; 2 | 3 | export 'src/change_bio_feature.dart'; 4 | export 'src/change_bio_feature_dependencies.dart'; 5 | -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /tools/validate_dependencies.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SET parent_path=%~dp0 3 | 4 | dart run "%parent_path%/tools-project/lib/main.dart" validate_dependencies --work-directory "%parent_path%/../" --withOutputs true -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/file_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IFileUpdatesProvider { 4 | Stream get fileUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/user_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IUserUpdatesProvider { 4 | Stream get userUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /core_utils/lib/src/ext/string_extensions.dart: -------------------------------------------------------------------------------- 1 | extension StringExtensions on String? { 2 | String orEmpty() => this ?? ''; 3 | 4 | String? takeIfNotEmpty() => this?.isNotEmpty ?? false ? this : null; 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/chat_screen_router_factory.dart: -------------------------------------------------------------------------------- 1 | import 'chat_screen_router.dart'; 2 | 3 | abstract class IChatScreenRouterFactory { 4 | IChatScreenRouter create(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/wall/message_wall_context.dart: -------------------------------------------------------------------------------- 1 | abstract class IMessageWallContext { 2 | bool isDisplayAvatarFor(int messageId); 3 | bool isDisplaySenderNameFor(int messageId); 4 | } 5 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_api/lib/feature_chat_forum_api.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_forum_api; 2 | 3 | export 'src/chat_forum_feature_api.dart'; 4 | export 'src/chat_forum_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_api/lib/src/chat_forum_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IChatForumScreenFactory { 4 | Widget create(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/lib/feature_chat_settings_api.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_settings_api; 2 | 3 | export 'src/chat_settings_feature_api.dart'; 4 | export 'src/chat_settings_widget_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/lib/src/create_new_channel_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ICreateNewChannelScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_data_settings_api/lib/feature_data_settings_api.dart: -------------------------------------------------------------------------------- 1 | library feature_data_settings_api; 2 | 3 | export 'src/data_settings_feature_api.dart'; 4 | export 'src/data_settings_widget_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/global_search_feature_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:chat_navigation_api/chat_router_api.dart'; 2 | 3 | abstract class IGlobalSearchFeatureRouter extends IChatRouter {} 4 | -------------------------------------------------------------------------------- /feature/feature_main_screen_api/lib/src/main_screen_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'main_screen_factory.dart'; 2 | 3 | abstract class IMainScreenFeatureApi { 4 | IMainScreenFactory get mainScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_privacy_settings_api/lib/src/privacy_settings_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IPrivacySettingsWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_sessions_api/lib/src/sessions_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'sessions_screen_factory.dart'; 2 | 3 | abstract class ISessionsFeatureApi { 4 | ISessionsScreenFactory get sessionsScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_settings_api/lib/src/settings_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'setting_screen_factory.dart'; 2 | 3 | abstract class ISettingsFeatureApi { 4 | ISettingScreenFactory get settingsScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_settings_search_impl/lib/src/domain/search_group.dart: -------------------------------------------------------------------------------- 1 | enum SearchGroup { 2 | profile, 3 | notifications, 4 | privacy, 5 | data, 6 | chat, 7 | language, 8 | other, 9 | } 10 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/src/tile/model/top_group_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class TopGroupTileModel implements ITileModel { 4 | const TopGroupTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/user/feature_change_bio_impl/lib/src/change_bio_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class IChangeBioRouter implements IDialogRouter { 4 | void close(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/user/feature_change_username_api/lib/src/change_username_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IChangeUsernameScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_impl/lib/src/screen/chat_administration/args.dart: -------------------------------------------------------------------------------- 1 | class Args { 2 | const Args({ 3 | required this.chatId, 4 | }); 5 | 6 | final int chatId; 7 | } 8 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_impl/lib/src/screen/tile/model/topic_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class TopicTileModel extends ITileModel { 4 | const TopicTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_auth_impl/lib/feature_auth_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_auth_impl; 2 | 3 | export 'src/auth_feature.dart'; 4 | export 'src/auth_feature_dependencies.dart'; 5 | export 'src/auth_feature_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_api/lib/src/create_new_secret_chat_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class ICreateNewSecretChatScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/src/tile/model/bottom_group_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class BottomGroupTileModel implements ITileModel { 4 | const BottomGroupTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/profile/feature_profile_api/lib/src/profile_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'profile_screen_factory.dart'; 2 | 3 | abstract class IProfileFeatureApi { 4 | IProfileScreenFactory get profileScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivk1800/telegram-flutter/HEAD/launch/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/chat_filter_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IChatFilterRepository { 4 | Stream> get chatFiltersStream; 5 | } 6 | -------------------------------------------------------------------------------- /coreui/lib/src/static_curve.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/animation.dart'; 2 | 3 | class StaticCurve extends Curve { 4 | const StaticCurve(); 5 | 6 | @override 7 | double transformInternal(double t) => 1; 8 | } 9 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_api/lib/feature_new_contact_api.dart: -------------------------------------------------------------------------------- 1 | library feature_new_contact_api; 2 | 3 | export 'src/new_contact_feature_api.dart'; 4 | export 'src/new_contact_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_chats_list_api/lib/src/chats_list_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'chats_list_screen_factory.dart'; 2 | 3 | abstract class IChatsListFeatureApi { 4 | IChatsListScreenFactory get chatsListScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/global_search_result_category.dart: -------------------------------------------------------------------------------- 1 | enum GlobalSearchResultCategory { 2 | chats, 3 | media, 4 | links, 5 | files, 6 | music, 7 | voice, 8 | } 9 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/src/screen/setup_folder/setup_folder_screen_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class ISetupFolderScreenRouter implements IDialogRouter {} 4 | -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/lib/src/profile_router.dart: -------------------------------------------------------------------------------- 1 | import 'profile_type.dart'; 2 | 3 | abstract class IProfileRouter { 4 | void toChatProfile({required int chatId, required ProfileType type}); 5 | } 6 | -------------------------------------------------------------------------------- /showcase/lib/src/di/scope/screen_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class ScreenScope { 5 | const ScreenScope(); 6 | } 7 | 8 | const ScreenScope screenScope = ScreenScope(); 9 | -------------------------------------------------------------------------------- /test_utils/lib/src/verification_result_extensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:mockito/mockito.dart'; 2 | 3 | extension VerificationResultExt on VerificationResult { 4 | T capturedSingle() => captured.single as T; 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/authentication_state_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IAuthenticationStateProvider { 4 | td.AuthorizationState get authorizationState; 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/connection_state_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IConnectionStateProvider { 4 | Stream get connectionStateAsStream; 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_api/lib/src/new_contact_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class INewContactScreenFactory { 4 | Widget create(int userId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_logout_impl/lib/feature_logout_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_logout_impl; 2 | 3 | export 'src/logout_feature.dart'; 4 | export 'src/logout_feature_dependencies.dart'; 5 | export 'src/logout_feature_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver_impl/lib/feature_message_preview_resolver_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_message_preview_resolver_impl; 2 | 3 | export 'src/message_preview_resolver.dart'; 4 | export 'src/mode.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_notifications_settings_api/lib/src/notifications_settings_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class INotificationsSettingsWidgetFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_privacy_settings_api/lib/feature_privacy_settings_api.dart: -------------------------------------------------------------------------------- 1 | library feature_privacy_settings_api; 2 | 3 | export 'src/privacy_settings_feature_api.dart'; 4 | export 'src/privacy_settings_widget_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/user/feature_change_bio_api/lib/src/change_bio_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'change_bio_screen_factory.dart'; 2 | 3 | abstract class IChangeBioFeatureApi { 4 | IChangeBioScreenFactory get changeBioScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/user/feature_change_username_api/lib/feature_change_username_api.dart: -------------------------------------------------------------------------------- 1 | library feature_change_username_api; 2 | 3 | export 'src/change_username_feature_api.dart'; 4 | export 'src/change_username_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/user/feature_change_username_impl/lib/src/change_username_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class IChangeUsernameRouter implements IDialogRouter { 4 | void close(); 5 | } 6 | -------------------------------------------------------------------------------- /launch/linux/main.cc: -------------------------------------------------------------------------------- 1 | #include "my_application.h" 2 | 3 | int main(int argc, char** argv) { 4 | g_autoptr(MyApplication) app = my_application_new(); 5 | return g_application_run(G_APPLICATION(app), argc, argv); 6 | } 7 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/widget/chat_message/chat_message.dart: -------------------------------------------------------------------------------- 1 | export 'chat_message_factory.dart'; 2 | export 'reply_info_factory.dart'; 3 | export 'sender_title_factory.dart'; 4 | export 'short_info_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_api/lib/src/chat_forum_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'chat_forum_screen_factory.dart'; 2 | 3 | abstract class IChatForumFeatureApi { 4 | IChatForumScreenFactory get chatForumScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_api/lib/src/contacts_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'contacts_screen_factory.dart'; 2 | 3 | abstract class IContactsFeatureApi { 4 | IContactsScreenFactory get contactsScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chat_header_info_impl/lib/feature_chat_header_info_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_header_info_impl; 2 | 3 | export 'src/chat_header_info_feature.dart'; 4 | export 'src/chat_header_info_feature_dependencies.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_secret_chat/new_secret_chat.dart: -------------------------------------------------------------------------------- 1 | export 'new_secret_chat_model.dart'; 2 | export 'new_secret_chat_page.dart'; 3 | export 'new_secret_chat_screen_scope_delegate.scope.dart'; 4 | -------------------------------------------------------------------------------- /feature/feature_stickers_api/lib/src/stickers_widget_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | // TODO rename to IStickersScreenFactory 4 | abstract class IStickersWidgetFactory { 5 | Widget create(); 6 | } 7 | -------------------------------------------------------------------------------- /launch/android/app/src/main/java/ru/ivk1800/telegram/MainActivity.java: -------------------------------------------------------------------------------- 1 | package ru.ivk1800.telegram; 2 | 3 | import io.flutter.embedding.android.FlutterActivity; 4 | 5 | public class MainActivity extends FlutterActivity { 6 | } 7 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/basic_group_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IBasicGroupUpdatesProvider { 4 | Stream get basicGroupUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/super_group_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class ISuperGroupUpdatesProvider { 4 | Stream get superGroupUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/lib/src/chat_settings_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'chat_settings_widget_factory.dart'; 2 | 3 | abstract class IChatSettingsFeatureApi { 4 | IChatSettingsWidgetFactory get screenWidgetFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chats_list_api/lib/feature_chats_list_api.dart: -------------------------------------------------------------------------------- 1 | library feature_chats_list_api; 2 | 3 | export 'src/chat_list_type.dart'; 4 | export 'src/chats_list_feature_api.dart'; 5 | export 'src/chats_list_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/lib/src/list/chat_list_config.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | class ChatListConfig { 4 | ChatListConfig({required this.chatList}); 5 | 6 | final td.ChatList chatList; 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_chat/new_chat_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class INewChatScreenRouter { 2 | void toCreateNewGroup(); 3 | void toCreateNewSecretChat(); 4 | void toCreateNewChannel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_data_settings_api/lib/src/data_settings_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'data_settings_widget_factory.dart'; 2 | 3 | abstract class IDataSettingsFeatureApi { 4 | IDataSettingsWidgetFactory get screenWidgetFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_notifications_settings_api/lib/src/quick_notification_settings_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IQuickNotificationSettingsScreenFactory { 4 | Widget create(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_shared_media_api/lib/src/shared_media_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'shared_media_screen_factory.dart'; 2 | 3 | abstract class ISharedMediaFeatureApi { 4 | ISharedMediaScreenFactory get sharedMediaScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/lib/src/wallpapers_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'wallpapers_list_screen_factory.dart'; 2 | 3 | abstract class IWallpapersFeatureApi { 4 | IWallpapersListScreenFactory get wallpapersListScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /launch/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | source $HOME/.bash_profile 4 | 5 | bash flutter format -n --set-exit-if-changed . 6 | result=$? 7 | 8 | 9 | if [ $result -ne 0 ]; then 10 | echo 'run flutter format .' 11 | exit 1 12 | fi -------------------------------------------------------------------------------- /async_utils/lib/src/future_extensions.dart: -------------------------------------------------------------------------------- 1 | import 'package:async/async.dart'; 2 | 3 | extension FutureExt on Future { 4 | CancelableOperation toCancelableOperation() => 5 | CancelableOperation.fromFuture(this); 6 | } 7 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/chat_filters_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IChatFiltersUpdatesProvider { 4 | Stream get chatFiltersUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_country_api/lib/src/country_repository.dart: -------------------------------------------------------------------------------- 1 | import 'country.dart'; 2 | 3 | abstract class ICountryRepository { 4 | Future> getCountries(); 5 | 6 | Future findByCode({required int code}); 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_global_search_api/lib/src/global_search_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'global_search_screen_factory.dart'; 2 | 3 | abstract class IGlobalSearchFeatureApi { 4 | IGlobalSearchScreenFactory get globalSearchScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/tile/model/file_result_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class FileResultTileModel implements ITileModel { 4 | const FileResultTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/tile/model/link_result_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class LinkResultTileModel implements ITileModel { 4 | const LinkResultTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/tile/model/music_result_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class MusicResultTileModel implements ITileModel { 4 | const MusicResultTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/tile/model/voice_result_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class VoiceResultTileModel implements ITileModel { 4 | const VoiceResultTileModel(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_settings_impl/lib/feature_settings_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_settings_impl; 2 | 3 | export 'src/settings_feature.dart'; 4 | export 'src/settings_feature_dependencies.dart'; 5 | export 'src/settings_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_impl/lib/feature_stickers_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_stickers_impl; 2 | 3 | export 'src/stickers_feature.dart'; 4 | export 'src/stickers_feature_dependencies.dart'; 5 | export 'src/stickers_feature_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_impl/lib/src/di/scope/screen_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class ScreenScope { 5 | const ScreenScope(); 6 | } 7 | 8 | const ScreenScope screenScope = ScreenScope(); 9 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/lib/feature_folders_api.dart: -------------------------------------------------------------------------------- 1 | library feature_folders_api; 2 | 3 | export 'src/folders_feature_api.dart'; 4 | export 'src/folders_screen_factory.dart'; 5 | export 'src/setup_folder_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/feature_folders_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_folders_impl; 2 | 3 | export 'src/folders_feature_dependencies.dart'; 4 | export 'src/folders_feature_impl.dart'; 5 | export 'src/folders_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/profile/feature_profile_impl/lib/feature_profile_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_profile_impl; 2 | 3 | export 'src/profile_feature.dart'; 4 | export 'src/profile_feature_dependencies.dart'; 5 | export 'src/profile_feature_router.dart'; 6 | -------------------------------------------------------------------------------- /tg_logger_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tg_logger_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /tools/gen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "gen..." 9 | dart run "$parent_path/tools-project/lib/main.dart" gen --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_api/lib/src/chat_administration_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | abstract class IChatAdministrationScreenFactory { 4 | Widget create(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/component/message_action_listener.dart: -------------------------------------------------------------------------------- 1 | import 'sender_type.dart'; 2 | 3 | abstract class IMessageActionListener { 4 | void onSenderAvatarTap({required int senderId, required SenderType type}); 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_api/lib/src/new_contact_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'new_contact_screen_factory.dart'; 2 | 3 | abstract class INewContactFeatureApi { 4 | INewContactScreenFactory get newContactScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_impl/lib/src/screen/new_contact/new_contact_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class INewContactRouter implements IDialogRouter { 4 | void close(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/lib/src/chat_settings_widget_factory.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_settings_api; 2 | 3 | import 'package:flutter/widgets.dart'; 4 | 5 | abstract class IChatSettingsWidgetFactory { 6 | Widget create(); 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_chats_list_api/lib/src/chats_list_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | import 'chat_list_type.dart'; 4 | 5 | abstract class IChatsListScreenFactory { 6 | Widget create(ChatListType type); 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/di/scope/screen_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class ScreenScope { 5 | const ScreenScope(); 6 | } 7 | 8 | const ScreenScope screenScope = ScreenScope(); 9 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_chat/new_chat.dart: -------------------------------------------------------------------------------- 1 | export 'new_chat_page.dart'; 2 | export 'new_chat_screen_router.dart'; 3 | export 'new_chat_screen_scope_delegate.scope.dart'; 4 | export 'new_chat_view_model.dart'; 5 | -------------------------------------------------------------------------------- /feature/feature_shared_media_api/lib/feature_shared_media_api.dart: -------------------------------------------------------------------------------- 1 | library feature_shared_media; 2 | 3 | export 'src/shared_content_type.dart'; 4 | export 'src/shared_media_feature_api.dart'; 5 | export 'src/shared_media_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_stickers_impl/lib/src/di/scope/feature_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class FeatureScope { 5 | const FeatureScope(); 6 | } 7 | 8 | const FeatureScope featureScope = FeatureScope(); 9 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/src/di/scope/screen_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class ScreenScope { 5 | const ScreenScope(); 6 | } 7 | 8 | const ScreenScope screenScope = ScreenScope(); 9 | -------------------------------------------------------------------------------- /feature/theme/tg_theme/lib/src/theme_colors.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/widgets.dart'; 3 | 4 | const Color kPrimaryColor = Color(0xff5682a3); 5 | const Color kSecondaryColor = Color(0xff598fba); 6 | -------------------------------------------------------------------------------- /localization_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: localization_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /queue/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: queue 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dev_dependencies: 9 | dependency_validator: 3.2.0 10 | tg_lint_rules: 11 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /app/lib/src/di/scope/application_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class ApplicationScope { 5 | const ApplicationScope._(); 6 | } 7 | 8 | const ApplicationScope applicationScope = ApplicationScope._(); 9 | -------------------------------------------------------------------------------- /dependencies_module_generator/dmg_annotation/lib/src/dependencies.dart: -------------------------------------------------------------------------------- 1 | class Dependencies { 2 | const Dependencies({required this.scope}); 3 | 4 | final Type? scope; 5 | } 6 | 7 | const Dependencies dependencies = Dependencies(scope: null); 8 | -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/lib/src/list/chat_list.dart: -------------------------------------------------------------------------------- 1 | export 'chat_list_config.dart'; 2 | export 'chat_list_interactor.dart'; 3 | export 'chat_list_update_handler.dart'; 4 | export 'chats_holder.dart'; 5 | export 'simple_chats_holder.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/lib/feature_main_screen_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_main_screen_impl; 2 | 3 | export 'src/main_screen_feature.dart'; 4 | export 'src/main_screen_feature_dependencies.dart'; 5 | export 'src/main_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_privacy_settings_api/lib/src/privacy_settings_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'privacy_settings_widget_factory.dart'; 2 | 3 | abstract class IPrivacySettingsFeatureApi { 4 | IPrivacySettingsWidgetFactory get screenWidgetFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_settings_search_api/lib/src/settings_search_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'settings_search_screen_factory.dart'; 2 | 3 | abstract class ISettingsSearchFeatureApi { 4 | ISettingsSearchScreenFactory get settingsSearchScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/feature_wallpapers_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_wallpapers_impl; 2 | 3 | export 'src/wallpapers_feature.dart'; 4 | export 'src/wallpapers_feature_dependencies.dart'; 5 | export 'src/wallpapers_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /tools/analyze.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "analyze..." 9 | dart run "$parent_path/tools-project/lib/main.dart" analyze --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /block_interaction_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: block_interaction_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_api/lib/feature_chat_administration_api.dart: -------------------------------------------------------------------------------- 1 | library feature_new_contact_api; 2 | 3 | export 'src/chat_administration_feature_api.dart'; 4 | export 'src/chat_administration_screen_factory.dart'; 5 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/widget/widget.dart: -------------------------------------------------------------------------------- 1 | export 'chat_message/chat_message.dart'; 2 | export 'media_widget.dart'; 3 | export 'message_composite_text.dart'; 4 | export 'message_text.dart'; 5 | export 'not_implemented_placeholder.dart'; 6 | -------------------------------------------------------------------------------- /feature/chat/forum/feature_chat_forum_impl/lib/feature_chat_forum_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_forum_impl; 2 | 3 | export 'src/chat_forum_feature.dart'; 4 | export 'src/chat_forum_feature_dependencies.dart'; 5 | export 'src/chat_forum_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_chat_header_info_api/lib/src/chat_header_info_interactor.dart: -------------------------------------------------------------------------------- 1 | import 'chat_header_info.dart'; 2 | 3 | abstract class IChatHeaderInfoInteractor { 4 | Stream get infoStream; 5 | 6 | ChatHeaderInfo get current; 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/lib/src/list/chats_holder.dart: -------------------------------------------------------------------------------- 1 | import 'chat_data.dart'; 2 | import 'ordered_chat.dart'; 3 | 4 | abstract class IChatsHolder { 5 | Set get orderedChats; 6 | 7 | Map get chatsData; 8 | } 9 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/di/scope/feature_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class FeatureScope { 5 | const FeatureScope(); 6 | } 7 | 8 | const FeatureScope featureScope = FeatureScope(); 9 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/src/di/scope/feature_scope.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.scope 4 | class FeatureScope { 5 | const FeatureScope(); 6 | } 7 | 8 | const FeatureScope featureScope = FeatureScope(); 9 | -------------------------------------------------------------------------------- /feature/theme/theme_manager_flutter/lib/theme_manager_flutter.dart: -------------------------------------------------------------------------------- 1 | library theme_manager_flutter; 2 | 3 | export 'package:theme_manager_api/theme_manager_api.dart'; 4 | export 'src/theme_data_resolver.dart'; 5 | 6 | export 'src/theme_manager.dart'; 7 | -------------------------------------------------------------------------------- /feature/user/feature_change_username_api/lib/src/change_username_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'change_username_screen_factory.dart'; 2 | 3 | abstract class IChangeUsernameFeatureApi { 4 | IChangeUsernameScreenFactory get changeUsernameScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /rich_text/rich_text_format/lib/src/entity.dart: -------------------------------------------------------------------------------- 1 | import 'type.dart'; 2 | 3 | class Entity { 4 | Entity({ 5 | required this.text, 6 | required this.types, 7 | }); 8 | 9 | final String text; 10 | final List types; 11 | } 12 | -------------------------------------------------------------------------------- /core/lib/src/provider/provider.dart: -------------------------------------------------------------------------------- 1 | export 'app_lifecycle_state_provider.dart'; 2 | export 'app_lifecycle_state_provider_impl.dart'; 3 | export 'connectivity_provider.dart'; 4 | export 'connectivity_provider_impl.dart'; 5 | export 'my_chat_provider.dart'; 6 | -------------------------------------------------------------------------------- /error_transformer_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: error_transformer_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | 8 | dev_dependencies: 9 | dependency_validator: 3.2.0 10 | tg_lint_rules: 11 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_sessions_impl/lib/feature_sessions_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_sessions_impl; 2 | 3 | export 'src/screen/sessions/sessions_screen_router.dart'; 4 | export 'src/sessions_feature_dependencies.dart'; 5 | export 'src/sessions_feature_impl.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_shared_media_api/lib/src/shared_media_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | import 'shared_content_type.dart'; 4 | 5 | abstract class ISharedMediaScreenFactory { 6 | Widget create(SharedContentType type); 7 | } 8 | -------------------------------------------------------------------------------- /tools/packages_get.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "packages_get..."; 9 | dart run "$parent_path/tools-project/lib/main.dart" get --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /tools/pub_upgrade.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "pub upgrade..."; 9 | dart run "$parent_path/tools-project/lib/main.dart" upgrade --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/background_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IBackgroundRepository { 4 | Future> get backgrounds; 5 | 6 | Future getBackground(int id); 7 | } 8 | -------------------------------------------------------------------------------- /factory_widget_generator/annotation/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: fwg_annotation 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /fake/lib/src/fake_user_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:fake/src/utils.dart'; 2 | import 'package:td_api/td_api.dart' as td; 3 | 4 | class FakeUserProvider { 5 | const FakeUserProvider(); 6 | 7 | Future getFakeUser() async => getUser('user_1'); 8 | } 9 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/di/chat_qualifiers.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.qualifier 4 | class ChatIdQualifier { 5 | const ChatIdQualifier._(); 6 | } 7 | 8 | const ChatIdQualifier chatIdQualifier = ChatIdQualifier._(); 9 | -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_impl/lib/feature_contacts_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_contacts_impl; 2 | 3 | export 'src/contacts_feature.dart'; 4 | export 'src/contacts_feature_dependencies.dart'; 5 | export 'src/screen/contacts/contacts_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_country_api/lib/feature_country_api.dart: -------------------------------------------------------------------------------- 1 | library feature_add_contact_api; 2 | 3 | export 'src/choose_country_screen_factory.dart'; 4 | export 'src/country.dart'; 5 | export 'src/country_feature_api.dart'; 6 | export 'src/country_repository.dart'; 7 | -------------------------------------------------------------------------------- /feature/feature_country_api/lib/src/choose_country_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | import 'country.dart'; 4 | 5 | abstract class IChooseCountryScreenFactory { 6 | Widget create(void Function(Country country) callback); 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_global_search_api/lib/feature_global_search_api.dart: -------------------------------------------------------------------------------- 1 | library feature_global_search_api; 2 | 3 | export 'src/global_search_feature_api.dart'; 4 | export 'src/global_search_screen_controller.dart'; 5 | export 'src/global_search_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/feature_global_search_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_chats_list_impl; 2 | 3 | export 'src/global_search_feature.dart'; 4 | export 'src/global_search_feature_dependencies.dart'; 5 | export 'src/global_search_feature_router.dart'; 6 | -------------------------------------------------------------------------------- /launch/linux/flutter/generated_plugin_registrant.cc: -------------------------------------------------------------------------------- 1 | // 2 | // Generated file. Do not edit. 3 | // 4 | 5 | // clang-format off 6 | 7 | #include "generated_plugin_registrant.h" 8 | 9 | 10 | void fl_register_plugins(FlPluginRegistry* registry) { 11 | } 12 | -------------------------------------------------------------------------------- /tools/gen_sp.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "gen_sp..." 9 | dart run "$parent_path/tools-project/lib/main.dart" generate_stings_provider --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/provider/updates/authentication_state_updates_provider.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IAuthenticationStateUpdatesProvider { 4 | Stream get authorizationStateUpdates; 5 | } 6 | -------------------------------------------------------------------------------- /core_utils/lib/core_utils.dart: -------------------------------------------------------------------------------- 1 | library core_utils; 2 | 3 | export 'src/date_formatter.dart'; 4 | export 'src/date_parser.dart'; 5 | export 'src/ext/minithumbnail_extensions.dart'; 6 | export 'src/ext/string_extensions.dart'; 7 | export 'src/utils/avatar_utils.dart'; 8 | -------------------------------------------------------------------------------- /feature/chat/chat_navigation_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: chat_navigation_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_chat_settings_impl/lib/feature_chat_settings_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_settings_impl; 2 | 3 | export 'src/chat_settings_feature.dart'; 4 | export 'src/chat_settings_feature_dependencies.dart'; 5 | export 'src/chat_settings_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_channel/new_channel_screen_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class INewChannelScreenRouter implements IDialogRouter { 4 | void closeAfterCreateChannel(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_data_settings_impl/lib/feature_data_settings_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_data_settings_impl; 2 | 3 | export 'src/data_settings_feature.dart'; 4 | export 'src/data_settings_feature_dependencies.dart'; 5 | export 'src/data_settings_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/lib/src/main_screen_router.dart: -------------------------------------------------------------------------------- 1 | abstract class IMainScreenRouter { 2 | void toSettings(); 3 | 4 | void toDev(); 5 | 6 | void toContacts(); 7 | 8 | void toCreateNewChat(); 9 | 10 | void toSavedMessages(); 11 | } 12 | -------------------------------------------------------------------------------- /feature/profile/feature_profile_api/lib/feature_profile_api.dart: -------------------------------------------------------------------------------- 1 | library feature_profile_api; 2 | 3 | export 'package:profile_navigation_api/profile_navigation_api.dart'; 4 | 5 | export 'src/profile_feature_api.dart'; 6 | export 'src/profile_screen_factory.dart'; 7 | -------------------------------------------------------------------------------- /shared/models/lib/src/size.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | @immutable 4 | class Size { 5 | const Size({ 6 | required this.width, 7 | required this.height, 8 | }); 9 | 10 | final double width; 11 | final double height; 12 | } 13 | -------------------------------------------------------------------------------- /tg_lint_rules/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tg_lint_rules 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | # dart_code_metrics: 4.2.1 9 | flutter_lints: 1.0.4 10 | 11 | dev_dependencies: 12 | dependency_validator: 3.2.0 -------------------------------------------------------------------------------- /tools/run_tests.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "run_tests..." 9 | dart run "$parent_path/tools-project/lib/main.dart" test --work-directory "$parent_path/../" --withOutputs true -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/basic_group_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IBasicGroupRepository { 4 | Future getGroup(int id); 5 | 6 | Future getGroupFullInfo(int id); 7 | } 8 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/super_group_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class ISuperGroupRepository { 4 | Future getGroup(int id); 5 | 6 | Future getGroupFullInfo(int id); 7 | } 8 | -------------------------------------------------------------------------------- /dependencies_module_generator/dmg_annotation/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: dmg_annotation 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/screen/chat/chat_widget_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | 3 | @j.singleton 4 | @j.disposable 5 | class ChatWidgetModel { 6 | @j.inject 7 | ChatWidgetModel(); 8 | 9 | void dispose() {} 10 | } 11 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/feature_create_new_chat_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_create_new_chat_impl; 2 | 3 | export 'src/create_new_chat_feature.dart'; 4 | export 'src/create_new_chat_feature_dependencies.dart'; 5 | export 'src/create_new_chat_router.dart'; 6 | -------------------------------------------------------------------------------- /async_utils/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: async_utils 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | async: 2.11.0 9 | 10 | dev_dependencies: 11 | dependency_validator: 3.2.0 12 | tg_lint_rules: 13 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /core/lib/src/provider/app_lifecycle_state_provider.dart: -------------------------------------------------------------------------------- 1 | abstract class IAppLifecycleStateProvider { 2 | LifecycleState get currentState; 3 | 4 | Stream get onStateChange; 5 | } 6 | 7 | enum LifecycleState { 8 | active, 9 | inactive, 10 | } 11 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/td_function_executor.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class ITdFunctionExecutor { 4 | Future send(td.TdFunction object); 5 | 6 | T execute(td.TdFunction object); 7 | } 8 | -------------------------------------------------------------------------------- /feature/chat/chat_manager/chat_manager_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: chat_manager_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/lib/feature_message_preview_resolver.dart: -------------------------------------------------------------------------------- 1 | library feature_message_preview_resolver_api; 2 | 3 | export 'src/message_preview_data.dart'; 4 | export 'src/message_preview_resolver.dart'; 5 | export 'src/message_preview_resolver_ext.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_settings_search_api/lib/feature_settings_search_api.dart: -------------------------------------------------------------------------------- 1 | library feature_settings_search_api; 2 | 3 | export 'src/settings_search_feature_api.dart'; 4 | export 'src/settings_search_screen_controller.dart'; 5 | export 'src/settings_search_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_settings_search_impl/lib/feature_settings_search_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_settings_search_impl; 2 | 3 | export 'src/settings_search_feature.dart'; 4 | export 'src/settings_search_feature_dependencies.dart'; 5 | export 'src/settings_search_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/profile/profile_navigation_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: profile_navigation_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/sticker/sticker_navigation_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sticker_navigation_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/user/feature_change_username_impl/lib/feature_change_username_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_change_username_impl; 2 | 3 | export 'src/change_username_feature.dart'; 4 | export 'src/change_username_feature_dependencies.dart'; 5 | export 'src/change_username_router.dart'; 6 | -------------------------------------------------------------------------------- /test_utils/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: test_utils 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | mockito: 5.4.0 9 | 10 | dev_dependencies: 11 | dependency_validator: 3.2.0 12 | tg_lint_rules: 13 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /core_tdlib_api/lib/core_tdlib_api.dart: -------------------------------------------------------------------------------- 1 | library core_tdlib_api; 2 | 3 | export 'src/provider/provider.dart'; 4 | export 'src/provider/updates/updates.dart'; 5 | export 'src/repository/repository.dart'; 6 | export 'src/td_function_executor.dart'; 7 | export 'src/util/td_error.dart'; 8 | -------------------------------------------------------------------------------- /dialog_api/lib/src/body.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'body.freezed.dart'; 4 | 5 | @freezed 6 | @immutable 7 | class Body with _$Body { 8 | const factory Body.text({ 9 | required String text, 10 | }) = _Text; 11 | } 12 | -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/lib/src/message_preview_data.dart: -------------------------------------------------------------------------------- 1 | class MessagePreviewData { 2 | const MessagePreviewData({this.firstText, this.secondText}); 3 | 4 | final String? firstText; 5 | 6 | // TODO: replace by RichText 7 | final String? secondText; 8 | } 9 | -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/lib/src/message_preview_resolver.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | import 'message_preview_data.dart'; 4 | 5 | abstract class IMessagePreviewResolver { 6 | Future resolve(td.Message message); 7 | } 8 | -------------------------------------------------------------------------------- /feature/feature_privacy_settings_impl/lib/feature_privacy_settings_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_privacy_settings_impl; 2 | 3 | export 'src/privacy_settings_feature.dart'; 4 | export 'src/privacy_settings_feature_dependencies.dart'; 5 | export 'src/privacy_settings_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/src/tile/model/model.dart: -------------------------------------------------------------------------------- 1 | export 'background_wallpaper_tile_model.dart'; 2 | export 'bottom_group_tile_model.dart'; 3 | export 'fill_wallpaper_tile_model.dart'; 4 | export 'pattern_wallpaper_tile_model.dart'; 5 | export 'top_group_tile_model.dart'; 6 | -------------------------------------------------------------------------------- /feature/profile/feature_profile_api/lib/src/profile_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | import 'package:profile_navigation_api/profile_navigation_api.dart'; 3 | 4 | abstract class IProfileScreenFactory { 5 | Widget create(int id, ProfileType type); 6 | } 7 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/screen/chat/chat_screen.dart: -------------------------------------------------------------------------------- 1 | export 'body_state.dart'; 2 | export 'chat_screen_scope_delegate.scope.dart'; 3 | export 'header_state.dart'; 4 | export 'view_model/chat_action_bar_view_model.dart'; 5 | export 'view_model/chat_messages_view_model.dart'; 6 | -------------------------------------------------------------------------------- /feature/chat/forum/chat_forum_navigation_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: chat_forum_navigation_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/contact/new_contact/feature_new_contact_impl/lib/feature_new_contact_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_new_contact_impl; 2 | 3 | export 'src/new_contact_feature.dart'; 4 | export 'src/new_contact_feature_dependencies.dart'; 5 | export 'src/screen/new_contact/new_contact_router.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_country_impl/lib/src/screen/choose_country/choose_country.dart: -------------------------------------------------------------------------------- 1 | export 'bloc/choose_country_bloc.dart'; 2 | export 'bloc/choose_country_event.dart'; 3 | export 'bloc/choose_country_state.dart'; 4 | export 'choose_country_args.dart'; 5 | export 'choose_country_page.dart'; 6 | -------------------------------------------------------------------------------- /feature/profile/feature_profile_impl/lib/src/screen/profile/profile_args.dart: -------------------------------------------------------------------------------- 1 | import 'package:feature_profile_api/feature_profile_api.dart'; 2 | 3 | class ProfileArgs { 4 | ProfileArgs({required this.id, required this.type}); 5 | 6 | final int id; 7 | final ProfileType type; 8 | } 9 | -------------------------------------------------------------------------------- /scope_generator/scope_generator_annotation/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: scope_generator_annotation 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=2.12.0-0 <3.0.0" 6 | 7 | dev_dependencies: 8 | dependency_validator: 3.2.0 9 | tg_lint_rules: 10 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /shared/models/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: shared_models 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | meta: 1.10.0 9 | 10 | dev_dependencies: 11 | dependency_validator: 3.2.0 12 | tg_lint_rules: 13 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /tools/get_dependencies_info.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "get_dependencies_info..." 9 | dart run "$parent_path/tools-project/lib/main.dart" dependencies_info --work-directory "$parent_path/../" -------------------------------------------------------------------------------- /core/lib/src/provider/connectivity_provider.dart: -------------------------------------------------------------------------------- 1 | abstract class IConnectivityProvider { 2 | ConnectivityStatus get status; 3 | 4 | Stream get onStatusChange; 5 | } 6 | 7 | enum ConnectivityStatus { 8 | wifi, 9 | mobile, 10 | none, 11 | other, 12 | } 13 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/file_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IFileRepository { 4 | Future getLocalFile(int id); 5 | 6 | Future getFile(int id); 7 | 8 | String? getPathOrNull(int id); 9 | } 10 | -------------------------------------------------------------------------------- /factory_widget_generator/generator/build.yaml: -------------------------------------------------------------------------------- 1 | builders: 2 | factory_widget_generator: 3 | import: "package:factory_widget_generator/builder.dart" 4 | builder_factories: ["fwg"] 5 | build_extensions: { ".dart": [".fwg.dart"] } 6 | auto_apply: dependents 7 | build_to: source -------------------------------------------------------------------------------- /fake/lib/src/fake_options_manager.dart: -------------------------------------------------------------------------------- 1 | import 'package:core/core.dart'; 2 | 3 | class FakeOptionsManager extends OptionsManager { 4 | const FakeOptionsManager({ 5 | required super.functionExecutor, 6 | }); 7 | 8 | @override 9 | Future getMyId() async => 0; 10 | } 11 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_api/lib/src/chat_administration_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'chat_administration_screen_factory.dart'; 2 | 3 | abstract class IChatAdministrationFeatureApi { 4 | IChatAdministrationScreenFactory get chatAdministrationScreenFactory; 5 | } 6 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_impl/lib/src/screen/chat_administration/chat_administration_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | 3 | abstract class IChatAdministrationRouter implements IDialogRouter { 4 | void closeAfterDeleteChat(); 5 | } 6 | -------------------------------------------------------------------------------- /feature/contact/contacts_manager/contacts_manager_api/lib/src/contacts_manager.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IContactsManager { 4 | Future addContact({ 5 | required td.Contact contact, 6 | required bool sharePhoneNumber, 7 | }); 8 | } 9 | -------------------------------------------------------------------------------- /feature/feature_country_api/lib/src/country.dart: -------------------------------------------------------------------------------- 1 | class Country { 2 | Country({ 3 | required this.name, 4 | required this.code, 5 | required this.phoneFormat, 6 | }); 7 | 8 | final String name; 9 | final int code; 10 | 11 | final String? phoneFormat; 12 | } 13 | -------------------------------------------------------------------------------- /feature/feature_global_search_api/lib/src/global_search_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | import 'global_search_screen_controller.dart'; 4 | 5 | abstract class IGlobalSearchScreenFactory { 6 | Widget create(GlobalSearchScreenController controller); 7 | } 8 | -------------------------------------------------------------------------------- /launch/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tg_logger_impl/lib/src/tg_logger_impl.dart: -------------------------------------------------------------------------------- 1 | // ignore_for_file: avoid_print 2 | 3 | import 'package:tg_logger_api/tg_logger_api.dart'; 4 | 5 | class TgLoggerImpl implements ILogger { 6 | @override 7 | void d({required Object o, String? tag}) { 8 | print(o); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /tools/setup.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | app_id=$1 4 | app_hash=$2 5 | encryption_key=$3 6 | 7 | config_path='../app/assets/tdlib/' 8 | 9 | mkdir -p ${config_path} 10 | echo "apiId:$app_id 11 | apiHash:$app_hash 12 | encryptionKey:$encryption_key 13 | " > "${config_path}config.txt" -------------------------------------------------------------------------------- /core_tdlib_impl/lib/core_tdlib_impl.dart: -------------------------------------------------------------------------------- 1 | library core_tdlib_impl; 2 | 3 | export 'src/data_source/data_source.dart'; 4 | export 'src/provider/provider.dart'; 5 | export 'src/provider/updates/updates.dart'; 6 | export 'src/repository/repository.dart'; 7 | export 'src/td_function_executor.dart'; 8 | -------------------------------------------------------------------------------- /fake/lib/src/fake_error_transformer.dart: -------------------------------------------------------------------------------- 1 | import 'package:error_transformer_api/error_transformer_api.dart'; 2 | 3 | class FakeErrorTransformer implements IErrorTransformer { 4 | const FakeErrorTransformer(); 5 | 6 | @override 7 | String transformToString(Object error) => error.toString(); 8 | } 9 | -------------------------------------------------------------------------------- /feature/chat/administration/feature_chat_administration_impl/lib/src/screen/chat_administration/chat_administration_screen_router_factory.dart: -------------------------------------------------------------------------------- 1 | import 'chat_administration_router.dart'; 2 | 3 | abstract class IChatAdministrationRouterFactory { 4 | IChatAdministrationRouter create(int chatId); 5 | } 6 | -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/screen/new_channel/new_channel.dart: -------------------------------------------------------------------------------- 1 | export 'new_channel_page.dart'; 2 | export 'new_channel_screen_router.dart'; 3 | export 'new_channel_screen_scope_delegate.scope.dart'; 4 | export 'new_channel_view_model.dart'; 5 | export 'new_channel_widget_model.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_settings_search_api/lib/src/settings_search_screen_factory.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | import 'settings_search_screen_controller.dart'; 4 | 5 | abstract class ISettingsSearchScreenFactory { 6 | Widget create(SettingsSearchScreenController controller); 7 | } 8 | -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/user_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IUserRepository { 4 | Future getUser(int id); 5 | 6 | Stream getUserAsStream(int id); 7 | 8 | Future getUserFullInfo(int id); 9 | } 10 | -------------------------------------------------------------------------------- /core_tdlib_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: core_tdlib_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | td_api: 9 | path: ../td/td_api 10 | 11 | dev_dependencies: 12 | dependency_validator: 3.2.0 13 | tg_lint_rules: 14 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_chat_header_info_api/lib/feature_chat_header_info_api.dart: -------------------------------------------------------------------------------- 1 | library feature_chat_header_info_api; 2 | 3 | export 'src/chat_header_info.dart'; 4 | export 'src/chat_header_info_factory.dart'; 5 | export 'src/chat_header_info_feature_api.dart'; 6 | export 'src/chat_header_info_interactor.dart'; 7 | -------------------------------------------------------------------------------- /launch/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /showcase/lib/src/showcase/message/message_bundle.dart: -------------------------------------------------------------------------------- 1 | import 'package:showcase/src/showcase/message/message_data.dart'; 2 | 3 | class MessageBundle { 4 | MessageBundle({required this.messages, required this.name}); 5 | 6 | final String name; 7 | 8 | final List messages; 9 | } 10 | -------------------------------------------------------------------------------- /showcase/lib/src/showcase/message/message_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | class MessageData { 4 | const MessageData({required this.name, required this.messageFactory}); 5 | 6 | final String name; 7 | 8 | final Future Function() messageFactory; 9 | } 10 | -------------------------------------------------------------------------------- /showcase/lib/src/showcase_list/showcase_list_args.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | class ShowcaseListArgs { 4 | const ShowcaseListArgs({ 5 | required this.title, 6 | required this.items, 7 | }); 8 | 9 | final String title; 10 | final List items; 11 | } 12 | -------------------------------------------------------------------------------- /tile/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tile 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/lib/src/chats_list_screen_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:chat_forum_navigation_api/chat_forum_navigation_api.dart'; 2 | import 'package:chat_navigation_api/chat_router_api.dart'; 3 | 4 | abstract class IChatsListScreenRouter 5 | implements IChatRouter, IChatForumScreenRouter {} 6 | -------------------------------------------------------------------------------- /feature/feature_country_api/lib/src/country_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'choose_country_screen_factory.dart'; 2 | import 'country_repository.dart'; 3 | 4 | abstract class ICountryFeatureApi { 5 | IChooseCountryScreenFactory get chooseCountryScreenFactory; 6 | 7 | ICountryRepository get countryRepository; 8 | } 9 | -------------------------------------------------------------------------------- /feature/feature_stickers_impl/lib/src/stickers_feature_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:sticker_navigation_api/sticker_navigation_api.dart'; 2 | 3 | abstract class IStickersFeatureRouter implements IStickersSetScreenRouter { 4 | void toTrendingStickers(); 5 | void toArchivedStickers(); 6 | void toMasks(); 7 | } 8 | -------------------------------------------------------------------------------- /tools/validate_dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | parent_path=$( 5 | cd "$(dirname "${BASH_SOURCE[0]}")" 6 | pwd -P 7 | ) 8 | echo "validate_dependencies..." 9 | dart run "$parent_path/tools-project/lib/main.dart" validate_dependencies --work-directory "$parent_path/../" --withOutputs true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.jugger.dart 3 | *.freezed.dart 4 | *.mocks.dart 5 | *.fwg.dart 6 | *.dmg.dart 7 | *.scope.dart 8 | .metadata 9 | *.g.dart 10 | /tdlib 11 | /app/assets/tdlib/config.txt 12 | 13 | .dart_tool/ 14 | .flutter-plugins 15 | .flutter-plugins-dependencies 16 | .packages 17 | build/ 18 | pubspec.lock -------------------------------------------------------------------------------- /app/lib/src/app/td_lib_initializer.dart: -------------------------------------------------------------------------------- 1 | import 'package:jugger/jugger.dart' as j; 2 | import 'package:td_client/td_client.dart'; 3 | 4 | class TdLibInitializer { 5 | @j.inject 6 | TdLibInitializer(this.client); 7 | 8 | final TdClient client; 9 | 10 | Future init() => client.init(); 11 | } 12 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/screen/chat/message/popup/message_popup_listener.dart: -------------------------------------------------------------------------------- 1 | import 'message_popup_menu.dart'; 2 | 3 | abstract class IMessagePopupMenuListener { 4 | void onWillShowPopupMenu(int messageId, IMessagePopupMenu popupMenu); 5 | void onItemSelected(int messageId, ItemAction item); 6 | } 7 | -------------------------------------------------------------------------------- /feature/feature_auth_impl/lib/src/auth_feature_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:dialog_api/dialog_api.dart'; 2 | import 'package:feature_country_api/feature_country_api.dart'; 3 | 4 | abstract class IAuthFeatureRouter implements IDialogRouter { 5 | void toChooseCountry(void Function(Country country) callback); 6 | } 7 | -------------------------------------------------------------------------------- /feature/feature_main_screen_impl/lib/src/screen/main/main_screen.dart: -------------------------------------------------------------------------------- 1 | import 'package:coreui/coreui.dart' as tg; 2 | import 'package:flutter/widgets.dart'; 3 | 4 | enum ScreenState { chats, search } 5 | 6 | class AppBarKey extends GlobalObjectKey { 7 | const AppBarKey(super.value); 8 | } 9 | -------------------------------------------------------------------------------- /feature/theme/theme_manager_api/lib/src/theme.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'theme.freezed.dart'; 4 | 5 | @immutable 6 | @freezed 7 | class Theme with _$Theme { 8 | const factory Theme.classic() = Classic; 9 | const factory Theme.dark() = Dark; 10 | } 11 | -------------------------------------------------------------------------------- /tg_logger_impl/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tg_logger_impl 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | tg_logger_api: 9 | path: ../tg_logger_api 10 | 11 | dev_dependencies: 12 | dependency_validator: 3.2.0 13 | tg_lint_rules: 14 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /tg_ui_kit/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tg_ui_kit 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_country_impl/lib/src/country_feature_dependencies.dart: -------------------------------------------------------------------------------- 1 | import 'package:localization_api/localization_api.dart'; 2 | 3 | class CountryFeatureDependencies { 4 | CountryFeatureDependencies({ 5 | required this.stringsProvider, 6 | }); 7 | 8 | final IStringsProvider stringsProvider; 9 | } 10 | -------------------------------------------------------------------------------- /feature/feature_notifications_settings_api/lib/feature_notifications_settings_api.dart: -------------------------------------------------------------------------------- 1 | library feature_notifications_settings_api; 2 | 3 | export 'src/notifications_settings_feature_api.dart'; 4 | export 'src/notifications_settings_widget_factory.dart'; 5 | export 'src/quick_notification_settings_screen_factory.dart'; 6 | -------------------------------------------------------------------------------- /feature/feature_notifications_settings_impl/lib/feature_notifications_settings_impl.dart: -------------------------------------------------------------------------------- 1 | library feature_notifications_settings_impl; 2 | 3 | export 'src/notifications_settings_feature_api.dart'; 4 | export 'src/notifications_settings_feature_dependencies.dart'; 5 | export 'src/notifications_settings_screen_router.dart'; 6 | -------------------------------------------------------------------------------- /core_arch/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: core_arch 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | async: 2.11.0 9 | async_utils: 10 | path: ../async_utils 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/lib/src/folders_feature_api.dart: -------------------------------------------------------------------------------- 1 | import 'folders_screen_factory.dart'; 2 | import 'setup_folder_screen_factory.dart'; 3 | 4 | abstract class IFoldersFeatureApi { 5 | IFoldersScreenFactory get foldersScreenFactory; 6 | 7 | ISetupFolderScreenFactory get setupFolderScreenFactory; 8 | } 9 | -------------------------------------------------------------------------------- /launch/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /launch/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /launch/macos/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /showcase/lib/src/showcase/image_widget/image_widget_showcase_scope_delegate.dart: -------------------------------------------------------------------------------- 1 | import 'package:coreui/coreui.dart'; 2 | import 'package:scope_generator_annotation/scope_generator_annotation.dart'; 3 | 4 | @scope 5 | abstract class IImageWidgetShowcaseScopeDelegate { 6 | ImageWidgetFactory getImageWidgetFactory(); 7 | } 8 | -------------------------------------------------------------------------------- /core/lib/src/util/color_rgb24_ext.dart: -------------------------------------------------------------------------------- 1 | import 'dart:ui'; 2 | 3 | extension ColorsRGB24Ext on int { 4 | Color toColor() { 5 | final int red = (this >> 16) & 255; 6 | final int green = (this >> 8) & 255; 7 | final int blue = this & 255; 8 | 9 | return Color.fromARGB(255, red, green, blue); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /feature/contact/contacts/feature_contacts_impl/lib/src/screen/contacts/contacts_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:chat_navigation_api/chat_router_api.dart'; 2 | 3 | abstract class IContactsRouter implements IChatRouter { 4 | void toAddContact(); 5 | 6 | void toFindPeopleNearby(); 7 | 8 | void toInviteFriends(); 9 | } 10 | -------------------------------------------------------------------------------- /feature/feature_chats_list_impl/lib/src/list/chat_data.dart: -------------------------------------------------------------------------------- 1 | import 'package:feature_chats_list_impl/src/tile/chat_tile_model.dart'; 2 | import 'package:td_api/td_api.dart' as td; 3 | 4 | class ChatData { 5 | ChatData({required this.chat, required this.model}); 6 | 7 | td.Chat chat; 8 | ChatTileModel model; 9 | } 10 | -------------------------------------------------------------------------------- /feature/theme/tg_theme/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tg_theme 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/theme/theme_manager_api/lib/theme_manager_api.dart: -------------------------------------------------------------------------------- 1 | library theme_manager_api; 2 | 3 | import 'package:theme_manager_api/src/theme.dart'; 4 | 5 | export 'src/theme.dart'; 6 | 7 | abstract class IThemeManager { 8 | set theme(Theme value); 9 | Theme get theme; 10 | 11 | Stream get themeStream; 12 | } 13 | -------------------------------------------------------------------------------- /launch/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /dialog_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: dialog_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | freezed_annotation: 2.2.0 9 | 10 | dev_dependencies: 11 | build_runner: 2.3.3 12 | dependency_validator: 3.2.0 13 | freezed: 2.2.1 14 | tg_lint_rules: 15 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_create_new_chat_impl/lib/src/create_new_chat_router.dart: -------------------------------------------------------------------------------- 1 | import 'package:feature_create_new_chat_impl/src/screen/new_channel/new_channel.dart'; 2 | 3 | import 'screen/new_chat/new_chat_screen_router.dart'; 4 | 5 | abstract class ICreateNewChatRouter 6 | implements INewChatScreenRouter, INewChannelScreenRouter {} 7 | -------------------------------------------------------------------------------- /feature/feature_global_search_impl/lib/src/screen/global_search/tile/model/model.dart: -------------------------------------------------------------------------------- 1 | export 'chat_result_tile_model.dart'; 2 | export 'file_result_tile_model.dart'; 3 | export 'link_result_tile_model.dart'; 4 | export 'media_result_tile_model.dart'; 5 | export 'music_result_tile_model.dart'; 6 | export 'voice_result_tile_model.dart'; 7 | -------------------------------------------------------------------------------- /launch/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | -------------------------------------------------------------------------------- /launch/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /shared/models/lib/src/minithumbnail.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | class Minithumbnail { 4 | const Minithumbnail({ 5 | required this.data, 6 | required this.width, 7 | required this.height, 8 | }); 9 | 10 | final Uint8List? data; 11 | final double width; 12 | 13 | final double height; 14 | } 15 | -------------------------------------------------------------------------------- /PROGRESS.md: -------------------------------------------------------------------------------- 1 | ## Progress 2 | --- 3 | 4 | * ... 5 | * Contacts list screen 6 | * New contact screen 7 | * Chat administration screen 8 | * Delete a chat 9 | * Create a new channel screen 10 | * Adds a user to the contact list 11 | * Change username screen 12 | * Changes the username of the current user 13 | * Change bio screen 14 | * ... -------------------------------------------------------------------------------- /feature/feature_logout_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_logout_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/folders/feature_folders_impl/lib/src/folders_router.dart: -------------------------------------------------------------------------------- 1 | import 'screen/folders/folders_screen_router.dart'; 2 | import 'screen/setup_folder/setup_folder_screen_router.dart'; 3 | 4 | abstract class IFoldersRouter 5 | implements IFoldersScreenRouter, ISetupFolderScreenRouter { 6 | @override 7 | void toCreateNewFolder(); 8 | } 9 | -------------------------------------------------------------------------------- /launch/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /scope_generator/generator/build.yaml: -------------------------------------------------------------------------------- 1 | builders: 2 | scope_generator: 3 | import: "package:scope_generator/builder.dart" 4 | builder_factories: 5 | - "scopeGenerator" 6 | build_extensions: { ".dart": [".scope.dart"] } 7 | auto_apply: dependents 8 | build_to: source 9 | runs_before: ["jugger_generator"] 10 | -------------------------------------------------------------------------------- /component/auth_manager/auth_manager_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: auth_manager_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | td_api: 9 | path: ../../../td/td_api 10 | 11 | dev_dependencies: 12 | dependency_validator: 3.2.0 13 | tg_lint_rules: 14 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /core_tdlib_api/lib/src/repository/sticker_repository.dart: -------------------------------------------------------------------------------- 1 | import 'package:td_api/td_api.dart' as td; 2 | 3 | abstract class IStickerRepository { 4 | Future> getInstalledStickers(); 5 | 6 | Future getStickersSet(int setId); 7 | 8 | Future getCustomEmoji(int customEmojiId); 9 | } 10 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_chat_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_country_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_country_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_sessions_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_sessions_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_settings_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_settings_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_stickers_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_stickers_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_main_screen_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_main_screen_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_wallpapers_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_wallpapers_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /launch/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /launch/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /lottie_utils/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: lottie_utils 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | archive: 3.3.0 10 | path: 1.8.2 11 | path_provider: 2.0.9 12 | 13 | dev_dependencies: 14 | dependency_validator: 3.2.0 15 | tg_lint_rules: 16 | path: ../tg_lint_rules -------------------------------------------------------------------------------- /scope_generator/generator/lib/builder.dart: -------------------------------------------------------------------------------- 1 | import 'package:build/build.dart'; 2 | import 'package:source_gen/source_gen.dart'; 3 | 4 | import 'src/scope_generator.dart'; 5 | 6 | Builder scopeGenerator(BuilderOptions options) { 7 | return LibraryBuilder( 8 | ScopeGenerator(), 9 | generatedExtension: '.scope.dart', 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/tile/model/base_chat_notification_message_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'base_message_tile_model.dart'; 2 | 3 | abstract class BaseChatNotificationMessageTileModel 4 | extends BaseMessageTileModel { 5 | const BaseChatNotificationMessageTileModel({ 6 | required super.id, 7 | }) : super(isOutgoing: false); 8 | } 9 | -------------------------------------------------------------------------------- /feature/chat/feature_chat_impl/lib/src/tile/model/base_message_tile_model.dart: -------------------------------------------------------------------------------- 1 | import 'package:tile/tile.dart'; 2 | 3 | abstract class BaseMessageTileModel implements ITileModel { 4 | const BaseMessageTileModel({ 5 | required this.id, 6 | required this.isOutgoing, 7 | }); 8 | 9 | final int id; 10 | final bool isOutgoing; 11 | } 12 | -------------------------------------------------------------------------------- /feature/feature_chat_settings_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_chat_settings_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_data_settings_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_data_settings_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_global_search_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_global_search_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_message_preview_resolver/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_message_preview_resolver 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | 7 | dependencies: 8 | td_api: 9 | path: ../../td/td_api 10 | 11 | dev_dependencies: 12 | dependency_validator: 3.2.0 13 | tg_lint_rules: 14 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_shared_media_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_shared_media_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_wallpapers_impl/lib/src/screen/wallpaper_list/wallpaper_list_event.dart: -------------------------------------------------------------------------------- 1 | import 'package:freezed_annotation/freezed_annotation.dart'; 2 | 3 | part 'wallpaper_list_event.freezed.dart'; 4 | 5 | @freezed 6 | @immutable 7 | class WallpaperListEvent with _$WallpaperListEvent { 8 | const factory WallpaperListEvent.init() = Init; 9 | } 10 | -------------------------------------------------------------------------------- /feature/folders/feature_folders_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_folders_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../../tg_lint_rules -------------------------------------------------------------------------------- /feature/feature_auth_api/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: feature_auth_api 2 | publish_to: 'none' 3 | 4 | environment: 5 | sdk: ">=3.0.0 <4.0.0" 6 | flutter: ^3.0.0 7 | 8 | dependencies: 9 | flutter: 10 | sdk: flutter 11 | 12 | dev_dependencies: 13 | dependency_validator: 3.2.0 14 | tg_lint_rules: 15 | path: ../../tg_lint_rules 16 | 17 | flutter: --------------------------------------------------------------------------------