diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd342727..60426429 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,11 +10,11 @@ on: workflow_dispatch: env: - FLUTTER_VERSION: 3.16.x + FLUTTER_VERSION: 3.24.3 jobs: analyze: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -24,7 +24,7 @@ jobs: - run: flutter analyze format: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -33,7 +33,7 @@ jobs: - run: dart format --set-exit-if-changed . linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 @@ -47,7 +47,7 @@ jobs: - run: flutter build linux -v test: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: subosito/flutter-action@v2 diff --git a/lib/app.dart b/lib/app.dart index 42768e40..f5c12317 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -4,11 +4,9 @@ import 'package:provider/provider.dart'; import 'package:settings/app_model.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/app_theme.dart'; import 'package:settings/view/pages/page_items.dart'; import 'package:yaru/yaru.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; class UbuntuSettingsApp extends StatelessWidget { const UbuntuSettingsApp({ @@ -18,7 +16,7 @@ class UbuntuSettingsApp extends StatelessWidget { @override Widget build(BuildContext context) { return ChangeNotifierProvider( - create: (_) => AppTheme(Settings(schemaInterface)), + create: (_) => AppTheme(GnomeSettings(schemaInterface)), child: YaruTheme( builder: (context, yaru, child) { return MaterialApp( @@ -66,9 +64,7 @@ class App extends StatelessWidget { : getPageItems(context); return YaruMasterDetailPage( - layoutDelegate: const YaruMasterFixedPaneDelegate( - paneWidth: 270, - ), + paneLayoutDelegate: const YaruFixedPaneDelegate(paneSize: 270), length: items.length, tileBuilder: (context, index, selected, availableWidth) => IconTheme( data: Theme.of(context).iconTheme.copyWith(size: 21), diff --git a/lib/main.dart b/lib/main.dart index bb9c98ee..43f20edb 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -12,12 +12,11 @@ import 'package:settings/services/keyboard_service.dart'; import 'package:settings/services/locale_service.dart'; import 'package:settings/services/power_profile_service.dart'; import 'package:settings/services/power_settings_service.dart'; -import 'package:settings/services/settings_service.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; import 'package:udisks/udisks.dart'; import 'package:upower/upower.dart'; +import 'package:watch_it/watch_it.dart'; import 'package:xdg_accounts/xdg_accounts.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; void main() async { await YaruWindowTitleBar.ensureInitialized(); @@ -25,63 +24,64 @@ void main() async { final networkManagerClient = NetworkManagerClient(); await networkManagerClient.connect(); - registerService( - BluetoothService.new, - dispose: (s) => s.dispose(), - ); - registerService( - HostnameService.new, - dispose: (s) => s.dispose(), - ); - registerService( - KeyboardMethodChannel.new, - ); - registerService(() => networkManagerClient); - registerService( - PowerProfileService.new, - dispose: (s) => s.dispose(), - ); - registerService( - PowerSettingsService.new, - dispose: (s) => s.dispose(), - ); - registerService( - SettingsService.new, - dispose: (s) => s.dispose(), - ); - registerService( - UDisksClient.new, - dispose: (client) => client.close(), - ); - registerService( - UPowerClient.new, - dispose: (client) => client.close(), - ); - registerService( - BlueZClient.new, - dispose: (client) => client.close(), - ); - registerService(InputSourceService.new); - registerService( - HouseKeepingService.new, - dispose: (s) => s.dispose(), - ); - registerService( - DateTimeService.new, - dispose: (s) => s.dispose(), - ); - registerService( - LocaleService.new, - dispose: (s) => s.dispose(), - ); - registerService( - DisplayService.new, - dispose: (s) => s.dispose(), - ); - registerService( - XdgAccounts.new, - dispose: (s) => s.dispose(), - ); + di + ..registerLazySingleton( + BluetoothService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + HostnameService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + KeyboardMethodChannel.new, + ) + ..registerLazySingleton(() => networkManagerClient) + ..registerLazySingleton( + PowerProfileService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + PowerGSettingsService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + GSettingsService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + UDisksClient.new, + dispose: (client) => client.close(), + ) + ..registerLazySingleton( + UPowerClient.new, + dispose: (client) => client.close(), + ) + ..registerLazySingleton( + BlueZClient.new, + dispose: (client) => client.close(), + ) + ..registerLazySingleton(InputSourceService.new) + ..registerLazySingleton( + HouseKeepingService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + DateTimeService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + LocaleService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + DisplayService.new, + dispose: (s) => s.dispose(), + ) + ..registerLazySingleton( + XdgAccounts.new, + dispose: (s) => s.dispose(), + ); runApp(const UbuntuSettingsApp()); } diff --git a/lib/services/power_settings_service.dart b/lib/services/power_settings_service.dart index 323f8162..a06a492e 100644 --- a/lib/services/power_settings_service.dart +++ b/lib/services/power_settings_service.dart @@ -9,7 +9,7 @@ const kPowerSettingsInterface = 'org.gnome.SettingsDaemon.Power'; @visibleForTesting const kPowerSettingsPath = '/org/gnome/SettingsDaemon/Power'; -class PowerSettingsService { +class PowerGSettingsService { final screen = Brightness('Screen'); final keyboard = Brightness('Keyboard'); diff --git a/lib/services/settings_service.dart b/lib/services/settings_service.dart deleted file mode 100644 index 607ad0ae..00000000 --- a/lib/services/settings_service.dart +++ /dev/null @@ -1,105 +0,0 @@ -import 'dart:ui'; - -import 'package:dbus/dbus.dart'; -import 'package:gsettings/gsettings.dart'; - -class SettingsService { - final _settings = {}; - - Settings? lookup(String schemaId, {String? path}) { - try { - return _settings[schemaId] ??= Settings(schemaId, path: path); - } on GSettingsSchemaNotInstalledException catch (_) { - return null; - } - } - - void dispose() { - for (final settings in _settings.values) { - settings?.dispose(); - } - } -} - -class Settings { - Settings(String schemaId, {String? path}) - : _settings = GSettings(schemaId, path: path) { - _settings.keysChanged.listen((keys) { - for (final key in keys) { - _updateValue(key); - } - }); - } - - final GSettings _settings; - final _values = {}; - final _listeners = {}; - - void addListener(VoidCallback listener) => _listeners.add(listener); - void removeListener(VoidCallback listener) => _listeners.remove(listener); - void notifyListeners() { - for (final listener in _listeners) { - listener(); - } - } - - void dispose() => _settings.close(); - - bool? boolValue(String key) => getValue(key); - int? intValue(String key) => getValue(key); - double? doubleValue(String key) => getValue(key); - String? stringValue(String key) => getValue(key); - Iterable? stringArrayValue(String key) => - getValue(key)?.cast(); - - T? getValue(String key) => _values[key] ?? _updateValue(key); - - T? _updateValue(String key) { - T? value; - try { - _settings.get(key).then((v) { - value = v.toNative() as T?; - if (_values[key] != value) { - _values[key] = value; - notifyListeners(); - } - }); - } on GSettingsUnknownKeyException catch (_) {} - return value; - } - - Future setValue(String key, T value) async { - if (_values[key] == value) { - return; - } - _values[key] = value; - switch (T) { - case const (bool): - return _settings.set(key, DBusBoolean(value as bool)); - case const (int): - return _settings.set(key, DBusInt32(value as int)); - case const (double): - return _settings.set(key, DBusDouble(value as double)); - case const (String): - return _settings.set(key, DBusString(value as String)); - default: - break; - } - if (value is List) { - return _settings.set(key, DBusArray.string(value)); - } - throw UnsupportedError('Unsupported type: $T'); - } - - Future setUint32Value(String key, int value) async { - if (_values[key] == value) { - return; - } - _values[key] = value; - await _settings.set(key, DBusUint32(value)); - } - - Future resetValue(String key) { - return _settings.setAll({key: null}); - } -} diff --git a/lib/view/app_theme.dart b/lib/view/app_theme.dart index 134465c4..fb1b2e14 100644 --- a/lib/view/app_theme.dart +++ b/lib/view/app_theme.dart @@ -1,11 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:yaru/yaru.dart'; class AppTheme extends ValueNotifier { AppTheme(this._settings) : super(ThemeMode.system); - final Settings _settings; + final GnomeSettings _settings; void apply(Brightness brightness, YaruVariant variant) { switch (brightness) { diff --git a/lib/view/common/duration_dropdown_button.dart b/lib/view/common/duration_dropdown_button.dart index d34e7e9c..1c12cb53 100644 --- a/lib/view/common/duration_dropdown_button.dart +++ b/lib/view/common/duration_dropdown_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/utils.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class DurationDropdownButton extends StatelessWidget { const DurationDropdownButton({ diff --git a/lib/view/common/selectable_svg_image.dart b/lib/view/common/selectable_svg_image.dart index 3b6e2663..f5dc1cf6 100644 --- a/lib/view/common/selectable_svg_image.dart +++ b/lib/view/common/selectable_svg_image.dart @@ -37,7 +37,7 @@ class SelectableSvgImage extends StatelessWidget { colorFilter: ColorFilter.mode( selected ? selectedColor - : Theme.of(context).colorScheme.background, + : Theme.of(context).colorScheme.surface, selected ? BlendMode.srcIn : BlendMode.color, ), height: height, diff --git a/lib/view/common/settings_section.dart b/lib/view/common/settings_section.dart index 6143968e..3ed443f7 100644 --- a/lib/view/common/settings_section.dart +++ b/lib/view/common/settings_section.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class SettingsSection extends StatelessWidget { const SettingsSection({ diff --git a/lib/view/common/yaru_checkbox_row.dart b/lib/view/common/yaru_checkbox_row.dart index d151e361..8ff3d5b5 100644 --- a/lib/view/common/yaru_checkbox_row.dart +++ b/lib/view/common/yaru_checkbox_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruCheckboxRow extends StatelessWidget { /// Creates a check box in a row along with a text diff --git a/lib/view/common/yaru_extra_option_row.dart b/lib/view/common/yaru_extra_option_row.dart index d9402283..8bc2acf4 100644 --- a/lib/view/common/yaru_extra_option_row.dart +++ b/lib/view/common/yaru_extra_option_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruExtraOptionRow extends StatelessWidget { /// Creates a row having switch, label, description and YaruOptionButton. diff --git a/lib/view/common/yaru_single_info_row.dart b/lib/view/common/yaru_single_info_row.dart index f364c215..8a3bf631 100644 --- a/lib/view/common/yaru_single_info_row.dart +++ b/lib/view/common/yaru_single_info_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruSingleInfoRow extends StatelessWidget { /// Creates an info widget with infoLabel and infoValue. diff --git a/lib/view/common/yaru_slider_row.dart b/lib/view/common/yaru_slider_row.dart index ee203073..bc5bca44 100644 --- a/lib/view/common/yaru_slider_row.dart +++ b/lib/view/common/yaru_slider_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruSliderRow extends StatelessWidget { /// Creates a yaru style slider. diff --git a/lib/view/common/yaru_switch_row.dart b/lib/view/common/yaru_switch_row.dart index f628ecf7..ab926bb8 100644 --- a/lib/view/common/yaru_switch_row.dart +++ b/lib/view/common/yaru_switch_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruSwitchRow extends StatelessWidget { /// Creates yaru style switch. The [Switch] will be aligned horizontally along with the `trailingWidget`. diff --git a/lib/view/common/yaru_toggle_buttons_row.dart b/lib/view/common/yaru_toggle_buttons_row.dart index 233cc1a7..10dd4f7c 100644 --- a/lib/view/common/yaru_toggle_buttons_row.dart +++ b/lib/view/common/yaru_toggle_buttons_row.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class YaruToggleButtonsRow extends StatelessWidget { /// Creates a set of Yaru style toggle buttons. diff --git a/lib/view/pages/accessibility/accessibility_model.dart b/lib/view/pages/accessibility/accessibility_model.dart index 5f290a0e..387211dc 100644 --- a/lib/view/pages/accessibility/accessibility_model.dart +++ b/lib/view/pages/accessibility/accessibility_model.dart @@ -1,11 +1,11 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/utils.dart'; +import 'package:yaru/yaru.dart'; class AccessibilityModel extends SafeChangeNotifier { - AccessibilityModel(SettingsService service) + AccessibilityModel(GSettingsService service) : _desktopA11Settings = service.lookup(schemaDesktopA11y), _a11yAppsSettings = service.lookup(schemaA11yApps), _a11yKeyboardSettings = service.lookup(schemaA11yKeyboard), @@ -96,15 +96,15 @@ class AccessibilityModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _desktopA11Settings; - final Settings? _a11yAppsSettings; - final Settings? _a11yKeyboardSettings; - final Settings? _a11yMagnifierSettings; - final Settings? _a11yMouseSettings; - final Settings? _wmPreferencesSettings; - final Settings? _interfaceSettings; - final Settings? _peripheralsMouseSettings; - final Settings? _peripheralsKeyboardSettings; + final GnomeSettings? _desktopA11Settings; + final GnomeSettings? _a11yAppsSettings; + final GnomeSettings? _a11yKeyboardSettings; + final GnomeSettings? _a11yMagnifierSettings; + final GnomeSettings? _a11yMouseSettings; + final GnomeSettings? _wmPreferencesSettings; + final GnomeSettings? _interfaceSettings; + final GnomeSettings? _peripheralsMouseSettings; + final GnomeSettings? _peripheralsKeyboardSettings; // Global section diff --git a/lib/view/pages/accessibility/accessibility_page.dart b/lib/view/pages/accessibility/accessibility_page.dart index 30b9e227..14c6f155 100644 --- a/lib/view/pages/accessibility/accessibility_page.dart +++ b/lib/view/pages/accessibility/accessibility_page.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/accessibility/accessibility_model.dart'; import 'package:settings/view/pages/accessibility/global_section.dart'; import 'package:settings/view/pages/accessibility/hearing_section.dart'; @@ -9,14 +8,15 @@ import 'package:settings/view/pages/accessibility/pointing_and_clicking_section. import 'package:settings/view/pages/accessibility/seeing_section.dart'; import 'package:settings/view/pages/accessibility/typing_section.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class AccessibilityPage extends StatelessWidget { const AccessibilityPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => AccessibilityModel(getService()), + create: (_) => AccessibilityModel(di()), child: const AccessibilityPage(), ); } diff --git a/lib/view/pages/accessibility/hearing_section.dart b/lib/view/pages/accessibility/hearing_section.dart index 44b60fb0..c65ddb20 100644 --- a/lib/view/pages/accessibility/hearing_section.dart +++ b/lib/view/pages/accessibility/hearing_section.dart @@ -6,8 +6,7 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_extra_option_row.dart'; import 'package:settings/view/pages/accessibility/accessibility_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class HearingSection extends StatelessWidget { const HearingSection({super.key}); diff --git a/lib/view/pages/accessibility/pointing_and_clicking_section.dart b/lib/view/pages/accessibility/pointing_and_clicking_section.dart index 0276eb97..37ea80bc 100644 --- a/lib/view/pages/accessibility/pointing_and_clicking_section.dart +++ b/lib/view/pages/accessibility/pointing_and_clicking_section.dart @@ -7,8 +7,7 @@ import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/accessibility/accessibility_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class PointingAndClickingSection extends StatelessWidget { const PointingAndClickingSection({super.key}); diff --git a/lib/view/pages/accessibility/seeing_section.dart b/lib/view/pages/accessibility/seeing_section.dart index a6be4b3c..0c765a2e 100644 --- a/lib/view/pages/accessibility/seeing_section.dart +++ b/lib/view/pages/accessibility/seeing_section.dart @@ -12,8 +12,7 @@ import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/accessibility/accessibility_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class SeeingSection extends StatelessWidget { const SeeingSection({super.key}); diff --git a/lib/view/pages/accessibility/typing_section.dart b/lib/view/pages/accessibility/typing_section.dart index 82122d6f..fd262ead 100644 --- a/lib/view/pages/accessibility/typing_section.dart +++ b/lib/view/pages/accessibility/typing_section.dart @@ -9,8 +9,7 @@ import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/accessibility/accessibility_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class TypingSection extends StatelessWidget { const TypingSection({super.key}); diff --git a/lib/view/pages/accounts/accounts_page.dart b/lib/view/pages/accounts/accounts_page.dart index 8c6fbe5e..dfa1a260 100644 --- a/lib/view/pages/accounts/accounts_page.dart +++ b/lib/view/pages/accounts/accounts_page.dart @@ -7,17 +7,16 @@ import 'package:settings/view/pages/accounts/accounts_model.dart'; import 'package:settings/view/pages/accounts/user_model.dart'; import 'package:settings/view/pages/privacy/house_keeping_page.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; import 'package:xdg_accounts/xdg_accounts.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class AccountsPage extends StatelessWidget { const AccountsPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (context) => AccountsModel(getService())..init(), + create: (context) => AccountsModel(di())..init(), child: const AccountsPage(), ); @@ -172,7 +171,11 @@ class _AddUserDialogState extends State<_AddUserDialog> { passwordHint: _passwordHintController.text, ) .then((_) { - model.init().then((value) => Navigator.pop(context)); + model.init().then((value) { + if (context.mounted) { + Navigator.pop(context); + } + }); }), child: Text(context.l10n.confirm), ), @@ -262,7 +265,11 @@ class _UserTile extends StatelessWidget { name: model.userName!, removeFiles: true, ).then((_) { - init().then((value) => Navigator.pop(context)); + init().then((value) { + if (context.mounted) { + Navigator.pop(context); + } + }); }), ), ), diff --git a/lib/view/pages/appearance/appearance_page.dart b/lib/view/pages/appearance/appearance_page.dart index 879e92b1..7eebb1a1 100644 --- a/lib/view/pages/appearance/appearance_page.dart +++ b/lib/view/pages/appearance/appearance_page.dart @@ -1,19 +1,19 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/appearance/dock_model.dart'; import 'package:settings/view/pages/appearance/dock_section.dart'; import 'package:settings/view/pages/appearance/theme_section.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class AppearancePage extends StatelessWidget { const AppearancePage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => DockModel(getService()), + create: (_) => DockModel(di()), child: const AppearancePage(), ); } diff --git a/lib/view/pages/appearance/dock_model.dart b/lib/view/pages/appearance/dock_model.dart index 0b036974..ac8fb6a8 100644 --- a/lib/view/pages/appearance/dock_model.dart +++ b/lib/view/pages/appearance/dock_model.dart @@ -1,11 +1,11 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/utils.dart'; +import 'package:yaru/yaru.dart'; class DockModel extends SafeChangeNotifier { - DockModel(SettingsService service) + DockModel(GSettingsService service) : _dashToDockSettings = service.lookup(schemaDashToDock) { _dashToDockSettings?.addListener(notifyListeners); } @@ -23,7 +23,7 @@ class DockModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _dashToDockSettings; + final GnomeSettings? _dashToDockSettings; // Dock section diff --git a/lib/view/pages/appearance/dock_section.dart b/lib/view/pages/appearance/dock_section.dart index e4538851..ef9c945e 100644 --- a/lib/view/pages/appearance/dock_section.dart +++ b/lib/view/pages/appearance/dock_section.dart @@ -9,7 +9,7 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/appearance/dock_model.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class DockSection extends StatelessWidget { const DockSection({super.key}); @@ -19,7 +19,7 @@ class DockSection extends StatelessWidget { @override Widget build(BuildContext context) { final model = context.watch(); - final unselectedColor = Theme.of(context).colorScheme.background; + final unselectedColor = Theme.of(context).colorScheme.surface; final selectedColor = Theme.of(context).brightness == Brightness.light ? Theme.of(context).primaryColor : lighten(Theme.of(context).primaryColor, 20); diff --git a/lib/view/pages/appearance/theme_section.dart b/lib/view/pages/appearance/theme_section.dart index 3cdba854..9ab278cf 100644 --- a/lib/view/pages/appearance/theme_section.dart +++ b/lib/view/pages/appearance/theme_section.dart @@ -6,8 +6,6 @@ import 'package:settings/view/app_theme.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:yaru/yaru.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; class ThemeSection extends StatefulWidget { const ThemeSection({super.key}); diff --git a/lib/view/pages/apps/apps_page.dart b/lib/view/pages/apps/apps_page.dart index fde24385..d2a25432 100644 --- a/lib/view/pages/apps/apps_page.dart +++ b/lib/view/pages/apps/apps_page.dart @@ -3,8 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class AppsPage extends StatelessWidget { const AppsPage({super.key}); diff --git a/lib/view/pages/bluetooth/bluetooth_device_model.dart b/lib/view/pages/bluetooth/bluetooth_device_model.dart index 753ec329..b919d3dc 100644 --- a/lib/view/pages/bluetooth/bluetooth_device_model.dart +++ b/lib/view/pages/bluetooth/bluetooth_device_model.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:bluez/bluez.dart'; import 'package:flutter/material.dart'; import 'package:safe_change_notifier/safe_change_notifier.dart'; -import 'package:yaru_icons/yaru_icons.dart'; +import 'package:yaru/yaru.dart'; const yaruIcons = { 'ac-adapter': YaruIcons.power, diff --git a/lib/view/pages/bluetooth/bluetooth_device_row.dart b/lib/view/pages/bluetooth/bluetooth_device_row.dart index 8d8427d8..3d037341 100644 --- a/lib/view/pages/bluetooth/bluetooth_device_row.dart +++ b/lib/view/pages/bluetooth/bluetooth_device_row.dart @@ -4,8 +4,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/view/pages/bluetooth/bluetooth_device_model.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class BluetoothDeviceRow extends StatefulWidget { const BluetoothDeviceRow({super.key, required this.removeDevice}); diff --git a/lib/view/pages/bluetooth/bluetooth_page.dart b/lib/view/pages/bluetooth/bluetooth_page.dart index 8976bc24..60da818a 100644 --- a/lib/view/pages/bluetooth/bluetooth_page.dart +++ b/lib/view/pages/bluetooth/bluetooth_page.dart @@ -8,8 +8,8 @@ import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/bluetooth/bluetooth_device_row.dart'; import 'package:settings/view/pages/bluetooth/bluetooth_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class BluetoothPage extends StatefulWidget { const BluetoothPage({super.key}); @@ -25,7 +25,7 @@ class BluetoothPage extends StatefulWidget { static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => BluetoothModel(getService()), + create: (_) => BluetoothModel(di()), child: const BluetoothPage(), ); } diff --git a/lib/view/pages/connections/connections_page.dart b/lib/view/pages/connections/connections_page.dart index 16785c53..efd38a14 100644 --- a/lib/view/pages/connections/connections_page.dart +++ b/lib/view/pages/connections/connections_page.dart @@ -5,9 +5,8 @@ import 'package:settings/l10n/l10n.dart'; import 'package:settings/view/common/title_bar_tab.dart'; import 'package:settings/view/pages/connections/wifi_content.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; import 'models/wifi_model.dart'; @@ -15,7 +14,7 @@ class ConnectionsPage extends StatefulWidget { const ConnectionsPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => WifiModel(getService()), + create: (_) => WifiModel(di()), child: const ConnectionsPage(), ); } diff --git a/lib/view/pages/connections/widgets/access_point_tile.dart b/lib/view/pages/connections/widgets/access_point_tile.dart index 65d15615..5792c076 100644 --- a/lib/view/pages/connections/widgets/access_point_tile.dart +++ b/lib/view/pages/connections/widgets/access_point_tile.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:settings/view/pages/connections/models/access_point_model.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class AccessPointTile extends StatelessWidget { const AccessPointTile({ diff --git a/lib/view/pages/connections/widgets/authentication_dialog.dart b/lib/view/pages/connections/widgets/authentication_dialog.dart index 90fa627a..e811140a 100644 --- a/lib/view/pages/connections/widgets/authentication_dialog.dart +++ b/lib/view/pages/connections/widgets/authentication_dialog.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/view/pages/connections/data/authentication.dart'; import 'package:settings/view/pages/connections/models/access_point_model.dart'; -import 'package:yaru_icons/yaru_icons.dart'; +import 'package:yaru/yaru.dart'; class AuthenticationDialog extends StatelessWidget { AuthenticationDialog({super.key}); diff --git a/lib/view/pages/connections/wifi_content.dart b/lib/view/pages/connections/wifi_content.dart index 0db86028..b6b7b107 100644 --- a/lib/view/pages/connections/wifi_content.dart +++ b/lib/view/pages/connections/wifi_content.dart @@ -6,7 +6,7 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/connections/models/access_point_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:yaru_icons/yaru_icons.dart'; +import 'package:yaru/yaru.dart'; import 'data/authentication.dart'; import 'models/wifi_model.dart'; diff --git a/lib/view/pages/date_and_time/date_time_model.dart b/lib/view/pages/date_and_time/date_time_model.dart index 115564a8..2d5d7308 100644 --- a/lib/view/pages/date_and_time/date_time_model.dart +++ b/lib/view/pages/date_and_time/date_time_model.dart @@ -6,7 +6,7 @@ import 'package:linux_datetime_service/linux_datetime.dart'; import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; const _kAutomaticTimezone = 'automatic-timezone'; const _kClockFormat = 'clock-format'; @@ -17,7 +17,7 @@ const _kCalendarShowWeekNumber = 'show-weekdate'; class DateTimeModel extends SafeChangeNotifier { DateTimeModel({ required DateTimeService dateTimeService, - required SettingsService settingsService, + required GSettingsService settingsService, }) : _dateTimeService = dateTimeService, _dateTimeSettings = settingsService.lookup(schemaDateTime), _interfaceSettings = settingsService.lookup(schemaInterface), @@ -26,9 +26,9 @@ class DateTimeModel extends SafeChangeNotifier { _interfaceSettings?.addListener(notifyListeners); _calendarSettings?.addListener(notifyListeners); } - final Settings? _dateTimeSettings; - final Settings? _interfaceSettings; - final Settings? _calendarSettings; + final GnomeSettings? _dateTimeSettings; + final GnomeSettings? _interfaceSettings; + final GnomeSettings? _calendarSettings; final DateTimeService _dateTimeService; StreamSubscription? _timezoneSub; StreamSubscription? _ntpSyncSub; diff --git a/lib/view/pages/date_and_time/date_time_page.dart b/lib/view/pages/date_and_time/date_time_page.dart index bc0ffeb9..6b5b46d3 100644 --- a/lib/view/pages/date_and_time/date_time_page.dart +++ b/lib/view/pages/date_and_time/date_time_page.dart @@ -3,23 +3,22 @@ import 'package:linux_datetime_service/linux_datetime.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/date_and_time/date_time_model.dart'; import 'package:settings/view/pages/date_and_time/timezones.dart'; import 'package:settings/view/pages/settings_alert_dialog.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class DateTimePage extends StatefulWidget { const DateTimePage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( create: (_) => DateTimeModel( - dateTimeService: getService(), - settingsService: getService(), + dateTimeService: di(), + settingsService: di(), ), child: const DateTimePage(), ); diff --git a/lib/view/pages/displays/displays_page.dart b/lib/view/pages/displays/displays_page.dart index 4a17729b..f7d16be9 100644 --- a/lib/view/pages/displays/displays_page.dart +++ b/lib/view/pages/displays/displays_page.dart @@ -9,9 +9,8 @@ import 'package:settings/view/pages/displays/displays_model.dart'; import 'package:settings/view/pages/displays/nightlight_page.dart'; import 'package:settings/view/pages/displays/widgets/monitor_section.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class DisplaysPage extends StatefulWidget { /// private as we have to pass from create method below @@ -22,7 +21,7 @@ class DisplaysPage extends StatefulWidget { static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => DisplaysModel(getService()), + create: (_) => DisplaysModel(di()), child: const DisplaysPage._(), ); } diff --git a/lib/view/pages/displays/nightlight_model.dart b/lib/view/pages/displays/nightlight_model.dart index bcf323f6..b451397b 100644 --- a/lib/view/pages/displays/nightlight_model.dart +++ b/lib/view/pages/displays/nightlight_model.dart @@ -1,6 +1,6 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; const _setNightLight = 'night-light-enabled'; const _setNightlightTemp = 'night-light-temperature'; @@ -8,7 +8,7 @@ const _setNightlightScheduleFrom = 'night-light-schedule-from'; const _setNightlightScheduleTo = 'night-light-schedule-to'; class NightlightModel extends SafeChangeNotifier { - NightlightModel(SettingsService service) + NightlightModel(GSettingsService service) : _nightlightSettings = service.lookup(schemaSettingsDaemonColorPlugin) { _nightlightSettings?.addListener(notifyListeners); } @@ -19,7 +19,7 @@ class NightlightModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _nightlightSettings; + final GnomeSettings? _nightlightSettings; bool? get nightLightEnabled => _nightlightSettings?.boolValue(_setNightLight); diff --git a/lib/view/pages/displays/nightlight_page.dart b/lib/view/pages/displays/nightlight_page.dart index 32ec52f5..cfa6ac7a 100644 --- a/lib/view/pages/displays/nightlight_page.dart +++ b/lib/view/pages/displays/nightlight_page.dart @@ -3,20 +3,19 @@ import 'package:flutter_spinbox/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/displays/nightlight_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class NightlightPage extends StatelessWidget { const NightlightPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => NightlightModel(getService()), + create: (_) => NightlightModel(di()), child: const NightlightPage(), ); } diff --git a/lib/view/pages/displays/widgets/monitor_section.dart b/lib/view/pages/displays/widgets/monitor_section.dart index 1a2d3c59..00cea2d2 100644 --- a/lib/view/pages/displays/widgets/monitor_section.dart +++ b/lib/view/pages/displays/widgets/monitor_section.dart @@ -6,7 +6,7 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/displays/displays_configuration.dart'; import 'package:settings/view/pages/displays/displays_model.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class MonitorSection extends StatelessWidget { const MonitorSection({ diff --git a/lib/view/pages/info/info_page.dart b/lib/view/pages/info/info_page.dart index 99cc14da..7f2fd723 100644 --- a/lib/view/pages/info/info_page.dart +++ b/lib/view/pages/info/info_page.dart @@ -10,12 +10,10 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_single_info_row.dart'; import 'package:settings/view/pages/settings_page.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; import 'package:udisks/udisks.dart'; import 'package:url_launcher/url_launcher.dart'; +import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; import 'info_model.dart'; @@ -25,8 +23,8 @@ class InfoPage extends StatefulWidget { static Widget create(BuildContext context) { return ChangeNotifierProvider( create: (_) => InfoModel( - hostnameService: getService(), - uDisksClient: getService(), + hostnameService: di(), + uDisksClient: di(), ), child: const InfoPage(), ); @@ -178,8 +176,12 @@ class _InfoPageState extends State { model.gnomeVersion, model.windowServer, ).then( - (value) => ScaffoldMessenger.of(context) - .showSnackBar(sysInfoSnackBar), + (value) { + if (context.mounted) { + ScaffoldMessenger.of(context) + .showSnackBar(sysInfoSnackBar); + } + }, ); }, ), diff --git a/lib/view/pages/keyboard/input_source_model.dart b/lib/view/pages/keyboard/input_source_model.dart index 7e9ae351..84519544 100644 --- a/lib/view/pages/keyboard/input_source_model.dart +++ b/lib/view/pages/keyboard/input_source_model.dart @@ -1,21 +1,20 @@ import 'dart:io'; import 'package:dbus/dbus.dart'; -import 'package:gsettings/gsettings.dart'; import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; import 'package:settings/services/input_source_service.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class InputSourceModel extends SafeChangeNotifier { InputSourceModel( - SettingsService settingsService, + GSettingsService settingsService, InputSourceService inputSourceService, ) : _inputSourceSettings = settingsService.lookup(schemaInputSources), inputSources = inputSourceService.inputSources { _inputSourceSettings?.addListener(notifyListeners); } - final Settings? _inputSourceSettings; + final GnomeSettings? _inputSourceSettings; static const _perWindowKey = 'per-window'; static const _sourcesKey = 'sources'; static const _mruSourcesKey = 'mru-sources'; @@ -35,33 +34,33 @@ class InputSourceModel extends SafeChangeNotifier { } Future?> getInputSources() async { - final settings = GSettings(schemaInputSources); + final settings = GnomeSettings(schemaInputSources); final inputTypes = []; - final dbusArray = await settings.get(_sourcesKey) as DBusArray; + final dbusArray = await settings.getValue(_sourcesKey) as DBusArray; for (final dbusArrayChild in dbusArray.children) { final dbusStruct = dbusArrayChild as DBusStruct; inputTypes.add((dbusStruct.children[1] as DBusString).value); } - await settings.close(); + await settings.dispose(); return inputTypes; } Future setInputSources(List? inputTypes) async { - final settings = GSettings(schemaInputSources); + final settings = GnomeSettings(schemaInputSources); final array = DBusArray(DBusSignature('(ss)'), [ for (final inputType in inputTypes ?? []) DBusStruct([const DBusString('xkb'), DBusString(inputType)]), ]); - await settings.set(_sourcesKey, array); - await settings.set(_mruSourcesKey, array); + await settings.setValue(_sourcesKey, array); + await settings.setValue(_mruSourcesKey, array); - await settings.close(); + await settings.dispose(); notifyListeners(); } diff --git a/lib/view/pages/keyboard/input_source_section.dart b/lib/view/pages/keyboard/input_source_section.dart index d4190800..56638537 100644 --- a/lib/view/pages/keyboard/input_source_section.dart +++ b/lib/view/pages/keyboard/input_source_section.dart @@ -3,7 +3,7 @@ import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/keyboard/input_source_model.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class InputSourceSection extends StatelessWidget { const InputSourceSection({super.key}); diff --git a/lib/view/pages/keyboard/input_source_selection_section.dart b/lib/view/pages/keyboard/input_source_selection_section.dart index 4903d97b..67fa0dda 100644 --- a/lib/view/pages/keyboard/input_source_selection_section.dart +++ b/lib/view/pages/keyboard/input_source_selection_section.dart @@ -4,8 +4,7 @@ import 'package:settings/constants.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/keyboard/input_source_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class InputSourceSelectionSection extends StatelessWidget { const InputSourceSelectionSection({ diff --git a/lib/view/pages/keyboard/keyboard_page.dart b/lib/view/pages/keyboard/keyboard_page.dart index 410970cc..fa9548ba 100644 --- a/lib/view/pages/keyboard/keyboard_page.dart +++ b/lib/view/pages/keyboard/keyboard_page.dart @@ -3,8 +3,7 @@ import 'package:settings/l10n/l10n.dart'; import 'package:settings/view/common/title_bar_tab.dart'; import 'package:settings/view/pages/keyboard/keyboard_settings_page.dart'; import 'package:settings/view/pages/keyboard/keyboard_shortcuts_page.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class KeyboardPage extends StatefulWidget { const KeyboardPage({super.key}); diff --git a/lib/view/pages/keyboard/keyboard_settings_page.dart b/lib/view/pages/keyboard/keyboard_settings_page.dart index bb9a3137..03451a53 100644 --- a/lib/view/pages/keyboard/keyboard_settings_page.dart +++ b/lib/view/pages/keyboard/keyboard_settings_page.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/services/input_source_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/keyboard/input_source_model.dart'; import 'package:settings/view/pages/keyboard/input_source_section.dart'; import 'package:settings/view/pages/keyboard/input_source_selection_section.dart'; import 'package:settings/view/pages/keyboard/special_characters_model.dart'; import 'package:settings/view/pages/keyboard/special_characters_section.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class KeyboardSettingsPage extends StatelessWidget { const KeyboardSettingsPage({ @@ -17,8 +17,8 @@ class KeyboardSettingsPage extends StatelessWidget { @override Widget build(BuildContext context) { - final settingsService = getService(); - final inputSourceService = getService(); + final settingsService = di(); + final inputSourceService = di(); return SettingsPage( children: [ diff --git a/lib/view/pages/keyboard/keyboard_shortcut_row.dart b/lib/view/pages/keyboard/keyboard_shortcut_row.dart index ef785844..e9bb006c 100644 --- a/lib/view/pages/keyboard/keyboard_shortcut_row.dart +++ b/lib/view/pages/keyboard/keyboard_shortcut_row.dart @@ -1,8 +1,10 @@ +// ignore_for_file: deprecated_member_use + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; import 'package:settings/view/pages/keyboard/keyboard_shortcuts_model.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class KeyboardShortcutRow extends StatefulWidget { const KeyboardShortcutRow({ @@ -33,7 +35,7 @@ class _KeyboardShortcutRowState extends State { onTap: () async { final oldShortcut = model.getShortcutStrings(widget.shortcutId); await model.grabKeyboard().then((value) { - if (!value) return; + if (!value || !context.mounted) return; showDialog>( context: context, builder: (_) => StatefulBuilder( diff --git a/lib/view/pages/keyboard/keyboard_shortcuts_model.dart b/lib/view/pages/keyboard/keyboard_shortcuts_model.dart index 849baebe..fb5c3fb1 100644 --- a/lib/view/pages/keyboard/keyboard_shortcuts_model.dart +++ b/lib/view/pages/keyboard/keyboard_shortcuts_model.dart @@ -1,11 +1,11 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/services/keyboard_service.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class KeyboardShortcutsModel extends SafeChangeNotifier { KeyboardShortcutsModel({ required KeyboardService keyboard, - required SettingsService settings, + required GSettingsService settings, required this.schemaId, }) : _keyboard = keyboard, _shortcutSettings = settings.lookup(schemaId) { @@ -20,7 +20,7 @@ class KeyboardShortcutsModel extends SafeChangeNotifier { } final KeyboardService _keyboard; - final Settings? _shortcutSettings; + final GnomeSettings? _shortcutSettings; Future grabKeyboard() => _keyboard.grab(); Future ungrabKeyboard() => _keyboard.ungrab(); diff --git a/lib/view/pages/keyboard/keyboard_shortcuts_page.dart b/lib/view/pages/keyboard/keyboard_shortcuts_page.dart index eb553039..73862001 100644 --- a/lib/view/pages/keyboard/keyboard_shortcuts_page.dart +++ b/lib/view/pages/keyboard/keyboard_shortcuts_page.dart @@ -3,12 +3,12 @@ import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/schemas/schemas.dart'; import 'package:settings/services/keyboard_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/keyboard/keyboard_shortcut_row.dart'; import 'package:settings/view/pages/keyboard/keyboard_shortcuts_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class KeyboardShortcutsPage extends StatelessWidget { const KeyboardShortcutsPage({super.key}); @@ -19,8 +19,8 @@ class KeyboardShortcutsPage extends StatelessWidget { children: [ ChangeNotifierProvider( create: (_) => KeyboardShortcutsModel( - keyboard: getService(), - settings: getService(), + keyboard: di(), + settings: di(), schemaId: schemaWmKeybindings, ), child: const SettingsSection( @@ -40,8 +40,8 @@ class KeyboardShortcutsPage extends StatelessWidget { ), ChangeNotifierProvider( create: (_) => KeyboardShortcutsModel( - keyboard: getService(), - settings: getService(), + keyboard: di(), + settings: di(), schemaId: schemaGnomeShellKeybinding, ), child: const SettingsSection( diff --git a/lib/view/pages/keyboard/special_characters_model.dart b/lib/view/pages/keyboard/special_characters_model.dart index a5d99e1a..5c538f2e 100644 --- a/lib/view/pages/keyboard/special_characters_model.dart +++ b/lib/view/pages/keyboard/special_characters_model.dart @@ -1,16 +1,15 @@ import 'package:dbus/dbus.dart'; -import 'package:gsettings/gsettings.dart'; import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class SpecialCharactersModel extends SafeChangeNotifier { - SpecialCharactersModel(SettingsService service) + SpecialCharactersModel(GSettingsService service) : _inputSourceSettings = service.lookup(schemaInputSources) { _inputSourceSettings?.addListener(notifyListeners); } - final Settings? _inputSourceSettings; + final GnomeSettings? _inputSourceSettings; static const _xkbOptionsKey = 'xkb-options'; @override @@ -20,10 +19,10 @@ class SpecialCharactersModel extends SafeChangeNotifier { } Future> _getXkbOptions() async { - final settings = GSettings(schemaInputSources); + final settings = GnomeSettings(schemaInputSources); final xkbOptions = []; - final dbusArray = await settings.get(_xkbOptionsKey) as DBusArray; + final dbusArray = await settings.getValue(_xkbOptionsKey) as DBusArray; for (final dbusArrayChild in dbusArray.children) { final dBusString = dbusArrayChild as DBusString; diff --git a/lib/view/pages/keyboard/special_characters_section.dart b/lib/view/pages/keyboard/special_characters_section.dart index 7e560bcf..197f869e 100644 --- a/lib/view/pages/keyboard/special_characters_section.dart +++ b/lib/view/pages/keyboard/special_characters_section.dart @@ -6,8 +6,7 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/keyboard/special_characters_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class SpecialCharactersSection extends StatelessWidget { const SpecialCharactersSection({ diff --git a/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_model.dart b/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_model.dart index 89bd6e4d..969dd69b 100644 --- a/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_model.dart +++ b/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_model.dart @@ -1,9 +1,9 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class MouseAndTouchpadModel extends SafeChangeNotifier { - MouseAndTouchpadModel(SettingsService service) + MouseAndTouchpadModel(GSettingsService service) : _peripheralsMouseSettings = service.lookup(schemaPeripheralsMouse), _peripheralsTouchpadSettings = service.lookup(schemaPeripheralTouchpad) { @@ -27,8 +27,8 @@ class MouseAndTouchpadModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _peripheralsMouseSettings; - final Settings? _peripheralsTouchpadSettings; + final GnomeSettings? _peripheralsMouseSettings; + final GnomeSettings? _peripheralsTouchpadSettings; // Global section diff --git a/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_page.dart b/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_page.dart index 3c792010..d30506b4 100644 --- a/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_page.dart +++ b/lib/view/pages/mouse_and_touchpad/mouse_and_touchpad_page.dart @@ -1,20 +1,20 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/mouse_and_touchpad/general_section.dart'; import 'package:settings/view/pages/mouse_and_touchpad/mouse_and_touchpad_model.dart'; import 'package:settings/view/pages/mouse_and_touchpad/mouse_section.dart'; import 'package:settings/view/pages/mouse_and_touchpad/touchpad_section.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class MouseAndTouchpadPage extends StatelessWidget { const MouseAndTouchpadPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => MouseAndTouchpadModel(getService()), + create: (_) => MouseAndTouchpadModel(di()), child: const MouseAndTouchpadPage(), ); } diff --git a/lib/view/pages/multitasking/multi_tasking_model.dart b/lib/view/pages/multitasking/multi_tasking_model.dart index 8cf5237b..9e4fbde6 100644 --- a/lib/view/pages/multitasking/multi_tasking_model.dart +++ b/lib/view/pages/multitasking/multi_tasking_model.dart @@ -1,9 +1,9 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class MultiTaskingModel extends SafeChangeNotifier { - MultiTaskingModel(SettingsService service) + MultiTaskingModel(GSettingsService service) : _multiTaskingSettings = service.lookup(schemaInterface), _mutterSettings = service.lookup(schemaMutter), _appSwitchSettings = service.lookup(schemaGnomeShellAppSwitcher), @@ -15,11 +15,11 @@ class MultiTaskingModel extends SafeChangeNotifier { _wmSettings?.addListener(notifyListeners); _dashToDockSettings?.addListener(notifyListeners); } - final Settings? _multiTaskingSettings; - final Settings? _mutterSettings; - final Settings? _appSwitchSettings; - final Settings? _wmSettings; - final Settings? _dashToDockSettings; + final GnomeSettings? _multiTaskingSettings; + final GnomeSettings? _mutterSettings; + final GnomeSettings? _appSwitchSettings; + final GnomeSettings? _wmSettings; + final GnomeSettings? _dashToDockSettings; static const _hotCornersKey = 'enable-hot-corners'; static const _edgeTilingKey = 'edge-tiling'; diff --git a/lib/view/pages/multitasking/multi_tasking_page.dart b/lib/view/pages/multitasking/multi_tasking_page.dart index 59e0a59a..086f89b5 100644 --- a/lib/view/pages/multitasking/multi_tasking_page.dart +++ b/lib/view/pages/multitasking/multi_tasking_page.dart @@ -4,21 +4,20 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/utils.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/multitasking/multi_tasking_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class MultiTaskingPage extends StatelessWidget { const MultiTaskingPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => MultiTaskingModel(getService()), + create: (_) => MultiTaskingModel(di()), child: const MultiTaskingPage(), ); } @@ -36,7 +35,7 @@ class MultiTaskingPage extends StatelessWidget { @override Widget build(BuildContext context) { final model = context.watch(); - final unselectedColor = Theme.of(context).colorScheme.background; + final unselectedColor = Theme.of(context).colorScheme.surface; final selectedColor = Theme.of(context).brightness == Brightness.light ? Theme.of(context).primaryColor : lighten(Theme.of(context).primaryColor, 20); diff --git a/lib/view/pages/notifications/app_notifications_section.dart b/lib/view/pages/notifications/app_notifications_section.dart index 392283d2..58c30b23 100644 --- a/lib/view/pages/notifications/app_notifications_section.dart +++ b/lib/view/pages/notifications/app_notifications_section.dart @@ -1,11 +1,11 @@ import 'package:flutter/widgets.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/notifications/notifications_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class AppNotificationsSection extends StatelessWidget { const AppNotificationsSection({super.key}); @@ -33,8 +33,7 @@ class AppNotificationsSettingRow extends StatelessWidget { static Widget create(BuildContext context, {required String appId}) { return ChangeNotifierProvider( - create: (_) => - AppNotificationsModel(appId, getService()), + create: (_) => AppNotificationsModel(appId, di()), child: const AppNotificationsSettingRow(), ); } diff --git a/lib/view/pages/notifications/notifications_model.dart b/lib/view/pages/notifications/notifications_model.dart index c9953c2a..1ae652d9 100644 --- a/lib/view/pages/notifications/notifications_model.dart +++ b/lib/view/pages/notifications/notifications_model.dart @@ -1,9 +1,9 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; class NotificationsModel extends SafeChangeNotifier { - NotificationsModel(SettingsService service) + NotificationsModel(GSettingsService service) : _notificationSettings = service.lookup(schemaNotifications) { _notificationSettings?.addListener(notifyListeners); } @@ -16,7 +16,7 @@ class NotificationsModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _notificationSettings; + final GnomeSettings? _notificationSettings; // Global section @@ -46,7 +46,7 @@ class NotificationsModel extends SafeChangeNotifier { } class AppNotificationsModel extends SafeChangeNotifier { - AppNotificationsModel(this.appId, SettingsService service) + AppNotificationsModel(this.appId, GSettingsService service) : _appNotificationSettings = service.lookup(_appSchemaId, path: _getPath(appId)) { _appNotificationSettings?.addListener(notifyListeners); @@ -61,7 +61,7 @@ class AppNotificationsModel extends SafeChangeNotifier { } final String appId; - final Settings? _appNotificationSettings; + final GnomeSettings? _appNotificationSettings; static String _getPath(String appId) { return '/${_appSchemaId.replaceAll('.', '/')}/$appId/'; diff --git a/lib/view/pages/notifications/notifications_page.dart b/lib/view/pages/notifications/notifications_page.dart index 9667775f..54e30627 100644 --- a/lib/view/pages/notifications/notifications_page.dart +++ b/lib/view/pages/notifications/notifications_page.dart @@ -1,19 +1,19 @@ import 'package:flutter/widgets.dart'; import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/notifications/app_notifications_section.dart'; import 'package:settings/view/pages/notifications/global_notifications_section.dart'; import 'package:settings/view/pages/notifications/notifications_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class NotificationsPage extends StatelessWidget { const NotificationsPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (_) => NotificationsModel(getService()), + create: (_) => NotificationsModel(di()), child: const NotificationsPage(), ); diff --git a/lib/view/pages/page_items.dart b/lib/view/pages/page_items.dart index a756db8b..30ae286e 100644 --- a/lib/view/pages/page_items.dart +++ b/lib/view/pages/page_items.dart @@ -25,7 +25,7 @@ import 'package:settings/view/pages/search/search_page.dart'; import 'package:settings/view/pages/settings_page_item.dart'; import 'package:settings/view/pages/sound/sound_page.dart'; import 'package:settings/view/pages/wallpaper/wallpaper_page.dart'; -import 'package:yaru_icons/yaru_icons.dart'; +import 'package:yaru/yaru.dart'; List getPageItems(BuildContext context) => [ SettingsPageItem( diff --git a/lib/view/pages/power/battery_section.dart b/lib/view/pages/power/battery_section.dart index c4d2b21c..59a1d468 100644 --- a/lib/view/pages/power/battery_section.dart +++ b/lib/view/pages/power/battery_section.dart @@ -5,10 +5,9 @@ import 'package:settings/l10n/l10n.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/power/battery_model.dart'; import 'package:settings/view/pages/power/battery_widgets.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; import 'package:upower/upower.dart'; +import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; class BatterySection extends StatefulWidget { const BatterySection({super.key}); @@ -30,7 +29,7 @@ class _BatterySectionState extends State { super.initState(); final model = context.read(); - model.init(getService()); + model.init(di()); } @override diff --git a/lib/view/pages/power/lid_close_model.dart b/lib/view/pages/power/lid_close_model.dart index 61dfab4f..074d9b93 100644 --- a/lib/view/pages/power/lid_close_model.dart +++ b/lib/view/pages/power/lid_close_model.dart @@ -1,17 +1,17 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/power/lid_close_action.dart'; +import 'package:yaru/yaru.dart'; const _lidCloseBatteryActionKey = 'lid-close-battery-action'; const _lidCloseAcActionKey = 'lid-close-ac-action'; class LidCloseModel extends SafeChangeNotifier { - LidCloseModel(SettingsService settings) + LidCloseModel(GSettingsService settings) : _daemonSettings = settings.lookup(schemaSettingsDaemonPowerPlugin) { _daemonSettings?.addListener(notifyListeners); } - final Settings? _daemonSettings; + final GnomeSettings? _daemonSettings; @override void dispose() { diff --git a/lib/view/pages/power/lid_close_section.dart b/lib/view/pages/power/lid_close_section.dart index b0bba231..16ed316d 100644 --- a/lib/view/pages/power/lid_close_section.dart +++ b/lib/view/pages/power/lid_close_section.dart @@ -2,19 +2,18 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/power/lid_close_action.dart'; import 'package:settings/view/pages/power/lid_close_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class LidCloseSection extends StatelessWidget { const LidCloseSection({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => LidCloseModel(getService()), + create: (_) => LidCloseModel(di()), child: const LidCloseSection(), ); } diff --git a/lib/view/pages/power/power_profile_section.dart b/lib/view/pages/power/power_profile_section.dart index ec566f77..e88bda1d 100644 --- a/lib/view/pages/power/power_profile_section.dart +++ b/lib/view/pages/power/power_profile_section.dart @@ -7,15 +7,15 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/power/power_profile_model.dart'; import 'package:settings/view/pages/power/power_profile_widgets.dart'; import 'package:settings/view/pages/power/power_profile_x.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class PowerProfileSection extends StatefulWidget { const PowerProfileSection({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => PowerProfileModel(getService()), + create: (_) => PowerProfileModel(di()), child: const PowerProfileSection(), ); } diff --git a/lib/view/pages/power/power_profile_x.dart b/lib/view/pages/power/power_profile_x.dart index 5bb52e9a..4aa85bf7 100644 --- a/lib/view/pages/power/power_profile_x.dart +++ b/lib/view/pages/power/power_profile_x.dart @@ -3,7 +3,6 @@ import 'package:settings/l10n/l10n.dart'; import 'package:settings/services/power_profile_service.dart'; import 'package:settings/utils.dart'; import 'package:yaru/yaru.dart'; -import 'package:yaru_icons/yaru_icons.dart'; extension PowerProfileX on PowerProfile { String localize(AppLocalizations l10n) { diff --git a/lib/view/pages/power/power_settings_dialogs.dart b/lib/view/pages/power/power_settings_dialogs.dart index 82f562c7..16b6a0a7 100644 --- a/lib/view/pages/power/power_settings_dialogs.dart +++ b/lib/view/pages/power/power_settings_dialogs.dart @@ -7,14 +7,14 @@ import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/power/power_settings.dart'; import 'package:settings/view/pages/power/power_settings_model.dart'; import 'package:settings/view/pages/settings_simple_dialog.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; Future showAutomaticSuspendDialog(BuildContext context) async { return showDialog( context: context, builder: (_) => ChangeNotifierProvider.value( - value: getService(), + value: di(), child: const AutomaticSuspendDialog(), ), ); diff --git a/lib/view/pages/power/power_settings_model.dart b/lib/view/pages/power/power_settings_model.dart index 82ba9d45..9e543a95 100644 --- a/lib/view/pages/power/power_settings_model.dart +++ b/lib/view/pages/power/power_settings_model.dart @@ -4,16 +4,16 @@ import 'package:nm/nm.dart'; import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/services/bluetooth_service.dart'; import 'package:settings/services/power_settings_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/power/power_settings.dart'; +import 'package:yaru/yaru.dart'; const _kDaemonSchema = 'org.gnome.settings-daemon.plugins.power'; const _kSessionSchema = 'org.gnome.desktop.session'; class SuspendModel extends SafeChangeNotifier { SuspendModel({ - required SettingsService settings, - required PowerSettingsService power, + required GSettingsService settings, + required PowerGSettingsService power, required BluetoothService bluetooth, required NetworkManagerClient network, }) : _daemonSettings = settings.lookup(_kDaemonSchema), @@ -25,11 +25,11 @@ class SuspendModel extends SafeChangeNotifier { _sessionSettings?.addListener(notifyListeners); } - final Settings? _daemonSettings; - final Settings? _sessionSettings; + final GnomeSettings? _daemonSettings; + final GnomeSettings? _sessionSettings; final BluetoothService _bluetoothService; final NetworkManagerClient _networkManager; - final PowerSettingsService _powerService; + final PowerGSettingsService _powerService; StreamSubscription? _airplaneMode; StreamSubscription? _screenBrightness; StreamSubscription? _keyboardBrightness; diff --git a/lib/view/pages/power/power_settings_section.dart b/lib/view/pages/power/power_settings_section.dart index cd08d1a9..97c939b5 100644 --- a/lib/view/pages/power/power_settings_section.dart +++ b/lib/view/pages/power/power_settings_section.dart @@ -5,7 +5,6 @@ import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/services/bluetooth_service.dart'; import 'package:settings/services/power_settings_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/duration_dropdown_button.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_slider_row.dart'; @@ -13,9 +12,8 @@ import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/power/power_settings.dart'; import 'package:settings/view/pages/power/power_settings_dialogs.dart'; import 'package:settings/view/pages/power/power_settings_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class PowerSettingsSection extends StatefulWidget { const PowerSettingsSection({super.key}); @@ -23,10 +21,10 @@ class PowerSettingsSection extends StatefulWidget { static Widget create(BuildContext context) { return ChangeNotifierProvider( create: (_) => SuspendModel( - settings: getService(), - power: getService(), - bluetooth: getService(), - network: getService(), + settings: di(), + power: di(), + bluetooth: di(), + network: di(), ), child: const PowerSettingsSection(), ); diff --git a/lib/view/pages/power/suspend_model.dart b/lib/view/pages/power/suspend_model.dart index 2c48a2c4..90f65f52 100644 --- a/lib/view/pages/power/suspend_model.dart +++ b/lib/view/pages/power/suspend_model.dart @@ -1,13 +1,13 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/power/suspend.dart'; +import 'package:yaru/yaru.dart'; const _showBatteryPercentageKey = 'show-battery-percentage'; const _powerButtonActionKey = 'power-button-action'; class SuspendModel extends SafeChangeNotifier { - SuspendModel(SettingsService settings) + SuspendModel(GSettingsService settings) : _daemonSettings = settings.lookup(schemaSettingsDaemonPowerPlugin), _interfaceSettings = settings.lookup(schemaInterface) { _daemonSettings?.addListener(notifyListeners); @@ -21,8 +21,8 @@ class SuspendModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _daemonSettings; - final Settings? _interfaceSettings; + final GnomeSettings? _daemonSettings; + final GnomeSettings? _interfaceSettings; bool? get showBatteryPercentage => _interfaceSettings?.boolValue(_showBatteryPercentageKey); diff --git a/lib/view/pages/power/suspend_section.dart b/lib/view/pages/power/suspend_section.dart index 59e451cc..61c08326 100644 --- a/lib/view/pages/power/suspend_section.dart +++ b/lib/view/pages/power/suspend_section.dart @@ -2,13 +2,12 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/power/suspend.dart'; import 'package:settings/view/pages/power/suspend_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class SuspendSection extends StatefulWidget { const SuspendSection({super.key}); @@ -16,7 +15,7 @@ class SuspendSection extends StatefulWidget { static Widget create(BuildContext context) { return ChangeNotifierProvider( create: (_) => SuspendModel( - getService(), + di(), ), child: const SuspendSection(), ); diff --git a/lib/view/pages/privacy/connectivity_page.dart b/lib/view/pages/privacy/connectivity_page.dart index 01c60f2f..1b4232ff 100644 --- a/lib/view/pages/privacy/connectivity_page.dart +++ b/lib/view/pages/privacy/connectivity_page.dart @@ -8,13 +8,13 @@ import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/privacy/connectivity_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; class ConnectivityPage extends StatefulWidget { const ConnectivityPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (_) => ConnectivityModel(getService()), + create: (_) => ConnectivityModel(di()), child: const ConnectivityPage(), ); diff --git a/lib/view/pages/privacy/house_keeping_page.dart b/lib/view/pages/privacy/house_keeping_page.dart index 0c7c9312..759e1a54 100644 --- a/lib/view/pages/privacy/house_keeping_page.dart +++ b/lib/view/pages/privacy/house_keeping_page.dart @@ -3,24 +3,22 @@ import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/services/house_keeping_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/section_description.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_slider_row.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/privacy/privacy_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class HouseKeepingPage extends StatelessWidget { const HouseKeepingPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( create: (_) => PrivacyModel( - getService(), - getService(), + di(), + di(), ), child: const HouseKeepingPage(), ); diff --git a/lib/view/pages/privacy/location_model.dart b/lib/view/pages/privacy/location_model.dart index 71823cae..64928985 100644 --- a/lib/view/pages/privacy/location_model.dart +++ b/lib/view/pages/privacy/location_model.dart @@ -1,15 +1,15 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; const _enabledKey = 'enabled'; class LocationModel extends SafeChangeNotifier { - LocationModel(SettingsService service) + LocationModel(GSettingsService service) : _locationSettings = service.lookup(schemaLocation) { _locationSettings?.addListener(notifyListeners); } - final Settings? _locationSettings; + final GnomeSettings? _locationSettings; bool? get enabled => _locationSettings?.getValue(_enabledKey); set enabled(bool? value) { diff --git a/lib/view/pages/privacy/location_page.dart b/lib/view/pages/privacy/location_page.dart index aa432518..def414cf 100644 --- a/lib/view/pages/privacy/location_page.dart +++ b/lib/view/pages/privacy/location_page.dart @@ -2,14 +2,14 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/link.dart'; import 'package:settings/view/common/section_description.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/privacy/location_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; const kPrivacyUrl = 'https://location.services.mozilla.com/privacy'; @@ -18,7 +18,7 @@ class LocationPage extends StatelessWidget { static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (_) => LocationModel(getService()), + create: (_) => LocationModel(di()), child: const LocationPage(), ); diff --git a/lib/view/pages/privacy/privacy_model.dart b/lib/view/pages/privacy/privacy_model.dart index 421e1ca3..371bd768 100644 --- a/lib/view/pages/privacy/privacy_model.dart +++ b/lib/view/pages/privacy/privacy_model.dart @@ -1,7 +1,7 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; import 'package:settings/services/house_keeping_service.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; const _removeOldTrashFilesKey = 'remove-old-trash-files'; const _removeOldTempFilesKey = 'remove-old-temp-files'; @@ -11,13 +11,13 @@ const _oldFilesAgeKey = 'old-files-age'; class PrivacyModel extends SafeChangeNotifier { PrivacyModel( - SettingsService settingsService, + GSettingsService settingsService, HouseKeepingService houseKeepingService, ) : _privacySettings = settingsService.lookup(schemaPrivacy), _houseKeepingService = houseKeepingService { _privacySettings?.addListener(notifyListeners); } - final Settings? _privacySettings; + final GnomeSettings? _privacySettings; final HouseKeepingService _houseKeepingService; @override diff --git a/lib/view/pages/privacy/privacy_page.dart b/lib/view/pages/privacy/privacy_page.dart index a7d0e5e7..c2e62692 100644 --- a/lib/view/pages/privacy/privacy_page.dart +++ b/lib/view/pages/privacy/privacy_page.dart @@ -7,8 +7,7 @@ import 'package:settings/view/pages/privacy/location_page.dart'; import 'package:settings/view/pages/privacy/reporting_page.dart'; import 'package:settings/view/pages/privacy/screen_saver_page.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class PrivacyPage extends StatelessWidget { const PrivacyPage({super.key}); diff --git a/lib/view/pages/privacy/reporting_model.dart b/lib/view/pages/privacy/reporting_model.dart index c9a61f7f..548cdec6 100644 --- a/lib/view/pages/privacy/reporting_model.dart +++ b/lib/view/pages/privacy/reporting_model.dart @@ -1,16 +1,16 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/yaru.dart'; const _reportTechnicalProblemsKey = 'report-technical-problems'; const _sendSoftwareUsageStatsKey = 'send-software-usage-stats'; class ReportingModel extends SafeChangeNotifier { - ReportingModel(SettingsService settingsService) - : _privacySettings = settingsService.lookup(schemaPrivacy) { + ReportingModel(GSettingsService service) + : _privacySettings = service.lookup(schemaPrivacy) { _privacySettings?.addListener(notifyListeners); } - final Settings? _privacySettings; + final GnomeSettings? _privacySettings; @override void dispose() { diff --git a/lib/view/pages/privacy/reporting_page.dart b/lib/view/pages/privacy/reporting_page.dart index e34788c2..cf5096c9 100644 --- a/lib/view/pages/privacy/reporting_page.dart +++ b/lib/view/pages/privacy/reporting_page.dart @@ -2,14 +2,14 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/link.dart'; import 'package:settings/view/common/section_description.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/privacy/reporting_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; const kUbuntuReportingLink = 'https://ubuntu.com/legal/data-privacy'; @@ -18,7 +18,7 @@ class ReportingPage extends StatelessWidget { static Widget create(BuildContext context) => ChangeNotifierProvider( create: (_) => ReportingModel( - getService(), + di(), ), child: const ReportingPage(), ); diff --git a/lib/view/pages/privacy/screen_saver_model.dart b/lib/view/pages/privacy/screen_saver_model.dart index 3331f8b2..a4eb7882 100644 --- a/lib/view/pages/privacy/screen_saver_model.dart +++ b/lib/view/pages/privacy/screen_saver_model.dart @@ -1,7 +1,7 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/power/power_settings.dart'; +import 'package:yaru/yaru.dart'; const _lockEnabledKey = 'lock-enabled'; const _lockDelayKey = 'lock-delay'; @@ -10,7 +10,7 @@ const _showInLockScreenKey = 'show-in-lock-screen'; const _idleDelayKey = 'idle-delay'; class ScreenSaverModel extends SafeChangeNotifier { - ScreenSaverModel(SettingsService service) + ScreenSaverModel(GSettingsService service) : _screenSaverSettings = service.lookup(schemaScreenSaver), _notificationSettings = service.lookup(schemaNotifications), _sessionSettings = service.lookup(schemaSession) { @@ -18,9 +18,9 @@ class ScreenSaverModel extends SafeChangeNotifier { _notificationSettings?.addListener(notifyListeners); _sessionSettings?.addListener(notifyListeners); } - final Settings? _screenSaverSettings; - final Settings? _notificationSettings; - final Settings? _sessionSettings; + final GnomeSettings? _screenSaverSettings; + final GnomeSettings? _notificationSettings; + final GnomeSettings? _sessionSettings; @override void dispose() { diff --git a/lib/view/pages/privacy/screen_saver_page.dart b/lib/view/pages/privacy/screen_saver_page.dart index 575b1c20..f9516cd3 100644 --- a/lib/view/pages/privacy/screen_saver_page.dart +++ b/lib/view/pages/privacy/screen_saver_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/duration_dropdown_button.dart'; import 'package:settings/view/common/section_description.dart'; import 'package:settings/view/common/settings_section.dart'; @@ -10,15 +9,15 @@ import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/power/power_settings.dart'; import 'package:settings/view/pages/privacy/screen_saver_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class ScreenSaverPage extends StatelessWidget { const ScreenSaverPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (_) => ScreenSaverModel(getService()), + create: (_) => ScreenSaverModel(di()), child: const ScreenSaverPage(), ); diff --git a/lib/view/pages/region_and_language/region_and_language_page.dart b/lib/view/pages/region_and_language/region_and_language_page.dart index cf4a79ac..954bb528 100644 --- a/lib/view/pages/region_and_language/region_and_language_page.dart +++ b/lib/view/pages/region_and_language/region_and_language_page.dart @@ -7,16 +7,15 @@ import 'package:settings/services/locale_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/pages/region_and_language/region_and_language_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class RegionAndLanguagePage extends StatefulWidget { const RegionAndLanguagePage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( create: (context) => RegionAndLanguageModel( - localeService: getService(), + localeService: di(), ), child: const RegionAndLanguagePage(), ); diff --git a/lib/view/pages/removable_media/removable_media_model.dart b/lib/view/pages/removable_media/removable_media_model.dart index 9cd0e69a..98e30ad5 100644 --- a/lib/view/pages/removable_media/removable_media_model.dart +++ b/lib/view/pages/removable_media/removable_media_model.dart @@ -1,7 +1,7 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/settings.dart'; enum MimeTypeBehavior { ignore, @@ -24,7 +24,7 @@ enum MimeTypeBehavior { } class RemovableMediaModel extends SafeChangeNotifier { - RemovableMediaModel(SettingsService service) + RemovableMediaModel(GSettingsService service) : _removableMediaSettings = service.lookup(schemaMediaHandling) { _removableMediaSettings?.addListener(notifyListeners); } @@ -50,7 +50,7 @@ class RemovableMediaModel extends SafeChangeNotifier { 'x-content/win32-software': 'Windows Software', }; - final Settings? _removableMediaSettings; + final GnomeSettings? _removableMediaSettings; @override void dispose() { diff --git a/lib/view/pages/removable_media/removable_media_page.dart b/lib/view/pages/removable_media/removable_media_page.dart index d75c0d60..ed37d43e 100644 --- a/lib/view/pages/removable_media/removable_media_page.dart +++ b/lib/view/pages/removable_media/removable_media_page.dart @@ -2,19 +2,18 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/removable_media/removable_media_model.dart'; import 'package:settings/view/pages/settings_page.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class RemovableMediaPage extends StatelessWidget { const RemovableMediaPage({super.key}); static Widget create(BuildContext context) => ChangeNotifierProvider( - create: (_) => RemovableMediaModel(getService()), + create: (_) => RemovableMediaModel(di()), child: const RemovableMediaPage(), ); diff --git a/lib/view/pages/settings_alert_dialog.dart b/lib/view/pages/settings_alert_dialog.dart index c7cbf287..502e203d 100644 --- a/lib/view/pages/settings_alert_dialog.dart +++ b/lib/view/pages/settings_alert_dialog.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:settings/constants.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class SettingsAlertDialog extends StatelessWidget { const SettingsAlertDialog({ diff --git a/lib/view/pages/settings_page.dart b/lib/view/pages/settings_page.dart index ec3900b6..c3e3c0eb 100644 --- a/lib/view/pages/settings_page.dart +++ b/lib/view/pages/settings_page.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; /// Wraps a list of children widget in a [Column], [SingleChildScrollView] and [Padding]. /// The padding defaults to [kYaruPagePadding] diff --git a/lib/view/pages/settings_simple_dialog.dart b/lib/view/pages/settings_simple_dialog.dart index 49221bf2..568f708a 100644 --- a/lib/view/pages/settings_simple_dialog.dart +++ b/lib/view/pages/settings_simple_dialog.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class SettingsSimpleDialog extends StatelessWidget { /// Create a [SimpleDialog] with a close button diff --git a/lib/view/pages/sound/sound_model.dart b/lib/view/pages/sound/sound_model.dart index 91838dc3..a4fb0538 100644 --- a/lib/view/pages/sound/sound_model.dart +++ b/lib/view/pages/sound/sound_model.dart @@ -1,9 +1,9 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/schemas/schemas.dart'; -import 'package:settings/services/settings_service.dart'; +import 'package:yaru/settings.dart'; class SoundModel extends SafeChangeNotifier { - SoundModel(SettingsService service) + SoundModel(GSettingsService service) : _soundSettings = service.lookup(schemaSound) { _soundSettings?.addListener(notifyListeners); } @@ -17,7 +17,7 @@ class SoundModel extends SafeChangeNotifier { super.dispose(); } - final Settings? _soundSettings; + final GnomeSettings? _soundSettings; // System section diff --git a/lib/view/pages/sound/sound_page.dart b/lib/view/pages/sound/sound_page.dart index b791dfef..dbf0beff 100644 --- a/lib/view/pages/sound/sound_page.dart +++ b/lib/view/pages/sound/sound_page.dart @@ -2,19 +2,19 @@ import 'package:flutter/widgets.dart'; import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/common/settings_section.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; import 'package:settings/view/pages/settings_page.dart'; import 'package:settings/view/pages/sound/sound_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class SoundPage extends StatelessWidget { const SoundPage({super.key}); static Widget create(BuildContext context) { return ChangeNotifierProvider( - create: (_) => SoundModel(getService()), + create: (_) => SoundModel(di()), child: const SoundPage(), ); } diff --git a/lib/view/pages/wallpaper/color_shading_option_row.dart b/lib/view/pages/wallpaper/color_shading_option_row.dart index e47055fe..b222fd7d 100644 --- a/lib/view/pages/wallpaper/color_shading_option_row.dart +++ b/lib/view/pages/wallpaper/color_shading_option_row.dart @@ -4,7 +4,7 @@ import 'package:provider/provider.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/utils.dart'; import 'package:settings/view/pages/wallpaper/wallpaper_model.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; class ColorShadingOptionRow extends StatelessWidget { const ColorShadingOptionRow({ diff --git a/lib/view/pages/wallpaper/wallpaper_model.dart b/lib/view/pages/wallpaper/wallpaper_model.dart index c14197bd..bf263816 100644 --- a/lib/view/pages/wallpaper/wallpaper_model.dart +++ b/lib/view/pages/wallpaper/wallpaper_model.dart @@ -9,8 +9,8 @@ import 'package:safe_change_notifier/safe_change_notifier.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/schemas/schemas.dart'; import 'package:settings/services/display/display_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/pages/displays/displays_configuration.dart'; +import 'package:yaru/yaru.dart'; const gnomeWallpaperSuffix = 'file://'; const _gnomeUserWallpaperLocation = '/.local/share/backgrounds/'; @@ -24,14 +24,14 @@ const _unsplashUrl = 'https://source.unsplash.com/1920x1080/daily'; class WallpaperModel extends SafeChangeNotifier { WallpaperModel( - SettingsService wallpaperService, + GSettingsService wallpaperService, DisplayService displayService, ) : _wallpaperSettings = wallpaperService.lookup(schemaBackground) { _wallpaperSettings?.addListener(notifyListeners); _displaysConfigurationSubscription = displayService.monitorStateStream .listen((configuration) => _displaysConfiguration = configuration); } - final Settings? _wallpaperSettings; + final GnomeSettings? _wallpaperSettings; static const _pictureUriKey = 'picture-uri'; static const _pictureUriDarkKey = 'picture-uri-dark'; diff --git a/lib/view/pages/wallpaper/wallpaper_page.dart b/lib/view/pages/wallpaper/wallpaper_page.dart index 153fd4e9..4ea31927 100644 --- a/lib/view/pages/wallpaper/wallpaper_page.dart +++ b/lib/view/pages/wallpaper/wallpaper_page.dart @@ -6,14 +6,12 @@ import 'package:provider/provider.dart'; import 'package:settings/constants.dart'; import 'package:settings/l10n/l10n.dart'; import 'package:settings/services/display/display_service.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/utils.dart'; import 'package:settings/view/pages/settings_page.dart'; import 'package:settings/view/pages/wallpaper/color_shading_option_row.dart'; import 'package:settings/view/pages/wallpaper/wallpaper_model.dart'; -import 'package:ubuntu_service/ubuntu_service.dart'; -import 'package:yaru_icons/yaru_icons.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:watch_it/watch_it.dart'; +import 'package:yaru/yaru.dart'; class WallpaperPage extends StatelessWidget { const WallpaperPage({super.key}); @@ -30,8 +28,8 @@ class WallpaperPage extends StatelessWidget { static Widget create(BuildContext context) => ChangeNotifierProvider( create: (_) => WallpaperModel( - getService(), - getService(), + di(), + di(), ), child: const WallpaperPage(), ); @@ -39,11 +37,11 @@ class WallpaperPage extends StatelessWidget { @override Widget build(BuildContext context) { final model = context.watch(); - + final theme = Theme.of(context); const headlineInsets = EdgeInsets.only(top: 30, left: 10, right: 10, bottom: 10); - final pictureUri = Theme.of(context).brightness == Brightness.light + final pictureUri = theme.brightness == Brightness.light ? model.pictureUri : model.pictureUriDark; @@ -110,9 +108,9 @@ class WallpaperPage extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 5), child: Text( model.caption, - style: Theme.of(context).textTheme.bodySmall!.copyWith( - fontStyle: FontStyle.italic, - ), + style: theme.textTheme.bodySmall!.copyWith( + fontStyle: FontStyle.italic, + ), ), ), ), @@ -148,13 +146,13 @@ class WallpaperPage extends StatelessWidget { trailing: YaruOptionButton( onPressed: () async { await model.refreshUrlWallpaper().then((_) { - if (model.errorMessage.isNotEmpty) { + if (model.errorMessage.isNotEmpty && context.mounted) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text( model.errorMessage, style: TextStyle( - color: Theme.of(context).primaryColor, + color: theme.primaryColor, ), ), ), @@ -266,7 +264,7 @@ class _AddWallpaperTile extends StatelessWidget { child: Container( decoration: BoxDecoration( border: Border.all( - color: Theme.of(context).colorScheme.onSurface.withOpacity(0.15), + color: theme.colorScheme.onSurface.withOpacity(0.15), ), borderRadius: BorderRadius.circular(8), ), @@ -380,7 +378,7 @@ class _RemoveWallpaperButton extends StatelessWidget { child: Container( decoration: ShapeDecoration( shape: const CircleBorder(), - color: Theme.of(context).colorScheme.background.withOpacity(0.9), + color: Theme.of(context).colorScheme.surface.withOpacity(0.9), ), child: InkWell( borderRadius: BorderRadius.circular(100), diff --git a/pubspec.yaml b/pubspec.yaml index ac512f3b..1b12509a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: bluez: ^0.8.0 collection: ^1.17.1 dbus: ^0.7.8 - duration: ^3.0.11 + duration: ^4.0.3 equatable: ^2.0.3 file_selector: ^1.0.0 file_selector_linux: ^0.9.2 @@ -26,9 +26,9 @@ dependencies: flutter_spinbox: ^0.13.1 flutter_svg: ^2.0.7 gsettings: ^0.2.8 - handy_window: ^0.3.1 + handy_window: ^0.4.0 http: ^1.1.0 - intl: ^0.18.0 + intl: ^0.19.0 linux_datetime_service: git: https://github.com/ubuntu-flutter-community/linux_datetime linux_system_info: @@ -36,30 +36,31 @@ dependencies: url: https://github.com/Feichtmeier/linux_system_info.git ref: update_dbus_ffi_and_xml meta: ^1.9.1 - mime: ^1.0.2 + mime: ^2.0.0 nm: ^0.5.0 path_provider: ^2.0.9 pdf: ^3.7.4 - provider: ^6.0.2 - safe_change_notifier: ^0.3.1 - ubuntu_service: ^0.3.1 + provider: ^6.1.2 + safe_change_notifier: ^0.4.0 udisks: ^0.4.0 upower: ^0.7.0 url_launcher: ^6.0.20 + watch_it: ^1.4.2 xdg_accounts: git: https://github.com/ubuntu-flutter-community/xdg_accounts xml: ^6.2.2 - yaru: ^1.2.1 - yaru_icons: ^2.4.0 - yaru_widgets: ^3.5.0 + yaru: + git: + url: https://github.com/ubuntu/yaru.dart + ref: reorganize dev_dependencies: build_runner: ^2.1.2 - flutter_lints: ^3.0.1 + flutter_lints: ^5.0.0 flutter_test: sdk: flutter - mockingjay: ^0.5.0 + mockingjay: ^0.6.0 mockito: ^5.0.16 flutter: diff --git a/test/hostname_service_test.mocks.dart b/test/hostname_service_test.mocks.dart index e02aa77a..8f046931 100644 --- a/test/hostname_service_test.mocks.dart +++ b/test/hostname_service_test.mocks.dart @@ -1,8 +1,9 @@ -// Mocks generated by Mockito 5.0.16 from annotations +// Mocks generated by Mockito 5.4.4 from annotations // in settings/test/hostname_service_test.dart. // Do not manually edit this file. -import 'dart:async' as _i7; +// ignore_for_file: no_leading_underscores_for_library_prefixes +import 'dart:async' as _i8; import 'package:dbus/src/dbus_client.dart' as _i2; import 'package:dbus/src/dbus_introspect.dart' as _i4; @@ -10,27 +11,73 @@ import 'package:dbus/src/dbus_method_response.dart' as _i5; import 'package:dbus/src/dbus_remote_object.dart' as _i6; import 'package:dbus/src/dbus_value.dart' as _i3; import 'package:mockito/mockito.dart' as _i1; +import 'package:mockito/src/dummies.dart' as _i7; +// ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values // ignore_for_file: avoid_setters_without_getters // ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use +// ignore_for_file: deprecated_member_use_from_same_package // ignore_for_file: implementation_imports // ignore_for_file: invalid_use_of_visible_for_testing_member // ignore_for_file: prefer_const_constructors // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class -class _FakeDBusClient_0 extends _i1.Fake implements _i2.DBusClient {} +class _FakeDBusClient_0 extends _i1.SmartFake implements _i2.DBusClient { + _FakeDBusClient_0( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} -class _FakeDBusObjectPath_1 extends _i1.Fake implements _i3.DBusObjectPath {} +class _FakeDBusObjectPath_1 extends _i1.SmartFake + implements _i3.DBusObjectPath { + _FakeDBusObjectPath_1( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} -class _FakeDBusIntrospectNode_2 extends _i1.Fake - implements _i4.DBusIntrospectNode {} +class _FakeDBusIntrospectNode_2 extends _i1.SmartFake + implements _i4.DBusIntrospectNode { + _FakeDBusIntrospectNode_2( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} -class _FakeDBusValue_3 extends _i1.Fake implements _i3.DBusValue {} +class _FakeDBusValue_3 extends _i1.SmartFake implements _i3.DBusValue { + _FakeDBusValue_3( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} -class _FakeDBusMethodSuccessResponse_4 extends _i1.Fake - implements _i5.DBusMethodSuccessResponse {} +class _FakeDBusMethodSuccessResponse_4 extends _i1.SmartFake + implements _i5.DBusMethodSuccessResponse { + _FakeDBusMethodSuccessResponse_4( + Object parent, + Invocation parentInvocation, + ) : super( + parent, + parentInvocation, + ); +} /// A class which mocks [DBusRemoteObject]. /// @@ -41,73 +88,166 @@ class MockDBusRemoteObject extends _i1.Mock implements _i6.DBusRemoteObject { } @override - _i2.DBusClient get client => (super.noSuchMethod(Invocation.getter(#client), - returnValue: _FakeDBusClient_0()) as _i2.DBusClient); + _i2.DBusClient get client => (super.noSuchMethod( + Invocation.getter(#client), + returnValue: _FakeDBusClient_0( + this, + Invocation.getter(#client), + ), + ) as _i2.DBusClient); + @override - String get name => - (super.noSuchMethod(Invocation.getter(#name), returnValue: '') as String); + String get name => (super.noSuchMethod( + Invocation.getter(#name), + returnValue: _i7.dummyValue( + this, + Invocation.getter(#name), + ), + ) as String); + @override - _i3.DBusObjectPath get path => (super.noSuchMethod(Invocation.getter(#path), - returnValue: _FakeDBusObjectPath_1()) as _i3.DBusObjectPath); + _i3.DBusObjectPath get path => (super.noSuchMethod( + Invocation.getter(#path), + returnValue: _FakeDBusObjectPath_1( + this, + Invocation.getter(#path), + ), + ) as _i3.DBusObjectPath); + @override - _i7.Stream<_i6.DBusPropertiesChangedSignal> get propertiesChanged => - (super.noSuchMethod(Invocation.getter(#propertiesChanged), - returnValue: Stream<_i6.DBusPropertiesChangedSignal>.empty()) - as _i7.Stream<_i6.DBusPropertiesChangedSignal>); + _i8.Stream<_i6.DBusPropertiesChangedSignal> get propertiesChanged => + (super.noSuchMethod( + Invocation.getter(#propertiesChanged), + returnValue: _i8.Stream<_i6.DBusPropertiesChangedSignal>.empty(), + ) as _i8.Stream<_i6.DBusPropertiesChangedSignal>); + @override set propertiesChanged( - _i7.Stream<_i6.DBusPropertiesChangedSignal>? _propertiesChanged) => + _i8.Stream<_i6.DBusPropertiesChangedSignal>? _propertiesChanged) => super.noSuchMethod( - Invocation.setter(#propertiesChanged, _propertiesChanged), - returnValueForMissingStub: null); + Invocation.setter( + #propertiesChanged, + _propertiesChanged, + ), + returnValueForMissingStub: null, + ); + @override - _i7.Future<_i4.DBusIntrospectNode> introspect() => (super.noSuchMethod( - Invocation.method(#introspect, []), - returnValue: - Future<_i4.DBusIntrospectNode>.value(_FakeDBusIntrospectNode_2())) - as _i7.Future<_i4.DBusIntrospectNode>); + _i8.Future<_i4.DBusIntrospectNode> introspect() => (super.noSuchMethod( + Invocation.method( + #introspect, + [], + ), + returnValue: + _i8.Future<_i4.DBusIntrospectNode>.value(_FakeDBusIntrospectNode_2( + this, + Invocation.method( + #introspect, + [], + ), + )), + ) as _i8.Future<_i4.DBusIntrospectNode>); + @override - _i7.Future<_i3.DBusValue> getProperty(String? interface, String? name, - {_i3.DBusSignature? signature}) => + _i8.Future<_i3.DBusValue> getProperty( + String? interface, + String? name, { + _i3.DBusSignature? signature, + }) => (super.noSuchMethod( - Invocation.method( - #getProperty, [interface, name], {#signature: signature}), - returnValue: Future<_i3.DBusValue>.value(_FakeDBusValue_3())) - as _i7.Future<_i3.DBusValue>); - @override - _i7.Future> getAllProperties(String? interface) => - (super.noSuchMethod(Invocation.method(#getAllProperties, [interface]), - returnValue: Future>.value( - {})) - as _i7.Future>); + Invocation.method( + #getProperty, + [ + interface, + name, + ], + {#signature: signature}, + ), + returnValue: _i8.Future<_i3.DBusValue>.value(_FakeDBusValue_3( + this, + Invocation.method( + #getProperty, + [ + interface, + name, + ], + {#signature: signature}, + ), + )), + ) as _i8.Future<_i3.DBusValue>); + @override - _i7.Future setProperty( - String? interface, String? name, _i3.DBusValue? value) => + _i8.Future> getAllProperties(String? interface) => (super.noSuchMethod( - Invocation.method(#setProperty, [interface, name, value]), - returnValue: Future.value(), - returnValueForMissingStub: Future.value()) as _i7.Future); + Invocation.method( + #getAllProperties, + [interface], + ), + returnValue: _i8.Future>.value( + {}), + ) as _i8.Future>); + @override - _i7.Future<_i5.DBusMethodSuccessResponse> callMethod( - String? interface, String? name, Iterable<_i3.DBusValue>? values, - {_i3.DBusSignature? replySignature, - bool? noReplyExpected = false, - bool? noAutoStart = false, - bool? allowInteractiveAuthorization = false}) => + _i8.Future setProperty( + String? interface, + String? name, + _i3.DBusValue? value, + ) => (super.noSuchMethod( - Invocation.method(#callMethod, [ - interface, - name, - values - ], { - #replySignature: replySignature, - #noReplyExpected: noReplyExpected, - #noAutoStart: noAutoStart, - #allowInteractiveAuthorization: allowInteractiveAuthorization - }), - returnValue: Future<_i5.DBusMethodSuccessResponse>.value( - _FakeDBusMethodSuccessResponse_4())) - as _i7.Future<_i5.DBusMethodSuccessResponse>); + Invocation.method( + #setProperty, + [ + interface, + name, + value, + ], + ), + returnValue: _i8.Future.value(), + returnValueForMissingStub: _i8.Future.value(), + ) as _i8.Future); + @override - String toString() => super.toString(); + _i8.Future<_i5.DBusMethodSuccessResponse> callMethod( + String? interface, + String? name, + Iterable<_i3.DBusValue>? values, { + _i3.DBusSignature? replySignature, + bool? noReplyExpected = false, + bool? noAutoStart = false, + bool? allowInteractiveAuthorization = false, + }) => + (super.noSuchMethod( + Invocation.method( + #callMethod, + [ + interface, + name, + values, + ], + { + #replySignature: replySignature, + #noReplyExpected: noReplyExpected, + #noAutoStart: noAutoStart, + #allowInteractiveAuthorization: allowInteractiveAuthorization, + }, + ), + returnValue: _i8.Future<_i5.DBusMethodSuccessResponse>.value( + _FakeDBusMethodSuccessResponse_4( + this, + Invocation.method( + #callMethod, + [ + interface, + name, + values, + ], + { + #replySignature: replySignature, + #noReplyExpected: noReplyExpected, + #noAutoStart: noAutoStart, + #allowInteractiveAuthorization: allowInteractiveAuthorization, + }, + ), + )), + ) as _i8.Future<_i5.DBusMethodSuccessResponse>); } diff --git a/test/widgets/app_theme_test.dart b/test/widgets/app_theme_test.dart index 9659761c..52effa96 100644 --- a/test/widgets/app_theme_test.dart +++ b/test/widgets/app_theme_test.dart @@ -2,18 +2,17 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; -import 'package:settings/services/settings_service.dart'; import 'package:settings/view/app_theme.dart'; import 'package:yaru/yaru.dart'; import 'app_theme_test.mocks.dart'; -@GenerateMocks([Settings]) +@GenerateMocks([GnomeSettings]) void main() { test( 'App Theme Dark Mode Test', () { - final Settings settings = MockSettings(); + final settings = MockGnomeSettings(); final theme = AppTheme(settings); when(settings.setValue('gtk-theme', 'Yaru-dark')).thenAnswer( @@ -28,7 +27,7 @@ void main() { test( 'App Theme Light Mode Test', () { - final Settings settings = MockSettings(); + final settings = MockGnomeSettings(); final theme = AppTheme(settings); when(settings.setValue('gtk-theme', 'Yaru')).thenAnswer( diff --git a/test/widgets/app_theme_test.mocks.dart b/test/widgets/app_theme_test.mocks.dart index 3ba90844..52a08edf 100644 --- a/test/widgets/app_theme_test.mocks.dart +++ b/test/widgets/app_theme_test.mocks.dart @@ -1,74 +1,150 @@ -// Mocks generated by Mockito 5.0.16 from annotations +// Mocks generated by Mockito 5.4.4 from annotations // in settings/test/widgets/app_theme_test.dart. // Do not manually edit this file. +// ignore_for_file: no_leading_underscores_for_library_prefixes import 'dart:async' as _i4; import 'dart:ui' as _i3; import 'package:mockito/mockito.dart' as _i1; -import 'package:settings/services/settings_service.dart' as _i2; +import 'package:yaru/src/settings/settings_service.dart' as _i2; +// ignore_for_file: type=lint // ignore_for_file: avoid_redundant_argument_values // ignore_for_file: avoid_setters_without_getters // ignore_for_file: comment_references +// ignore_for_file: deprecated_member_use +// ignore_for_file: deprecated_member_use_from_same_package // ignore_for_file: implementation_imports // ignore_for_file: invalid_use_of_visible_for_testing_member // ignore_for_file: prefer_const_constructors // ignore_for_file: unnecessary_parenthesis // ignore_for_file: camel_case_types +// ignore_for_file: subtype_of_sealed_class -/// A class which mocks [Settings]. +/// A class which mocks [GnomeSettings]. /// /// See the documentation for Mockito's code generation for more information. -class MockSettings extends _i1.Mock implements _i2.Settings { - MockSettings() { +class MockGnomeSettings extends _i1.Mock implements _i2.GnomeSettings { + MockGnomeSettings() { _i1.throwOnMissingStub(this); } @override - void addListener(_i3.VoidCallback? listener) => - super.noSuchMethod(Invocation.method(#addListener, [listener]), - returnValueForMissingStub: null); + void addListener(_i3.VoidCallback? listener) => super.noSuchMethod( + Invocation.method( + #addListener, + [listener], + ), + returnValueForMissingStub: null, + ); + @override - void removeListener(_i3.VoidCallback? listener) => - super.noSuchMethod(Invocation.method(#removeListener, [listener]), - returnValueForMissingStub: null); + void removeListener(_i3.VoidCallback? listener) => super.noSuchMethod( + Invocation.method( + #removeListener, + [listener], + ), + returnValueForMissingStub: null, + ); + @override - void notifyListeners() => - super.noSuchMethod(Invocation.method(#notifyListeners, []), - returnValueForMissingStub: null); + void notifyListeners() => super.noSuchMethod( + Invocation.method( + #notifyListeners, + [], + ), + returnValueForMissingStub: null, + ); + @override - void dispose() => super.noSuchMethod(Invocation.method(#dispose, []), - returnValueForMissingStub: null); + _i4.Future dispose() => (super.noSuchMethod( + Invocation.method( + #dispose, + [], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override - bool? boolValue(String? key) => - (super.noSuchMethod(Invocation.method(#boolValue, [key])) as bool?); + bool? boolValue(String? key) => (super.noSuchMethod(Invocation.method( + #boolValue, + [key], + )) as bool?); + @override - int? intValue(String? key) => - (super.noSuchMethod(Invocation.method(#intValue, [key])) as int?); + int? intValue(String? key) => (super.noSuchMethod(Invocation.method( + #intValue, + [key], + )) as int?); + @override - double? doubleValue(String? key) => - (super.noSuchMethod(Invocation.method(#doubleValue, [key])) as double?); + double? doubleValue(String? key) => (super.noSuchMethod(Invocation.method( + #doubleValue, + [key], + )) as double?); + @override - String? stringValue(String? key) => - (super.noSuchMethod(Invocation.method(#stringValue, [key])) as String?); + String? stringValue(String? key) => (super.noSuchMethod(Invocation.method( + #stringValue, + [key], + )) as String?); + @override Iterable? stringArrayValue(String? key) => - (super.noSuchMethod(Invocation.method(#stringArrayValue, [key])) - as Iterable?); + (super.noSuchMethod(Invocation.method( + #stringArrayValue, + [key], + )) as Iterable?); + @override - T? getValue(String? key) => - (super.noSuchMethod(Invocation.method(#getValue, [key])) as T?); + T? getValue(String? key) => (super.noSuchMethod(Invocation.method( + #getValue, + [key], + )) as T?); + @override - _i4.Future setValue(String? key, T? value) => - (super.noSuchMethod(Invocation.method(#setValue, [key, value]), - returnValue: Future.value(), - returnValueForMissingStub: Future.value()) as _i4.Future); + _i4.Future setValue( + String? key, + T? value, + ) => + (super.noSuchMethod( + Invocation.method( + #setValue, + [ + key, + value, + ], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override - _i4.Future resetValue(String? key) => - (super.noSuchMethod(Invocation.method(#resetValue, [key]), - returnValue: Future.value(), - returnValueForMissingStub: Future.value()) as _i4.Future); + _i4.Future setUint32Value( + String? key, + int? value, + ) => + (super.noSuchMethod( + Invocation.method( + #setUint32Value, + [ + key, + value, + ], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); + @override - String toString() => super.toString(); + _i4.Future resetValue(String? key) => (super.noSuchMethod( + Invocation.method( + #resetValue, + [key], + ), + returnValue: _i4.Future.value(), + returnValueForMissingStub: _i4.Future.value(), + ) as _i4.Future); } diff --git a/test/widgets/yaru_check_box_row_test.dart b/test/widgets/yaru_check_box_row_test.dart index f96fce82..be7aadfe 100644 --- a/test/widgets/yaru_check_box_row_test.dart +++ b/test/widgets/yaru_check_box_row_test.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:settings/view/common/yaru_checkbox_row.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; void main() { testWidgets('YaruCheckboxRow Test', (tester) async { diff --git a/test/widgets/yaru_extra_options_row_test.dart b/test/widgets/yaru_extra_options_row_test.dart index 72f3819f..605839ff 100644 --- a/test/widgets/yaru_extra_options_row_test.dart +++ b/test/widgets/yaru_extra_options_row_test.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:settings/view/common/yaru_extra_option_row.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; void main() { testWidgets( diff --git a/test/widgets/yaru_switch_row_test.dart b/test/widgets/yaru_switch_row_test.dart index bb3fb5cc..71f6fe11 100644 --- a/test/widgets/yaru_switch_row_test.dart +++ b/test/widgets/yaru_switch_row_test.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:settings/view/common/yaru_switch_row.dart'; -import 'package:yaru_widgets/yaru_widgets.dart'; +import 'package:yaru/yaru.dart'; void main() { testWidgets('- YaruSwitchRow Test', (tester) async {