library harbour; import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:math'; import 'dart:typed_data'; import 'package:collection/collection.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_file_dialog/flutter_file_dialog.dart'; import 'package:flutter_rx_bloc/flutter_rx_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:harbour/src/harbour.dart'; import 'package:http/http.dart'; import 'package:http/http.dart' as http; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; import 'package:nextcloud/nextcloud.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:path/path.dart' as p; import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; import 'package:quick_actions/quick_actions.dart'; import 'package:rx_bloc/rx_bloc.dart'; import 'package:rxdart/rxdart.dart'; import 'package:settings/settings.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:sort_box/sort_box.dart'; import 'package:sqflite/sqflite.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:tray_manager/tray_manager.dart' as tray; import 'package:url_launcher/url_launcher_string.dart'; import 'package:webview_flutter/webview_flutter.dart'; import 'package:window_manager/window_manager.dart'; import 'package:xdg_directories/xdg_directories.dart' as xdg; export 'package:harbour/l10n/localizations.dart'; export 'package:harbour/src/apps/files/app.dart' show FilesApp, FilesAppSpecificOptions; export 'package:harbour/src/apps/files/blocs/files.dart'; export 'package:harbour/src/apps/news/app.dart' show NewsApp, NewsAppSpecificOptions; export 'package:harbour/src/apps/news/blocs/articles.dart'; export 'package:harbour/src/apps/news/blocs/news.dart'; export 'package:harbour/src/apps/notes/app.dart' show NotesApp, NotesAppSpecificOptions; export 'package:harbour/src/apps/notes/blocs/notes.dart'; export 'package:harbour/src/blocs/accounts.dart'; export 'package:harbour/src/blocs/apps.dart'; export 'package:harbour/src/blocs/capabilities.dart'; export 'package:harbour/src/blocs/login.dart'; export 'package:harbour/src/blocs/user_details.dart'; export 'package:harbour/src/blocs/user_status.dart'; export 'package:harbour/src/harbour.dart'; export 'package:harbour/src/models/account.dart'; export 'package:harbour/src/widgets/custom_auto_complete.dart'; part 'pages/home/home.dart'; part 'pages/home/widgets/server_status.dart'; part 'pages/login/login.dart'; part 'pages/settings/account_specific_settings.dart'; part 'pages/settings/nextcloud_app_specific_settings.dart'; part 'pages/settings/settings.dart'; part 'pages/settings/widgets/account_settings_tile.dart'; part 'platforms/abstract.dart'; part 'platforms/android.dart'; part 'platforms/linux.dart'; part 'utils/app_implementation.dart'; part 'utils/confirmation_dialog.dart'; part 'utils/custom_timeago.dart'; part 'utils/env.dart'; part 'utils/global.dart'; part 'utils/global_options.dart'; part 'utils/hex_color.dart'; part 'utils/missing_permission_exception.dart'; part 'utils/nextcloud_app_specific_options.dart'; part 'utils/rename_dialog.dart'; part 'utils/request_manager.dart'; part 'utils/save_file.dart'; part 'utils/settings_export_helper.dart'; part 'utils/sort_box_builder.dart'; part 'utils/sort_box_order_option_values.dart'; part 'utils/storage.dart'; part 'utils/theme.dart'; part 'utils/validators.dart'; part 'widgets/account_avatar.dart'; part 'widgets/account_tile.dart'; part 'widgets/cached_url_image.dart'; part 'widgets/custom_dialog.dart'; part 'widgets/custom_linear_progress_indicator.dart'; part 'widgets/custom_listview.dart'; part 'widgets/exception.dart'; part 'widgets/harbour_logo.dart'; part 'widgets/nextcloud_logo.dart'; part 'widgets/result_stream_builder.dart'; part 'widgets/standard_rx_result_builder.dart';