From f2f39ec7622f602748e15eff7c45c4432e81724f Mon Sep 17 00:00:00 2001 From: Sasha Krstev Date: Wed, 26 Jul 2023 14:44:57 +0200 Subject: [PATCH] Removed unused imports --- lib/feature/auth/login/ui/login_page.dart | 4 +-- lib/feature/auth/login/ui/login_view.dart | 2 -- .../auth/router/auth_router_delegate.dart | 9 ++--- .../signup/ui/password/password_page.dart | 3 +- .../signup/ui/password/password_view.dart | 10 ++---- .../signup/ui/username/username_page.dart | 1 - .../signup/ui/username/username_view.dart | 4 +-- .../home/router/home_router_delegate.dart | 8 ++--- .../home/task_detail/ui/task_detail_page.dart | 1 - .../home/task_list/ui/task_list_page.dart | 7 ++-- .../home/task_list/ui/task_list_view.dart | 36 ++++++------------- .../widget/settings_theme_switch_widget.dart | 7 ++-- lib/log/file_logger.dart | 4 +-- .../theme/theme_change_notifier.dart | 16 +++------ .../tasks/tasks_repository_test.dart | 30 ++++++---------- test_driver/platform_comm_test_widget.dart | 5 ++- 16 files changed, 44 insertions(+), 103 deletions(-) diff --git a/lib/feature/auth/login/ui/login_page.dart b/lib/feature/auth/login/ui/login_page.dart index ba0a1da..37e69c3 100644 --- a/lib/feature/auth/login/ui/login_page.dart +++ b/lib/feature/auth/login/ui/login_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_template/di/service_locator.dart'; import 'package:flutter_template/feature/auth/login/bloc/login_cubit.dart'; @@ -12,8 +11,7 @@ class LoginPage extends Page { return CupertinoPageRoute( settings: this, builder: (BuildContext context) => BlocProvider( - create: (BuildContext context) => - LoginCubit(serviceLocator.get()), + create: (BuildContext context) => LoginCubit(serviceLocator.get()), child: LoginView(), ), ); diff --git a/lib/feature/auth/login/ui/login_view.dart b/lib/feature/auth/login/ui/login_view.dart index 154f565..32629c1 100644 --- a/lib/feature/auth/login/ui/login_view.dart +++ b/lib/feature/auth/login/ui/login_view.dart @@ -1,11 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_template/feature/auth/login/bloc/login_cubit.dart'; import 'package:flutter_template/feature/auth/router/auth_router_delegate.dart'; import 'package:flutter_template/resources/localization/localization_notifier.dart'; -import 'package:provider/provider.dart'; class LoginView extends StatelessWidget { final bool sessionExpiredRedirect; diff --git a/lib/feature/auth/router/auth_router_delegate.dart b/lib/feature/auth/router/auth_router_delegate.dart index 7b9abb4..6e060f7 100644 --- a/lib/feature/auth/router/auth_router_delegate.dart +++ b/lib/feature/auth/router/auth_router_delegate.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_template/feature/auth/login/ui/login_page.dart'; import 'package:flutter_template/feature/auth/router/auth_nav_state.dart'; @@ -11,8 +10,7 @@ class AuthRouterDelegate extends RouterDelegate AuthNavState _authNavState; - AuthRouterDelegate(this.navigatorKey, - [this._authNavState = const AuthNavState.login()]); + AuthRouterDelegate(this.navigatorKey, [this._authNavState = const AuthNavState.login()]); void setLoginNavState() { _authNavState = AuthNavState.login(); @@ -36,10 +34,7 @@ class AuthRouterDelegate extends RouterDelegate pages: [ LoginPage(), if (_authNavState is SignupUsernameNavState) UsernamePage(), - if (_authNavState is SignupPasswordNavState) ...[ - UsernamePage(), - PasswordPage() - ], + if (_authNavState is SignupPasswordNavState) ...[UsernamePage(), PasswordPage()], ], onPopPage: (route, result) { _authNavState = _authNavState.prevState ?? AuthNavState.login(); diff --git a/lib/feature/auth/signup/ui/password/password_page.dart b/lib/feature/auth/signup/ui/password/password_page.dart index 84bb1f1..5144d3e 100644 --- a/lib/feature/auth/signup/ui/password/password_page.dart +++ b/lib/feature/auth/signup/ui/password/password_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_template/feature/auth/signup/ui/password/password_view.dart'; class PasswordPage extends Page { @@ -10,4 +9,4 @@ class PasswordPage extends Page { builder: (BuildContext context) => PasswordView(), ); } -} \ No newline at end of file +} diff --git a/lib/feature/auth/signup/ui/password/password_view.dart b/lib/feature/auth/signup/ui/password/password_view.dart index ee25627..9bf0e03 100644 --- a/lib/feature/auth/signup/ui/password/password_view.dart +++ b/lib/feature/auth/signup/ui/password/password_view.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_template/feature/auth/signup/bloc/signup_cubit.dart'; @@ -6,11 +5,9 @@ import 'package:flutter_template/feature/auth/signup/bloc/signup_cubit.dart'; class PasswordView extends StatelessWidget { final bool sessionExpiredRedirect; final TextEditingController _passwordController = TextEditingController(); - final TextEditingController _confirmPasswordController = - TextEditingController(); + final TextEditingController _confirmPasswordController = TextEditingController(); - PasswordView({Key? key, this.sessionExpiredRedirect = false}) - : super(key: key); + PasswordView({Key? key, this.sessionExpiredRedirect = false}) : super(key: key); @override Widget build(BuildContext context) { @@ -54,8 +51,7 @@ class PasswordView extends StatelessWidget { } _onSignUpPressed(BuildContext context) { - BlocProvider.of(context) - .onPasswordEntered(_passwordController.text); + BlocProvider.of(context).onPasswordEntered(_passwordController.text); BlocProvider.of(context).onUserSignup(); } } diff --git a/lib/feature/auth/signup/ui/username/username_page.dart b/lib/feature/auth/signup/ui/username/username_page.dart index f0fdbf4..38b8c1e 100644 --- a/lib/feature/auth/signup/ui/username/username_page.dart +++ b/lib/feature/auth/signup/ui/username/username_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_template/feature/auth/signup/ui/username/username_view.dart'; class UsernamePage extends Page { diff --git a/lib/feature/auth/signup/ui/username/username_view.dart b/lib/feature/auth/signup/ui/username/username_view.dart index bc93946..0937a5a 100644 --- a/lib/feature/auth/signup/ui/username/username_view.dart +++ b/lib/feature/auth/signup/ui/username/username_view.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_template/feature/auth/router/auth_router_delegate.dart'; import 'package:flutter_template/feature/auth/signup/bloc/signup_cubit.dart'; @@ -54,7 +53,6 @@ class UsernameView extends StatelessWidget { } void _onNextPressed(BuildContext context) { - BlocProvider.of(context) - .onUsernameEntered(_usernameController.text); + BlocProvider.of(context).onUsernameEntered(_usernameController.text); } } diff --git a/lib/feature/home/router/home_router_delegate.dart b/lib/feature/home/router/home_router_delegate.dart index f0b06f6..2ee3b2b 100644 --- a/lib/feature/home/router/home_router_delegate.dart +++ b/lib/feature/home/router/home_router_delegate.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_template/feature/home/router/home_nav_state.dart'; import 'package:flutter_template/feature/home/task_detail/ui/task_detail_page.dart'; @@ -10,8 +9,7 @@ class HomeRouterDelegate extends RouterDelegate with ChangeNotifier, PopNavigatorRouterDelegateMixin { final GlobalKey navigatorKey; - HomeRouterDelegate(this.navigatorKey, - [this.homeNavState = const HomeNavState.taskList()]); + HomeRouterDelegate(this.navigatorKey, [this.homeNavState = const HomeNavState.taskList()]); HomeNavState homeNavState = HomeNavState.taskList(); bool isSettingsShownState = false; @@ -21,7 +19,7 @@ class HomeRouterDelegate extends RouterDelegate notifyListeners(); } - void setIsSettingsShownState(bool isShown){ + void setIsSettingsShownState(bool isShown) { isSettingsShownState = isShown; notifyListeners(); } @@ -37,7 +35,7 @@ class HomeRouterDelegate extends RouterDelegate if (isSettingsShownState) SettingsPage() ], onPopPage: (route, result) { - if(isSettingsShownState) isSettingsShownState = false; + if (isSettingsShownState) isSettingsShownState = false; homeNavState = HomeNavState.taskList(); return route.didPop(result); }); diff --git a/lib/feature/home/task_detail/ui/task_detail_page.dart b/lib/feature/home/task_detail/ui/task_detail_page.dart index 17153e5..4cf2ddb 100644 --- a/lib/feature/home/task_detail/ui/task_detail_page.dart +++ b/lib/feature/home/task_detail/ui/task_detail_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_template/feature/home/task_detail/ui/task_detail_view.dart'; import 'package:flutter_template/model/task/task.dart'; diff --git a/lib/feature/home/task_list/ui/task_list_page.dart b/lib/feature/home/task_list/ui/task_list_page.dart index 4e4c81e..0840fbe 100644 --- a/lib/feature/home/task_list/ui/task_list_page.dart +++ b/lib/feature/home/task_list/ui/task_list_page.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_template/data/repository/tasks/tasks_repository.dart'; import 'package:flutter_template/di/service_locator.dart'; @@ -13,9 +12,9 @@ class TaskListPage extends Page { return CupertinoPageRoute( settings: this, builder: (BuildContext context) => BlocProvider( - create: (BuildContext context) => TaskListBloc( - serviceLocator.get(), - serviceLocator.get())..add(LoadTasks()), + create: (BuildContext context) => + TaskListBloc(serviceLocator.get(), serviceLocator.get()) + ..add(LoadTasks()), child: TaskListView(), ), ); diff --git a/lib/feature/home/task_list/ui/task_list_view.dart b/lib/feature/home/task_list/ui/task_list_view.dart index 7eabbc1..ae30344 100644 --- a/lib/feature/home/task_list/ui/task_list_view.dart +++ b/lib/feature/home/task_list/ui/task_list_view.dart @@ -9,19 +9,14 @@ import 'package:flutter_template/feature/home/create_task/ui/create_task_view.da import 'package:flutter_template/feature/home/router/home_router_delegate.dart'; import 'package:flutter_template/feature/home/task_list/bloc/task_list_bloc.dart'; import 'package:flutter_template/log/log.dart'; -import 'package:flutter_template/model/task/task.dart'; -import 'package:flutter_template/model/task/task_group.dart'; -import 'package:flutter_template/model/task/task_status.dart'; import 'package:flutter_template/resources/colors/color_palette.dart'; import 'package:flutter_template/resources/styles/text_styles.dart'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; -import 'package:provider/provider.dart'; class TaskListView extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocConsumer( - listener: (context, state) { + return BlocConsumer(listener: (context, state) { // do stuff here based on TasksCubit's state if (state is TaskOpFailure) { //todo display an error dialog here on top of the presented UI @@ -46,9 +41,7 @@ class TaskListView extends StatelessWidget { title: Text(AppLocalizations.of(context)!.settings), onTap: () async { Navigator.of(context).pop(); - context - .read() - .setIsSettingsShownState(true); + context.read().setIsSettingsShownState(true); }, ), ListTile( @@ -102,8 +95,7 @@ class TaskListView extends StatelessWidget { } } - Widget _taskListWidget( - BuildContext context, Map> tasksGrouped) { + Widget _taskListWidget(BuildContext context, Map> tasksGrouped) { return Scrollbar( child: SingleChildScrollView( physics: AlwaysScrollableScrollPhysics(), @@ -114,8 +106,7 @@ class TaskListView extends StatelessWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - for (TaskGroup key in tasksGrouped.keys) - getItem(key, tasksGrouped[key]!, context) + for (TaskGroup key in tasksGrouped.keys) getItem(key, tasksGrouped[key]!, context) ], ), ), @@ -128,8 +119,7 @@ class TaskListView extends StatelessWidget { } Widget _emptyListWidget(BuildContext context) { - return Center( - child: Text(AppLocalizations.of(context)!.task_list_no_tasks_message)); + return Center(child: Text(AppLocalizations.of(context)!.task_list_no_tasks_message)); } Widget _errorWidget(var state, BuildContext context) { @@ -154,8 +144,7 @@ class TaskListView extends StatelessWidget { }); } - ReorderableListView getItem( - TaskGroup key, List tasks, BuildContext context) { + ReorderableListView getItem(TaskGroup key, List tasks, BuildContext context) { final taskListBloc = BlocProvider.of(context); return ReorderableListView( @@ -186,11 +175,9 @@ class TaskListView extends StatelessWidget { _TaskListItem( key: ValueKey(key.id + task.id), task: task, - onClick: (task) => context - .read() - .setTaskDetailNavState(task), - onStatusChange: (task, isDone) => taskListBloc - .add(isDone ? TaskCompleted(task) : TaskReopened(task)), + onClick: (task) => context.read().setTaskDetailNavState(task), + onStatusChange: (task, isDone) => + taskListBloc.add(isDone ? TaskCompleted(task) : TaskReopened(task)), ), ], onReorder: (oldIndex, newIndex) { @@ -225,9 +212,8 @@ class _TaskListItem extends StatelessWidget { trailing: Icon(Icons.reorder), title: task.status == TaskStatus.done ? Text(task.title, - style: TextStyle( - decoration: TextDecoration.lineThrough, - color: ColorPalette.textGray)) + style: + TextStyle(decoration: TextDecoration.lineThrough, color: ColorPalette.textGray)) : Text(task.title), onTap: () => onClick(task), ), diff --git a/lib/feature/settings/ui/widget/settings_theme_switch_widget.dart b/lib/feature/settings/ui/widget/settings_theme_switch_widget.dart index 75eba96..eb34e4d 100644 --- a/lib/feature/settings/ui/widget/settings_theme_switch_widget.dart +++ b/lib/feature/settings/ui/widget/settings_theme_switch_widget.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; import 'package:flutter_template/resources/theme/theme_change_notifier.dart'; import 'package:provider/provider.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; @@ -50,8 +49,7 @@ class _SettingsThemeSwitchState extends State { } void updateTheme(BuildContext context) { - final bool currentBrightness = - Theme.of(context).brightness == Brightness.dark; + final bool currentBrightness = Theme.of(context).brightness == Brightness.dark; if (currentBrightness != isDarkTheme) { setState(() { isDarkTheme = currentBrightness; @@ -63,8 +61,7 @@ class _SettingsThemeSwitchState extends State { setState(() { isDarkTheme = val; }); - final themeNotifier = - Provider.of(context, listen: false); + final themeNotifier = Provider.of(context, listen: false); await themeNotifier.toggleTheme(); } } diff --git a/lib/log/file_logger.dart b/lib/log/file_logger.dart index 843f619..050e607 100644 --- a/lib/log/file_logger.dart +++ b/lib/log/file_logger.dart @@ -1,4 +1,3 @@ -import 'dart:async'; import 'dart:core'; import 'dart:io'; @@ -29,8 +28,7 @@ class FileLogger implements AbstractLogger { /// Creates a new file logger with file in the application's /// documents directory named flutter_logs_{platform}_{flavor}.txt - factory FileLogger.withDefaultFile() => - FileLogger(globalLogFileLock, () async { + factory FileLogger.withDefaultFile() => FileLogger(globalLogFileLock, () async { final flavor = FlavorConfig.isDev() ? "dev" : "stg"; final platform = Platform.isIOS ? "iOS" : "Android"; diff --git a/lib/resources/theme/theme_change_notifier.dart b/lib/resources/theme/theme_change_notifier.dart index 2c2d28b..3f91a5b 100644 --- a/lib/resources/theme/theme_change_notifier.dart +++ b/lib/resources/theme/theme_change_notifier.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_template/di/service_locator.dart'; import 'package:flutter_template/feature/settings/preferences_helper.dart'; @@ -11,8 +10,7 @@ class ThemeChangeNotifier extends ChangeNotifier { ThemeChangeNotifier.lightTheme() : _isDarkTheme = false; ThemeChangeNotifier.systemTheme(BuildContext context) - : _isDarkTheme = - MediaQuery.platformBrightnessOf(context) == Brightness.dark; + : _isDarkTheme = MediaQuery.platformBrightnessOf(context) == Brightness.dark; ThemeChangeNotifier.fromThemeMode(BuildContext context, ThemeMode themeMode) : _isDarkTheme = themeMode == ThemeMode.dark || @@ -25,26 +23,20 @@ class ThemeChangeNotifier extends ChangeNotifier { Future setDarkTheme() async { _isDarkTheme = true; - await serviceLocator - .get() - .setIsDarkThemePreferred(_isDarkTheme); + await serviceLocator.get().setIsDarkThemePreferred(_isDarkTheme); notifyListeners(); } Future setLightTheme() async { _isDarkTheme = false; - await serviceLocator - .get() - .setIsDarkThemePreferred(_isDarkTheme); + await serviceLocator.get().setIsDarkThemePreferred(_isDarkTheme); notifyListeners(); } /// Toggles the current theme value. Returns `true` if dark is the new theme. Future toggleTheme() async { _isDarkTheme = !_isDarkTheme; - await serviceLocator - .get() - .setIsDarkThemePreferred(_isDarkTheme); + await serviceLocator.get().setIsDarkThemePreferred(_isDarkTheme); notifyListeners(); return _isDarkTheme; } diff --git a/test/data/repository/tasks/tasks_repository_test.dart b/test/data/repository/tasks/tasks_repository_test.dart index e4d9bc8..2d02dd7 100644 --- a/test/data/repository/tasks/tasks_repository_test.dart +++ b/test/data/repository/tasks/tasks_repository_test.dart @@ -4,8 +4,6 @@ import 'package:flutter_template/data/repository/tasks/tasks_cache_data_source.d import 'package:flutter_template/data/repository/tasks/tasks_data_source.dart'; import 'package:flutter_template/data/repository/tasks/tasks_repository.dart'; import 'package:flutter_template/model/task/task_event.dart'; -import 'package:flutter_template/model/task/task_group.dart'; -import 'package:flutter_template/model/task/task_status.dart'; import 'package:flutter_test/flutter_test.dart'; import 'tasks_data_source_base_test.dart'; @@ -29,15 +27,13 @@ void main() { await tasksRepository.teardown(); }); - executeTasksDataSourceBaseTests(() => - TasksRepository(cache: tasksCacheDataSource, remote: stubDataSource)); + executeTasksDataSourceBaseTests( + () => TasksRepository(cache: tasksCacheDataSource, remote: stubDataSource)); group("UpdatesStreamTests", () { test("IsStreamBroadcast", () { - Stream> taskGroupUpdatesStream = - tasksRepository.taskGroupUpdatesStream; - Stream taskEventUpdatesStream = - tasksRepository.taskEventUpdatesStream; + Stream> taskGroupUpdatesStream = tasksRepository.taskGroupUpdatesStream; + Stream taskEventUpdatesStream = tasksRepository.taskEventUpdatesStream; expect(taskGroupUpdatesStream.isBroadcast, isTrue); expect(taskEventUpdatesStream.isBroadcast, isTrue); @@ -55,10 +51,8 @@ void main() { test("TaskStatusChangeEvent-UpdatesStream", () async { expect( tasksRepository.taskEventUpdatesStream, - emitsInOrder([ - TaskCreatedEvent(task2), - TaskStatusChangedEvent('task-2', TaskStatus.done) - ])); + emitsInOrder( + [TaskCreatedEvent(task2), TaskStatusChangedEvent('task-2', TaskStatus.done)])); await tasksRepository.createTask(task2); await tasksRepository.completeTask('task-2'); @@ -113,8 +107,7 @@ void main() { }, timeout: Timeout(Duration(seconds: 1))); test("UpdatesStream-OpenCloseOpen", () async { - Stream> updatesStream = - tasksRepository.taskGroupUpdatesStream; + Stream> updatesStream = tasksRepository.taskGroupUpdatesStream; StreamSubscription>? subscription; subscription = updatesStream.listen(expectAsync1((taskGroups) { print(taskGroups); @@ -134,8 +127,7 @@ void main() { print(taskGroups); expect(taskGroups, List.of([taskGroup1])); })); - var subscription = tasksRepository.taskGroupUpdatesStream - .listen(expectAsync1((taskGroups) { + var subscription = tasksRepository.taskGroupUpdatesStream.listen(expectAsync1((taskGroups) { print(taskGroups); fail("Must not be called."); }, count: 0)); @@ -148,10 +140,8 @@ void main() { test("Distinct results-UpdatesStream", () async { expect( tasksRepository.taskEventUpdatesStream, - emitsInOrder([ - TaskCreatedEvent(task2), - TaskStatusChangedEvent('task-2', TaskStatus.done) - ])); + emitsInOrder( + [TaskCreatedEvent(task2), TaskStatusChangedEvent('task-2', TaskStatus.done)])); await tasksRepository.createTask(task2); await tasksRepository.createTask(task2); diff --git a/test_driver/platform_comm_test_widget.dart b/test_driver/platform_comm_test_widget.dart index 44e62dd..0347857 100644 --- a/test_driver/platform_comm_test_widget.dart +++ b/test_driver/platform_comm_test_widget.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_template/di/service_locator.dart'; import 'package:flutter_template/model/task/task_group.dart'; import 'package:flutter_template/platform_comm/platform_comm.dart'; @@ -24,8 +23,8 @@ class _PlatformCommTestWidgetState extends State { Future callPlatformMethods() async { final platformComm = serviceLocator.get(); final message = await platformComm.echoMessage('echo'); - final taskGroup = await platformComm - .echoObject(TaskGroup('TG-id', 'Test group', List.of(['1', '2']))); + final taskGroup = + await platformComm.echoObject(TaskGroup('TG-id', 'Test group', List.of(['1', '2']))); setState(() { echoMessage = message;