diff --git a/analysis_options.yaml b/analysis_options.yaml index e09a3f2f..15f4a4f6 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -10,9 +10,28 @@ analyzer: linter: rules: - avoid_print: true - cancel_subscriptions: true prefer_single_quotes: true - prefer_const_constructors: true - prefer_const_declarations: true require_trailing_commas: true + always_declare_return_types: true + avoid_catches_without_on_clauses: true + avoid_equals_and_hash_code_on_mutable_classes: true + avoid_types_on_closure_parameters: true + cancel_subscriptions: true + directives_ordering: true + eol_at_end_of_file: true + omit_local_variable_types: true + prefer_asserts_in_initializer_lists: true + prefer_const_constructors: true + prefer_final_in_for_each: true + prefer_final_locals: true + prefer_null_aware_method_calls: true + prefer_null_aware_operators: true + sort_constructors_first: true + sort_unnamed_constructors_first: true + sort_pub_dependencies: true + type_annotate_public_apis: true + unawaited_futures: true + unnecessary_lambdas: true + unnecessary_parenthesis: true + use_named_constants: true + use_super_parameters: true diff --git a/lib/app.dart b/lib/app.dart index c4f8b2f0..37cb02dd 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -8,8 +8,8 @@ import 'package:yaru_widgets/yaru_widgets.dart'; class UbuntuSettingsApp extends StatefulWidget { const UbuntuSettingsApp({ - Key? key, - }) : super(key: key); + super.key, + }); @override State createState() => _UbuntuSettingsAppState(); diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart index 4f6d51bf..d19e75fd 100644 --- a/lib/l10n/l10n.dart +++ b/lib/l10n/l10n.dart @@ -1,5 +1,5 @@ -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; export 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/lib/main.dart b/lib/main.dart index 0572eca1..cd16751c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -87,7 +87,7 @@ void main() async { ), Provider( create: (_) => DisplayService(), - dispose: (_, DisplayService service) => service.dispose(), + dispose: (_, service) => service.dispose(), ), ], child: const UbuntuSettingsApp(), diff --git a/lib/services/date_time_service.dart b/lib/services/date_time_service.dart index e9a66b52..a8c2bf9c 100644 --- a/lib/services/date_time_service.dart +++ b/lib/services/date_time_service.dart @@ -128,18 +128,18 @@ extension _DateTimeRemoteObject on DBusRemoteObject { Future setTimeZone(String timezone) async { final args = [DBusString(timezone), const DBusBoolean(false)]; - callMethod(_kDateTimeInterface, _kSetTimezoneMethodName, args); + await callMethod(_kDateTimeInterface, _kSetTimezoneMethodName, args); } Future setTime(int time) async { - bool? ntp = await getNtp(); + final ntp = await getNtp(); if (ntp == null || ntp == true) return; final args = [ DBusInt64(time), const DBusBoolean(false), const DBusBoolean(false) ]; - callMethod(_kDateTimeInterface, _kSetTimeMethodName, args); + await callMethod(_kDateTimeInterface, _kSetTimeMethodName, args); } Future getDateTime() async { @@ -156,7 +156,7 @@ extension _DateTimeRemoteObject on DBusRemoteObject { Future setNtp(bool? value) async { if (value == null) return; final args = [DBusBoolean(value), const DBusBoolean(false)]; - callMethod(_kDateTimeInterface, _kSetNtpMethodName, args); + await callMethod(_kDateTimeInterface, _kSetNtpMethodName, args); } } diff --git a/lib/services/display/display_dbus_service.dart b/lib/services/display/display_dbus_service.dart index 44025905..3e1b2a2c 100644 --- a/lib/services/display/display_dbus_service.dart +++ b/lib/services/display/display_dbus_service.dart @@ -1,6 +1,6 @@ import 'package:dbus/dbus.dart'; -import 'package:settings/services/display/objects/dbus_displays_config.dart'; import 'package:settings/generated/dbus/display-config-remote-object.dart'; +import 'package:settings/services/display/objects/dbus_displays_config.dart'; const _displaysInterface = 'org.gnome.Mutter.DisplayConfig'; @@ -24,8 +24,7 @@ const _displayPath = '/org/gnome/Mutter/DisplayConfig'; class DisplayDBusService { DisplayDBusService() : _object = _createObject() { /// Listen to signal stream, when a change occur, we update our data - _object.monitorsChanged - .listen((OrgGnomeMutterDisplayConfigMonitorsChanged signal) { + _object.monitorsChanged.listen((signal) { if (signal.name == 'MonitorsChanged') { getCurrent(); } @@ -49,8 +48,8 @@ class DisplayDBusService { } Future getCurrent() async { - List? state = await _object.callGetCurrentState(); - List list = state.map((e) => _toNative(e)).toList(); + final state = await _object.callGetCurrentState(); + final list = state.map(_toNative).toList(); return DBusDisplaysConfig(list); } @@ -73,9 +72,9 @@ class DisplayDBusService { output = value.map((key, value) => MapEntry(_toNative(key), _toNative(value))); } else if (value is Iterable) { - output = value.map((e) => _toNative(e)).toList(); + output = value.map(_toNative).toList(); } else if (value is DBusArray) { - output = value.toNative().map((e) => _toNative(e)).toList(); + output = value.toNative().map(_toNative).toList(); } else if (value is DBusValue) { output = value.toNative(); } else { diff --git a/lib/services/display/display_service.dart b/lib/services/display/display_service.dart index 99915348..9ba84ce3 100644 --- a/lib/services/display/display_service.dart +++ b/lib/services/display/display_service.dart @@ -11,7 +11,7 @@ class DisplayService { : _displayDBusService = DisplayDBusService(), _currentNotifier = ValueNotifier(null), _initialNotifier = ValueNotifier(null) { - _loadState(notifyStream: true).then((DisplaysConfiguration value) { + _loadState(notifyStream: true).then((value) { _initialNotifier.value = value; _currentNotifier.value = value; }); @@ -54,13 +54,13 @@ class DisplayService { /// never pass here) if (_currentNotifier.value == null) {} - final DBusDisplaysConfig displayConfig = + final displayConfig = await _displayDBusService.getCurrent(); - List logicalParameterValues = []; + final logicalParameterValues = []; - for (int i = 0; i < displayConfig.monitorsLength; i++) { - final DisplayMonitorConfiguration confMonitor = + for (var i = 0; i < displayConfig.monitorsLength; i++) { + final confMonitor = _currentNotifier.value!.configurations[i]; // x ; y ; scale ; transform(rotation) ; primary ; monitors @@ -106,7 +106,7 @@ class DisplayService { } Future _loadState({required bool notifyStream}) { - final Future future = _displayDBusService + final future = _displayDBusService .getCurrent() .then(_mapToModel) .then((value) => latest = value); @@ -118,10 +118,10 @@ class DisplayService { } DisplaysConfiguration _mapToModel(DBusDisplaysConfig dbusConfiguration) { - final int monitorsCount = dbusConfiguration.monitorsLength; - final List confs = []; + final monitorsCount = dbusConfiguration.monitorsLength; + final confs = []; - for (int i = 0; i < monitorsCount; i++) { + for (var i = 0; i < monitorsCount; i++) { /// map data only if there's a current option /// if no current option /// => monitor not used diff --git a/lib/services/display/objects/dbus_displays_config.dart b/lib/services/display/objects/dbus_displays_config.dart index 65fa6f82..a4c1b56b 100644 --- a/lib/services/display/objects/dbus_displays_config.dart +++ b/lib/services/display/objects/dbus_displays_config.dart @@ -1,3 +1,5 @@ +// ignore_for_file: type_annotate_public_apis + class DBusDisplaysConfig { DBusDisplaysConfig(List list) : serial = list[0], @@ -26,10 +28,14 @@ class DBusDisplaysConfig { /// * a(siiddada{sv}) modes: available modes List