refactor: Update flutter lints
This commit is contained in:
parent
b473f514ba
commit
35983437e2
15 changed files with 43 additions and 82 deletions
|
|
@ -15,41 +15,5 @@ analyzer:
|
||||||
errors:
|
errors:
|
||||||
todo: ignore
|
todo: ignore
|
||||||
use_build_context_synchronously: ignore
|
use_build_context_synchronously: ignore
|
||||||
deprecated_member_use: ignore
|
|
||||||
exclude:
|
exclude:
|
||||||
- lib/generated_plugin_registrant.dart
|
|
||||||
- lib/l10n/*.dart
|
- lib/l10n/*.dart
|
||||||
|
|
||||||
dart_code_metrics:
|
|
||||||
metrics:
|
|
||||||
cyclomatic-complexity: 20
|
|
||||||
number-of-arguments: 4
|
|
||||||
maximum-nesting-level: 5
|
|
||||||
source-lines-of-code: 50
|
|
||||||
maintainability-index: 40
|
|
||||||
rules:
|
|
||||||
- no-boolean-literal-compare
|
|
||||||
- no-empty-block
|
|
||||||
- prefer-conditional-expressions
|
|
||||||
- no-equal-then-else
|
|
||||||
- no-magic-number:
|
|
||||||
severity: style
|
|
||||||
- avoid-late-keyword:
|
|
||||||
severity: style
|
|
||||||
- avoid-non-null-assertion:
|
|
||||||
severity: style
|
|
||||||
- avoid-unused-parameters
|
|
||||||
- binary-expression-operand-order
|
|
||||||
- avoid-unnecessary-setstate
|
|
||||||
- avoid-wrapping-in-padding
|
|
||||||
- prefer-const-border-radius
|
|
||||||
- prefer-single-widget-per-file:
|
|
||||||
ignore-private-widgets: true
|
|
||||||
- prefer-extracting-callbacks
|
|
||||||
metrics-exclude:
|
|
||||||
- test/**
|
|
||||||
rules-exclude:
|
|
||||||
- test/**
|
|
||||||
anti-patterns:
|
|
||||||
- long-method
|
|
||||||
- long-parameter-list
|
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ enum AppSettings<T> {
|
||||||
static SharedPreferences get store => _store!;
|
static SharedPreferences get store => _store!;
|
||||||
static SharedPreferences? _store;
|
static SharedPreferences? _store;
|
||||||
|
|
||||||
static Future<SharedPreferences> init({loadWebConfigFile = true}) async {
|
static Future<SharedPreferences> init({bool loadWebConfigFile = true}) async {
|
||||||
if (AppSettings._store != null) return AppSettings.store;
|
if (AppSettings._store != null) return AppSettings.store;
|
||||||
|
|
||||||
final store = AppSettings._store = await SharedPreferences.getInstance();
|
final store = AppSettings._store = await SharedPreferences.getInstance();
|
||||||
|
|
|
||||||
|
|
@ -118,9 +118,9 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
bool currentlyTyping = false;
|
bool currentlyTyping = false;
|
||||||
bool dragging = false;
|
bool dragging = false;
|
||||||
|
|
||||||
void onDragEntered(_) => setState(() => dragging = true);
|
void onDragEntered(dynamic _) => setState(() => dragging = true);
|
||||||
|
|
||||||
void onDragExited(_) => setState(() => dragging = false);
|
void onDragExited(dynamic _) => setState(() => dragging = false);
|
||||||
|
|
||||||
void onDragDone(DropDoneDetails details) async {
|
void onDragDone(DropDoneDetails details) async {
|
||||||
setState(() => dragging = false);
|
setState(() => dragging = false);
|
||||||
|
|
@ -148,7 +148,8 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
MessageTypes.File,
|
MessageTypes.File,
|
||||||
}.contains(selectedEvents.single.messageType);
|
}.contains(selectedEvents.single.messageType);
|
||||||
|
|
||||||
void saveSelectedEvent(context) => selectedEvents.single.saveFile(context);
|
void saveSelectedEvent(BuildContext context) =>
|
||||||
|
selectedEvents.single.saveFile(context);
|
||||||
|
|
||||||
List<Event> selectedEvents = [];
|
List<Event> selectedEvents = [];
|
||||||
|
|
||||||
|
|
@ -213,7 +214,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
context.go('/rooms');
|
context.go('/rooms');
|
||||||
}
|
}
|
||||||
|
|
||||||
void requestHistory([_]) async {
|
void requestHistory([dynamic _]) async {
|
||||||
Logs().v('Requesting history...');
|
Logs().v('Requesting history...');
|
||||||
await timeline?.requestHistory(historyCount: _loadHistoryCount);
|
await timeline?.requestHistory(historyCount: _loadHistoryCount);
|
||||||
}
|
}
|
||||||
|
|
@ -254,7 +255,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _shareItems([_]) {
|
void _shareItems([dynamic _]) {
|
||||||
final shareItems = widget.shareItems;
|
final shareItems = widget.shareItems;
|
||||||
if (shareItems == null || shareItems.isEmpty) return;
|
if (shareItems == null || shareItems.isEmpty) return;
|
||||||
if (!room.otherPartyCanReceiveMessages) {
|
if (!room.otherPartyCanReceiveMessages) {
|
||||||
|
|
@ -1062,7 +1063,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
scrollController.jumpTo(0);
|
scrollController.jumpTo(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onEmojiSelected(_, Emoji? emoji) {
|
void onEmojiSelected(dynamic _, Emoji? emoji) {
|
||||||
typeEmoji(emoji);
|
typeEmoji(emoji);
|
||||||
onInputBarChanged(sendController.text);
|
onInputBarChanged(sendController.text);
|
||||||
}
|
}
|
||||||
|
|
@ -1185,7 +1186,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
return index + 1;
|
return index + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void onInputBarSubmitted(_) {
|
void onInputBarSubmitted(String _) {
|
||||||
send();
|
send();
|
||||||
FocusScope.of(context).requestFocus(inputFocus);
|
FocusScope.of(context).requestFocus(inputFocus);
|
||||||
}
|
}
|
||||||
|
|
@ -1221,7 +1222,7 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unpinEvent(String eventId) async {
|
void unpinEvent(String eventId) async {
|
||||||
final response = await showOkCancelAlertDialog(
|
final response = await showOkCancelAlertDialog(
|
||||||
context: context,
|
context: context,
|
||||||
title: L10n.of(context).unpin,
|
title: L10n.of(context).unpin,
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ class _CuteContentState extends State<CuteContent> {
|
||||||
Overlay.of(context).insert(overlay);
|
Overlay.of(context).insert(overlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
generateLabel(User? user) {
|
String? generateLabel(User? user) {
|
||||||
switch (widget.event.content['cute_type']) {
|
switch (widget.event.content['cute_type']) {
|
||||||
case 'googly_eyes':
|
case 'googly_eyes':
|
||||||
return L10n.of(context).googlyEyesContent(
|
return L10n.of(context).googlyEyesContent(
|
||||||
|
|
@ -90,6 +90,7 @@ class _CuteContentState extends State<CuteContent> {
|
||||||
'',
|
'',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ class _StartPollBottomSheetState extends State<StartPollBottomSheet> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateCanCreate([_]) {
|
void _updateCanCreate([dynamic _]) {
|
||||||
final newCanCreate = _bodyController.text.trim().isNotEmpty &&
|
final newCanCreate = _bodyController.text.trim().isNotEmpty &&
|
||||||
!_answers.any((controller) => controller.text.trim().isEmpty);
|
!_answers.any((controller) => controller.text.trim().isEmpty);
|
||||||
if (_canCreate != newCanCreate) {
|
if (_canCreate != newCanCreate) {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ class ChatEncryptionSettingsController extends State<ChatEncryptionSettings> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void enableEncryption(_) async {
|
void enableEncryption(dynamic _) async {
|
||||||
if (room.encrypted) {
|
if (room.encrypted) {
|
||||||
showOkAlertDialog(
|
showOkAlertDialog(
|
||||||
context: context,
|
context: context,
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ class ChatMembersController extends State<ChatMembersPage> {
|
||||||
setFilter();
|
setFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
void setFilter([_]) async {
|
void setFilter([dynamic _]) async {
|
||||||
final filter = filterController.text.toLowerCase().trim();
|
final filter = filterController.text.toLowerCase().trim();
|
||||||
|
|
||||||
final members = this
|
final members = this
|
||||||
|
|
@ -56,7 +56,7 @@ class ChatMembersController extends State<ChatMembersPage> {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void refreshMembers([_]) async {
|
void refreshMembers([dynamic _]) async {
|
||||||
Logs().d('Load room members from', widget.roomId);
|
Logs().d('Load room members from', widget.roomId);
|
||||||
try {
|
try {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ class PIPViewState extends State<PIPView> with TickerProviderStateMixin {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onPanEnd(_) {
|
void _onPanEnd(dynamic _) {
|
||||||
if (!_isDragging) return;
|
if (!_isDragging) return;
|
||||||
|
|
||||||
final nearestCorner = _calculateNearestCorner(
|
final nearestCorner = _calculateNearestCorner(
|
||||||
|
|
@ -128,7 +128,7 @@ class PIPViewState extends State<PIPView> with TickerProviderStateMixin {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onPanStart(_) {
|
void _onPanStart(dynamic _) {
|
||||||
if (_isAnimating()) return;
|
if (_isAnimating()) return;
|
||||||
setState(() {
|
setState(() {
|
||||||
_dragOffset = _offsets[_corner]!;
|
_dragOffset = _offsets[_corner]!;
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ class NewGroupController extends State<NewGroup> {
|
||||||
context.pop<String>(spaceId);
|
context.pop<String>(spaceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void submitAction([_]) async {
|
void submitAction([dynamic _]) async {
|
||||||
final client = Matrix.of(context).client;
|
final client = Matrix.of(context).client;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ class SettingsController extends State<Settings> {
|
||||||
bool? crossSigningCached;
|
bool? crossSigningCached;
|
||||||
bool? showChatBackupBanner;
|
bool? showChatBackupBanner;
|
||||||
|
|
||||||
void firstRunBootstrapAction([_]) async {
|
void firstRunBootstrapAction([dynamic _]) async {
|
||||||
if (showChatBackupBanner != true) {
|
if (showChatBackupBanner != true) {
|
||||||
showOkAlertDialog(
|
showOkAlertDialog(
|
||||||
context: context,
|
context: context,
|
||||||
|
|
|
||||||
|
|
@ -303,7 +303,7 @@ class _EmojiImportPreviewState extends State<_EmojiImportPreview> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_setRenderError() {
|
void _setRenderError() {
|
||||||
hasErrorNotifier.value = true;
|
hasErrorNotifier.value = true;
|
||||||
widget.onRemove.call();
|
widget.onRemove.call();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ class AppLock extends State<AppLockWidget> with WidgetsBindingObserver {
|
||||||
WidgetsBinding.instance.addPostFrameCallback(_checkLoggedIn);
|
WidgetsBinding.instance.addPostFrameCallback(_checkLoggedIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _checkLoggedIn(_) async {
|
void _checkLoggedIn(dynamic _) async {
|
||||||
if (widget.clients.any((client) => client.isLogged())) return;
|
if (widget.clients.any((client) => client.isLogged())) return;
|
||||||
|
|
||||||
await changePincode(null);
|
await changePincode(null);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class ThemeController extends State<ThemeBuilder> {
|
||||||
listen: false,
|
listen: false,
|
||||||
);
|
);
|
||||||
|
|
||||||
void _loadData(_) async {
|
void _loadData(dynamic _) async {
|
||||||
final preferences =
|
final preferences =
|
||||||
_sharedPreferences ??= await SharedPreferences.getInstance();
|
_sharedPreferences ??= await SharedPreferences.getInstance();
|
||||||
|
|
||||||
|
|
|
||||||
37
pubspec.lock
37
pubspec.lock
|
|
@ -5,18 +5,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _fe_analyzer_shared
|
name: _fe_analyzer_shared
|
||||||
sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
|
sha256: c209688d9f5a5f26b2fb47a188131a6fb9e876ae9e47af3737c0b4f58a93470d
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "67.0.0"
|
version: "91.0.0"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: analyzer
|
name: analyzer
|
||||||
sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
|
sha256: f51c8499b35f9b26820cfe914828a6a98a94efd5cc78b37bb7d03debae3a1d08
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.4.1"
|
version: "8.4.1"
|
||||||
animations:
|
animations:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -495,10 +495,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
|
sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.2"
|
version: "6.0.0"
|
||||||
flutter_local_notifications:
|
flutter_local_notifications:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -1015,10 +1015,11 @@ packages:
|
||||||
license_checker:
|
license_checker:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: license_checker
|
path: "."
|
||||||
sha256: eea27638e42bc98fd91a6a8187eb57e5617e2c3c8b313a5d51b14bec7a8685e1
|
ref: HEAD
|
||||||
url: "https://pub.dev"
|
resolved-ref: "38a65ff5b4b65db092b11dad999081388f75ece8"
|
||||||
source: hosted
|
url: "https://github.com/krille-chan/license_checker.git"
|
||||||
|
source: git
|
||||||
version: "1.6.0"
|
version: "1.6.0"
|
||||||
linkify:
|
linkify:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
|
|
@ -1032,10 +1033,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.0"
|
version: "6.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1176,10 +1177,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: pana
|
name: pana
|
||||||
sha256: "3fc3fe8e7a9fd4827fa4d625a423eec95d305b2bc3538a3adf7fd6c49217af97"
|
sha256: eb816d35b80d3880335c3f2d139b376e81fd98a9ea273faf39f2c8914c4afba5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.21.45"
|
version: "0.23.3"
|
||||||
path:
|
path:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -1801,14 +1802,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.1"
|
version: "3.3.1"
|
||||||
tar:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: tar
|
|
||||||
sha256: "22f67e2d77b51050436620b2a5de521c58ca6f0b75af1d9ab3c8cae2eae58fcd"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "1.0.5"
|
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
|
|
@ -85,14 +85,16 @@ dependencies:
|
||||||
webrtc_interface: ^1.3.0
|
webrtc_interface: ^1.3.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_lints: ^3.0.0
|
flutter_lints: ^6.0.0
|
||||||
flutter_native_splash: ^2.4.7
|
flutter_native_splash: ^2.4.7
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
import_sorter: ^4.6.0
|
import_sorter: ^4.6.0
|
||||||
integration_test:
|
integration_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
license_checker: ^1.6.0
|
# Waiting for https://github.com/rufman/license_checker/pull/47
|
||||||
|
license_checker:
|
||||||
|
git: https://github.com/krille-chan/license_checker.git
|
||||||
translations_cleaner: ^0.0.5
|
translations_cleaner: ^0.0.5
|
||||||
|
|
||||||
import_sorter:
|
import_sorter:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue