Merge pull request #128 from ente-io/lint

Lint: enable directives_ordering & always_use_package_imports rule
This commit is contained in:
Vishnu Mohandas 2021-10-30 18:17:16 +05:30 committed by GitHub
commit bfff1966a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
36 changed files with 70 additions and 77 deletions

View file

@ -25,12 +25,17 @@ linter:
- sort_pub_dependencies
- use_rethrow_when_possible
- prefer_double_quotes
- directives_ordering
- always_use_package_imports
analyzer:
errors:
avoid_empty_else: error
exhaustive_cases: error
curly_braces_in_flow_control_structures: error
directives_ordering: error
always_use_package_imports: error
prefer_final_fields: error
unused_import: warning
prefer_is_empty: warning
use_rethrow_when_possible: info

View file

@ -1,3 +1,3 @@
import 'event.dart';
import 'package:photos/events/event.dart';
class TriggerLogoutEvent extends Event {}

View file

@ -1,3 +1,3 @@
import 'event.dart';
import 'package:photos/events/event.dart';
class UserLoggedOutEvent extends Event {}

View file

@ -14,6 +14,7 @@ import 'package:photos/core/configuration.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/network.dart';
import 'package:photos/db/upload_locks_db.dart';
import 'package:photos/l10n/l10n.dart';
import 'package:photos/services/billing_service.dart';
import 'package:photos/services/collections_service.dart';
import 'package:photos/services/feature_flag_service.dart';
@ -33,8 +34,6 @@ import 'package:photos/utils/local_settings.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:super_logging/super_logging.dart';
import 'l10n/l10n.dart';
final _logger = Logger("main");
Completer<void> _initializationStatus;

View file

@ -3,14 +3,15 @@ import 'dart:typed_data';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_sodium/flutter_sodium.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/core/network.dart';
import 'package:photos/db/public_keys_db.dart';
import 'package:photos/events/user_details_changed_event.dart';
import 'package:photos/events/two_factor_status_change_event.dart';
import 'package:photos/events/user_details_changed_event.dart';
import 'package:photos/models/key_attributes.dart';
import 'package:photos/models/key_gen_result.dart';
import 'package:photos/models/public_key.dart';
@ -28,7 +29,7 @@ import 'package:photos/utils/crypto_util.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/navigation_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class UserService {
final _dio = Network.instance.getDio();
final _logger = Logger("UserAuthenticator");
@ -177,7 +178,7 @@ class UserService {
return page;
},
),
(route) => route.isFirst,
(route) => route.isFirst,
);
} else {
// should never reach here
@ -198,9 +199,7 @@ class UserService {
} catch (e) {
await dialog.hide();
_logger.severe(e);
showErrorDialog(context, AppLocalizations
.of(context)
.oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"verification failed, please try again");
}
}
@ -241,8 +240,10 @@ class UserService {
showErrorDialog(context, AppLocalizations.of(context).oops,
AppLocalizations.of(context).email_already_claimed);
} else {
showErrorDialog(context, AppLocalizations.of(context).incorrect_code_title,
AppLocalizations.of(context).incorrect_code_msg);
showErrorDialog(
context,
AppLocalizations.of(context).incorrect_code_title,
AppLocalizations.of(context).incorrect_code_msg);
}
} catch (e) {
await dialog.hide();
@ -370,8 +371,7 @@ class UserService {
} catch (e) {
await dialog.hide();
_logger.severe(e);
showErrorDialog(
context, AppLocalizations.of(context).oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"authentication failed, please try again");
}
}
@ -412,14 +412,12 @@ class UserService {
(route) => route.isFirst,
);
} else {
showErrorDialog(
context, AppLocalizations.of(context).oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"something went wrong, please try again");
}
} catch (e) {
_logger.severe(e);
showErrorDialog(
context, AppLocalizations.of(context).oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"something went wrong, please try again");
} finally {
await dialog.hide();
@ -480,14 +478,12 @@ class UserService {
(route) => route.isFirst,
);
} else {
showErrorDialog(
context, AppLocalizations.of(context).oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"something went wrong, please try again");
}
} catch (e) {
_logger.severe(e);
showErrorDialog(
context, AppLocalizations.of(context).oops,
showErrorDialog(context, AppLocalizations.of(context).oops,
"something went wrong, please try again");
} finally {
await dialog.hide();

View file

@ -6,9 +6,8 @@ import 'package:photos/db/files_db.dart';
import 'package:photos/events/files_updated_event.dart';
import 'package:photos/models/magic_metadata.dart';
import 'package:photos/models/selected_files.dart';
import 'gallery.dart';
import 'gallery_app_bar_widget.dart';
import 'package:photos/ui/gallery.dart';
import 'package:photos/ui/gallery_app_bar_widget.dart';
class ArchivePage extends StatelessWidget {
final String tagPrefix;

View file

@ -6,9 +6,8 @@ import 'package:photos/events/collection_updated_event.dart';
import 'package:photos/events/files_updated_event.dart';
import 'package:photos/models/collection_items.dart';
import 'package:photos/models/selected_files.dart';
import 'gallery.dart';
import 'gallery_app_bar_widget.dart';
import 'package:photos/ui/gallery.dart';
import 'package:photos/ui/gallery_app_bar_widget.dart';
class CollectionPage extends StatelessWidget {
final CollectionWithThumbnail c;

View file

@ -1,4 +1,5 @@
import 'dart:math';
import 'package:flutter/widgets.dart';
import 'package:image_editor/image_editor.dart';

View file

@ -4,6 +4,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_password_strength/flutter_password_strength.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/models/billing_plan.dart';
@ -15,7 +16,6 @@ import 'package:photos/ui/web_page.dart';
import 'package:photos/utils/data_util.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/email_util.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class EmailEntryPage extends StatefulWidget {
EmailEntryPage({Key key}) : super(key: key);

View file

@ -1,5 +1,5 @@
import 'package:flutter/widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
const Duration _kExpand = Duration(milliseconds: 200);

View file

@ -11,8 +11,8 @@ import 'package:photos/models/selected_files.dart';
import 'package:photos/models/trash_file.dart';
import 'package:photos/ui/create_collection_page.dart';
import 'package:photos/ui/file_info_dialog.dart';
import 'package:photos/utils/magic_util.dart';
import 'package:photos/utils/delete_file_util.dart';
import 'package:photos/utils/magic_util.dart';
import 'package:photos/utils/share_util.dart';
class FadingBottomBar extends StatefulWidget {

View file

@ -15,9 +15,9 @@ import 'package:photos/services/collections_service.dart';
import 'package:photos/ui/change_collection_name_dialog.dart';
import 'package:photos/ui/create_collection_page.dart';
import 'package:photos/ui/share_collection_widget.dart';
import 'package:photos/utils/magic_util.dart';
import 'package:photos/utils/delete_file_util.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/magic_util.dart';
import 'package:photos/utils/share_util.dart';
import 'package:photos/utils/toast_util.dart';

View file

@ -5,10 +5,13 @@ import 'package:extended_image/extended_image.dart';
import 'package:flutter/material.dart';
import 'package:image_editor/image_editor.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart' as path;
import 'package:photo_manager/photo_manager.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/events/local_photos_updated_event.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/models/location.dart';
import 'package:photos/services/local_sync_service.dart';
import 'package:photos/services/sync_service.dart';
import 'package:photos/ui/detail_page.dart';
@ -17,9 +20,6 @@ import 'package:photos/ui/loading_widget.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/navigation_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/models/location.dart';
import 'package:path/path.dart' as path;
import 'package:syncfusion_flutter_core/theme.dart';
import 'package:syncfusion_flutter_sliders/sliders.dart';

View file

@ -1,13 +1,13 @@
import 'package:dots_indicator/dots_indicator.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/ui/email_entry_page.dart';
import 'package:photos/ui/login_page.dart';
import 'package:photos/ui/password_entry_page.dart';
import 'package:photos/ui/password_reentry_page.dart';
import 'package:photos/ui/payment/subscription.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class LandingPageWidget extends StatefulWidget {
const LandingPageWidget({Key key}) : super(key: key);

View file

@ -1,7 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:photos/models/location.dart';
import 'package:photos/models/file.dart';
import 'package:photos/models/location.dart';
import 'package:photos/models/selected_files.dart';
import 'package:photos/ui/gallery.dart';

View file

@ -2,13 +2,13 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/services/user_service.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/web_page.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/email_util.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class LoginPage extends StatefulWidget {
LoginPage({Key key}) : super(key: key);

View file

@ -2,6 +2,7 @@ library google_nav_bar;
import 'dart:async';
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

View file

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/event_bus.dart';
@ -7,7 +8,6 @@ import 'package:photos/events/subscription_purchased_event.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/ui/recovery_page.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class PasswordReentryPage extends StatefulWidget {
PasswordReentryPage({Key key}) : super(key: key);
@ -18,7 +18,7 @@ class PasswordReentryPage extends StatefulWidget {
class _PasswordReentryPageState extends State<PasswordReentryPage> {
final _passwordController = TextEditingController();
FocusNode _passwordFocusNode = FocusNode();
final FocusNode _passwordFocusNode = FocusNode();
bool _passwordInFocus = false;
bool _passwordVisible = false;

View file

@ -8,11 +8,10 @@ import 'package:logging/logging.dart';
import 'package:photos/models/subscription.dart';
import 'package:photos/services/billing_service.dart';
import 'package:photos/services/user_service.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/ui/progress_dialog.dart';
import 'package:photos/utils/dialog_util.dart';
import '../loading_widget.dart';
import '../progress_dialog.dart';
class PaymentWebPage extends StatefulWidget {
final String planId;
final String actionType;

View file

@ -4,10 +4,9 @@ import 'package:photos/events/subscription_purchased_event.dart';
import 'package:photos/models/billing_plan.dart';
import 'package:photos/models/subscription.dart';
import 'package:photos/services/billing_service.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/utils/toast_util.dart';
import '../common_elements.dart';
class SkipSubscriptionWidget extends StatelessWidget {
const SkipSubscriptionWidget({
Key key,

View file

@ -14,12 +14,11 @@ import 'package:photos/ui/payment/skip_subscription_widget.dart';
import 'package:photos/ui/payment/subscription_common_widgets.dart';
import 'package:photos/ui/payment/subscription_plan_widget.dart';
import 'package:photos/ui/progress_dialog.dart';
import 'package:photos/ui/web_page.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'package:url_launcher/url_launcher.dart';
import '../web_page.dart';
class StripeSubscriptionPage extends StatefulWidget {
final bool isOnboarding;
@ -191,9 +190,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
? "visit ${_currentSubscription.paymentProvider} to manage your subscription"
: "payment details",
style: TextStyle(
color: _isStripeSubscriber
? Colors.blue
: Colors.white,
color: _isStripeSubscriber ? Colors.blue : Colors.white,
fontFamily: 'Ubuntu',
fontSize: 15,
),

View file

@ -1,12 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:photos/models/subscription.dart';
import 'package:photos/utils/data_util.dart';
import 'package:photos/ui/billing_questions_widget.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photos/utils/data_util.dart';
import 'package:photos/utils/date_time_util.dart';
import '../billing_questions_widget.dart';
class SubscriptionHeaderWidget extends StatefulWidget {
final bool isOnboarding;
final Future<int> usageFuture;

View file

@ -180,7 +180,7 @@ class ProgressDialog {
// ignore: must_be_immutable
class _Body extends StatefulWidget {
_BodyState _dialog = _BodyState();
final _BodyState _dialog = _BodyState();
update() {
_dialog.update();

View file

@ -1,6 +1,7 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:fluttercontactpicker/fluttercontactpicker.dart';
import 'package:logging/logging.dart';
@ -17,7 +18,6 @@ import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/email_util.dart';
import 'package:photos/utils/share_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
class SharingDialog extends StatefulWidget {
final Collection collection;

View file

@ -31,7 +31,7 @@ class SharedCollectionGallery extends StatefulWidget {
class _SharedCollectionGalleryState extends State<SharedCollectionGallery>
with AutomaticKeepAliveClientMixin {
Logger _logger = Logger("SharedCollectionGallery");
final Logger _logger = Logger("SharedCollectionGallery");
StreamSubscription<LocalPhotosUpdatedEvent> _localFilesSubscription;
StreamSubscription<CollectionUpdatedEvent> _collectionUpdatesSubscription;
StreamSubscription<UserLoggedOutEvent> _loggedOutEvent;

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:flutter/widgets.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/cache/thumbnail_cache.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/errors.dart';

View file

@ -6,9 +6,8 @@ import 'package:photos/events/files_updated_event.dart';
import 'package:photos/events/force_reload_trash_page_event.dart';
import 'package:photos/models/selected_files.dart';
import 'package:photos/models/trash_file.dart';
import 'gallery.dart';
import 'gallery_app_bar_widget.dart';
import 'package:photos/ui/gallery.dart';
import 'package:photos/ui/gallery_app_bar_widget.dart';
class TrashPage extends StatelessWidget {
final String tagPrefix;

View file

@ -1,4 +1,5 @@
import 'dart:io' as io;
import 'package:chewie/chewie.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

View file

@ -1,4 +1,5 @@
import 'dart:io' as io;
import 'package:chewie/chewie.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

View file

@ -23,10 +23,9 @@ import 'package:photos/services/trash_sync_service.dart';
import 'package:photos/ui/common/dialogs.dart';
import 'package:photos/ui/linear_progress_dialog.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/file_util.dart';
import 'package:photos/utils/toast_util.dart';
import 'file_util.dart';
final _logger = Logger("DeleteFileUtil");
Future<void> deleteFilesFromEverywhere(

View file

@ -2,9 +2,9 @@ import 'dart:io' as io;
import 'package:exif/exif.dart';
import 'package:intl/intl.dart';
import 'package:logging/logging.dart';
import 'package:photos/models/file.dart';
import 'package:photos/utils/file_util.dart';
import 'package:logging/logging.dart';
const kDateTimeOriginal = "EXIF DateTimeOriginal";
const kImageDateTime = "Image DateTime";

View file

@ -8,8 +8,7 @@ import 'package:photos/core/configuration.dart';
import 'package:photos/core/network.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/services/collections_service.dart';
import 'crypto_util.dart';
import 'package:photos/utils/crypto_util.dart';
final _logger = Logger("file_download_util");

View file

@ -4,12 +4,12 @@ import 'dart:convert';
import 'dart:io' as io;
import 'dart:math';
import 'dart:typed_data';
import 'package:path/path.dart';
import 'package:connectivity/connectivity.dart';
import 'package:dio/dio.dart';
import 'package:flutter_sodium/flutter_sodium.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/errors.dart';
import 'package:photos/core/event_bus.dart';
@ -328,7 +328,8 @@ class FileUploader {
final fileUploadURL = await _getUploadURL();
String fileObjectKey = await _putFile(fileUploadURL, encryptedFile);
final metadata = await file.getMetadataForUpload(mediaUploadData.sourceFile);
final metadata =
await file.getMetadataForUpload(mediaUploadData.sourceFile);
final encryptedMetadataData = await CryptoUtil.encryptChaCha(
utf8.encode(jsonEncode(metadata)), fileAttributes.key);
final fileDecryptionHeader = Sodium.bin2base64(fileAttributes.header);

View file

@ -14,10 +14,9 @@ import 'package:photos/core/errors.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/models/file_type.dart';
import 'package:photos/models/location.dart';
import 'package:photos/utils/file_util.dart';
import 'package:video_thumbnail/video_thumbnail.dart';
import 'file_util.dart';
final _logger = Logger("FileUtil");
const kMaximumThumbnailCompressionAttempts = 2;

View file

@ -1,17 +1,18 @@
import 'dart:async';
import 'dart:io' as dartio;
import 'package:flutter/widgets.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart';
import 'dart:io' as dartio;
import 'package:photos/core/configuration.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/models/file.dart';
import 'package:photos/models/file_type.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/exif_util.dart';
import 'package:photos/utils/file_util.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:share_plus/share_plus.dart';
import 'package:photos/core/configuration.dart';
import 'package:flutter/widgets.dart';
import 'package:photos/models/file.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/file_util.dart';
final _logger = Logger("ShareUtil");
// share is used to share media/files from ente to other apps

View file

@ -14,10 +14,9 @@ import 'package:photos/core/network.dart';
import 'package:photos/models/file.dart';
import 'package:photos/utils/crypto_util.dart';
import 'package:photos/utils/file_download_util.dart';
import 'package:photos/utils/file_uploader_util.dart';
import 'package:photos/utils/file_util.dart';
import 'file_uploader_util.dart';
final _logger = Logger("ThumbnailUtil");
final _map = <int, FileDownloadItem>{};
final _queue = Queue<int>();