diff --git a/.circleci/config.yml b/.circleci/config.yml index 6b7e97f..8ed2f71 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,4 +8,5 @@ jobs: - run: flutter doctor - run: flutter pub get - run: flutter pub run build_runner build + - run: flutter analyze lib - run: flutter test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0f4d492..458874d 100644 --- a/.gitignore +++ b/.gitignore @@ -33,7 +33,7 @@ migrate_working_dir/ .pub/ /build/ *.g.dart -*.mock.dart +*.mocks.dart # Symbolication related app.*.symbols diff --git a/lib/Utils/Constants.dart b/lib/Utils/constants.dart similarity index 100% rename from lib/Utils/Constants.dart rename to lib/Utils/constants.dart diff --git a/lib/Utils/currencyUtils.dart b/lib/Utils/currency_utils.dart similarity index 100% rename from lib/Utils/currencyUtils.dart rename to lib/Utils/currency_utils.dart diff --git a/lib/Utils/SelectionType.dart b/lib/Utils/selection_type.dart similarity index 100% rename from lib/Utils/SelectionType.dart rename to lib/Utils/selection_type.dart diff --git a/lib/Utils/ViewState.dart b/lib/Utils/view_state.dart similarity index 100% rename from lib/Utils/ViewState.dart rename to lib/Utils/view_state.dart diff --git a/lib/Utils/ViewUtils.dart b/lib/Utils/view_utils.dart similarity index 100% rename from lib/Utils/ViewUtils.dart rename to lib/Utils/view_utils.dart diff --git a/lib/BaseViewModel.dart b/lib/base_viewmodel.dart similarity index 94% rename from lib/BaseViewModel.dart rename to lib/base_viewmodel.dart index f41095e..e7c4e26 100644 --- a/lib/BaseViewModel.dart +++ b/lib/base_viewmodel.dart @@ -1,6 +1,6 @@ import 'package:stacked/stacked.dart'; -import 'Utils/ViewState.dart'; +import 'Utils/view_state.dart'; abstract class BaseViewmodel extends BaseViewModel{ diff --git a/lib/BaseStatelessWidget.dart b/lib/base_widget.dart similarity index 90% rename from lib/BaseStatelessWidget.dart rename to lib/base_widget.dart index 406bf20..1bd296e 100644 --- a/lib/BaseStatelessWidget.dart +++ b/lib/base_widget.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:stacked/stacked.dart'; import 'package:toast/toast.dart'; -import 'BaseViewModel.dart'; -import 'Utils/Constants.dart'; -import 'Utils/ViewState.dart'; -import 'Utils/ViewUtils.dart'; +import 'base_viewmodel.dart'; +import 'Utils/constants.dart'; +import 'Utils/view_state.dart'; +import 'Utils/view_utils.dart'; abstract class BaseStatelessWidget extends StatelessWidget { @@ -16,6 +16,7 @@ abstract class BaseStatelessWidget Widget displayWidget(BuildContext context, T model, Widget? child); @override + // ignore: avoid_renaming_method_parameters Widget build(BuildContext parent) { ToastContext().init(parent); return Scaffold( diff --git a/lib/data/model/Currency.dart b/lib/data/model/currency.dart similarity index 100% rename from lib/data/model/Currency.dart rename to lib/data/model/currency.dart diff --git a/lib/data/network/app_dio.dart b/lib/data/network/app_dio.dart index 1a303a0..3b4c6df 100644 --- a/lib/data/network/app_dio.dart +++ b/lib/data/network/app_dio.dart @@ -1,3 +1,4 @@ +// ignore: depend_on_referenced_packages import 'package:dio/dio.dart'; class AppDio { diff --git a/lib/data/network/backupCurrencyApi.dart b/lib/data/network/backup_currency_api.dart similarity index 91% rename from lib/data/network/backupCurrencyApi.dart rename to lib/data/network/backup_currency_api.dart index cbc67a3..93605f8 100644 --- a/lib/data/network/backupCurrencyApi.dart +++ b/lib/data/network/backup_currency_api.dart @@ -1,11 +1,12 @@ +// ignore: depend_on_referenced_packages import 'package:dio/dio.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:retrofit/retrofit.dart'; -import '../model/Currency.dart'; +import '../model/currency.dart'; import 'app_dio.dart'; -part 'backupCurrencyApi.g.dart'; +part 'backup_currency_api.g.dart'; @RestApi(baseUrl: "https://api.frankfurter.app/") abstract class BackupCurrencyApi { diff --git a/lib/data/network/currencyApi.dart b/lib/data/network/currency_api.dart similarity index 89% rename from lib/data/network/currencyApi.dart rename to lib/data/network/currency_api.dart index 1b1a323..71ebda4 100644 --- a/lib/data/network/currencyApi.dart +++ b/lib/data/network/currency_api.dart @@ -1,15 +1,16 @@ +// ignore: depend_on_referenced_packages import 'package:dio/dio.dart'; import 'package:easy_cc_flutter/data/network/app_dio.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:retrofit/retrofit.dart'; -import '../model/Currency.dart'; +import '../model/currency.dart'; -part 'currencyApi.g.dart'; +part 'currency_api.g.dart'; @RestApi(baseUrl: "https://free.currencyconverterapi.com/api/v3/") abstract class CurrencyApi { - factory CurrencyApi(Dio dio) = _CurrencyApi; + factory CurrencyApi(Dio dio, {String baseUrl}) = _CurrencyApi; static const api = String.fromEnvironment('currencyApiKey'); static CurrencyApi create() { diff --git a/lib/data/network/safeApiCall.dart b/lib/data/network/safe_api_call.dart similarity index 94% rename from lib/data/network/safeApiCall.dart rename to lib/data/network/safe_api_call.dart index f8150eb..73647a9 100644 --- a/lib/data/network/safeApiCall.dart +++ b/lib/data/network/safe_api_call.dart @@ -1,5 +1,6 @@ import 'dart:io'; +// ignore: depend_on_referenced_packages import 'package:dio/dio.dart'; import 'package:retrofit/retrofit.dart'; diff --git a/lib/data/prefs/CurrencyPair.dart b/lib/data/prefs/currency_pair.dart similarity index 100% rename from lib/data/prefs/CurrencyPair.dart rename to lib/data/prefs/currency_pair.dart diff --git a/lib/data/prefs/PreferenceProvider.dart b/lib/data/prefs/preference_provider.dart similarity index 53% rename from lib/data/prefs/PreferenceProvider.dart rename to lib/data/prefs/preference_provider.dart index 5944d16..184920c 100644 --- a/lib/data/prefs/PreferenceProvider.dart +++ b/lib/data/prefs/preference_provider.dart @@ -1,9 +1,9 @@ import 'package:shared_preferences/shared_preferences.dart'; -import 'CurrencyPair.dart'; +import 'currency_pair.dart'; -const String CURRENCY_ONE = "conversion_one"; -const String CURRENCY_TWO = "conversion_two"; +const String currencyOne = "conversion_one"; +const String currencyTwo = "conversion_two"; class PreferenceProvider { late final SharedPreferences _prefs; @@ -12,13 +12,13 @@ class PreferenceProvider { } Future saveConversionPair(String s1, String s2) async { - await _prefs.setString(CURRENCY_ONE, s1); - await _prefs.setString(CURRENCY_TWO, s2); + await _prefs.setString(currencyOne, s1); + await _prefs.setString(currencyTwo, s2); } CurrencyPair getConversionPair() { - String? s1 = _prefs.getString(CURRENCY_ONE); - String? s2 = _prefs.getString(CURRENCY_TWO); + String? s1 = _prefs.getString(currencyOne); + String? s2 = _prefs.getString(currencyTwo); return CurrencyPair(s1, s2); } diff --git a/lib/data/repository/Repository.dart b/lib/data/repository/repository.dart similarity index 75% rename from lib/data/repository/Repository.dart rename to lib/data/repository/repository.dart index b317c22..b31d6f6 100644 --- a/lib/data/repository/Repository.dart +++ b/lib/data/repository/repository.dart @@ -1,5 +1,5 @@ -import '../model/Currency.dart'; -import '../prefs/CurrencyPair.dart'; +import '../model/currency.dart'; +import '../prefs/currency_pair.dart'; abstract class Repository { CurrencyPair getConversionPair(); diff --git a/lib/data/repository/RepositoryImpl.dart b/lib/data/repository/repository_impl.dart similarity index 74% rename from lib/data/repository/RepositoryImpl.dart rename to lib/data/repository/repository_impl.dart index 9b53afc..54ce8b8 100644 --- a/lib/data/repository/RepositoryImpl.dart +++ b/lib/data/repository/repository_impl.dart @@ -1,16 +1,16 @@ import 'dart:io'; -import 'package:easy_cc_flutter/Utils/currencyUtils.dart'; -import 'package:easy_cc_flutter/data/model/Currency.dart'; -import 'package:easy_cc_flutter/data/prefs/CurrencyPair.dart'; -import 'package:easy_cc_flutter/data/prefs/PreferenceProvider.dart'; +import 'package:easy_cc_flutter/Utils/currency_utils.dart'; +import 'package:easy_cc_flutter/data/model/currency.dart'; +import 'package:easy_cc_flutter/data/prefs/currency_pair.dart'; import '../../locator.dart'; import '../../main.dart'; -import '../network/backupCurrencyApi.dart'; -import '../network/currencyApi.dart'; -import '../network/safeApiCall.dart'; -import 'Repository.dart'; +import '../network/backup_currency_api.dart'; +import '../network/currency_api.dart'; +import '../network/safe_api_call.dart'; +import '../prefs/preference_provider.dart'; +import 'repository.dart'; class RepositoryImpl extends Repository with SafeApiCall { final PreferenceProvider _prefs = locator(); diff --git a/lib/Home.dart b/lib/home.dart similarity index 86% rename from lib/Home.dart rename to lib/home.dart index 400d048..a2fac5a 100644 --- a/lib/Home.dart +++ b/lib/home.dart @@ -1,14 +1,16 @@ -import 'package:easy_cc_flutter/MainViewModel.dart'; -import 'package:easy_cc_flutter/Utils/SelectionType.dart'; -import 'package:easy_cc_flutter/views/DropDownBox.dart'; -import 'package:easy_cc_flutter/views/EditText.dart'; +import 'package:easy_cc_flutter/main_view_model.dart'; +import 'package:easy_cc_flutter/Utils/selection_type.dart'; +import 'package:easy_cc_flutter/views/drop_down_box.dart'; +import 'package:easy_cc_flutter/views/converter_edit_text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'BaseStatelessWidget.dart'; -import 'Utils/Constants.dart'; +import 'base_widget.dart'; +import 'Utils/constants.dart'; class HomePage extends BaseStatelessWidget { + const HomePage({super.key}); + @override MainViewModel createViewModel() { return MainViewModel(); diff --git a/lib/locator.dart b/lib/locator.dart index 856e4f7..edb970c 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -1,11 +1,10 @@ -import 'package:dio/dio.dart'; -import 'package:easy_cc_flutter/MainViewModel.dart'; -import 'package:easy_cc_flutter/data/network/backupCurrencyApi.dart'; -import 'package:easy_cc_flutter/data/network/currencyApi.dart'; -import 'package:easy_cc_flutter/data/repository/RepositoryImpl.dart'; +import 'package:easy_cc_flutter/main_view_model.dart'; +import 'package:easy_cc_flutter/data/network/backup_currency_api.dart'; +import 'package:easy_cc_flutter/data/network/currency_api.dart'; +import 'package:easy_cc_flutter/data/repository/repository_impl.dart'; import 'package:get_it/get_it.dart'; -import 'data/prefs/PreferenceProvider.dart'; +import 'data/prefs/preference_provider.dart'; GetIt locator = GetIt.instance; diff --git a/lib/main.dart b/lib/main.dart index dce73c6..1b24838 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:logger/logger.dart'; -import 'Home.dart'; -import 'data/prefs/PreferenceProvider.dart'; +import 'data/prefs/preference_provider.dart'; +import 'home.dart'; import 'locator.dart'; var logger = Logger( @@ -36,7 +36,7 @@ class MyApp extends StatelessWidget { // is not restarted. primarySwatch: Colors.blue, ), - home: HomePage(), + home: const HomePage(), ); } } diff --git a/lib/MainViewModel.dart b/lib/main_view_model.dart similarity index 85% rename from lib/MainViewModel.dart rename to lib/main_view_model.dart index 2a04bb8..7dfb31b 100644 --- a/lib/MainViewModel.dart +++ b/lib/main_view_model.dart @@ -1,10 +1,10 @@ -import 'package:easy_cc_flutter/BaseViewModel.dart'; -import 'package:easy_cc_flutter/Utils/SelectionType.dart'; +import 'package:easy_cc_flutter/base_viewmodel.dart'; +import 'package:easy_cc_flutter/Utils/selection_type.dart'; -import 'Utils/Constants.dart'; -import 'data/prefs/CurrencyPair.dart'; -import 'data/repository/Repository.dart'; -import 'data/repository/RepositoryImpl.dart'; +import 'Utils/constants.dart'; +import 'data/prefs/currency_pair.dart'; +import 'data/repository/repository.dart'; +import 'data/repository/repository_impl.dart'; import 'locator.dart'; class MainViewModel extends BaseViewmodel { diff --git a/lib/views/EditText.dart b/lib/views/converter_edit_text.dart similarity index 96% rename from lib/views/EditText.dart rename to lib/views/converter_edit_text.dart index ddd18bd..bdf7289 100644 --- a/lib/views/EditText.dart +++ b/lib/views/converter_edit_text.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import '../Utils/Constants.dart'; +import '../Utils/constants.dart'; class ConverterEditText extends StatelessWidget { final String _hintText; diff --git a/lib/views/DropDownBox.dart b/lib/views/drop_down_box.dart similarity index 97% rename from lib/views/DropDownBox.dart rename to lib/views/drop_down_box.dart index 9a12795..fb307ae 100644 --- a/lib/views/DropDownBox.dart +++ b/lib/views/drop_down_box.dart @@ -1,7 +1,7 @@ import 'package:dropdown_search/dropdown_search.dart'; import 'package:flutter/material.dart'; -import '../Utils/Constants.dart'; +import '../Utils/constants.dart'; class DropDownBox extends StatelessWidget { final List _selection; diff --git a/test/unit_test/repository_test.dart b/test/unit_test/repository_test.dart index 53b2a30..db8d905 100644 --- a/test/unit_test/repository_test.dart +++ b/test/unit_test/repository_test.dart @@ -1,12 +1,13 @@ import 'dart:io'; +// ignore: depend_on_referenced_packages import 'package:dio/dio.dart'; -import 'package:easy_cc_flutter/data/model/Currency.dart'; -import 'package:easy_cc_flutter/data/network/backupCurrencyApi.dart'; -import 'package:easy_cc_flutter/data/network/currencyApi.dart'; -import 'package:easy_cc_flutter/data/prefs/CurrencyPair.dart'; -import 'package:easy_cc_flutter/data/prefs/PreferenceProvider.dart'; -import 'package:easy_cc_flutter/data/repository/RepositoryImpl.dart'; +import 'package:easy_cc_flutter/data/model/currency.dart'; +import 'package:easy_cc_flutter/data/network/backup_currency_api.dart'; +import 'package:easy_cc_flutter/data/network/currency_api.dart'; +import 'package:easy_cc_flutter/data/prefs/currency_pair.dart'; +import 'package:easy_cc_flutter/data/prefs/preference_provider.dart'; +import 'package:easy_cc_flutter/data/repository/repository_impl.dart'; import 'package:easy_cc_flutter/locator.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; diff --git a/test/unit_test/viewmodel_test.dart b/test/unit_test/viewmodel_test.dart index e341090..738f1af 100644 --- a/test/unit_test/viewmodel_test.dart +++ b/test/unit_test/viewmodel_test.dart @@ -1,15 +1,15 @@ import 'dart:io'; -import 'package:easy_cc_flutter/MainViewModel.dart'; -import 'package:easy_cc_flutter/Utils/SelectionType.dart'; -import 'package:easy_cc_flutter/data/model/Currency.dart'; -import 'package:easy_cc_flutter/data/prefs/CurrencyPair.dart'; -import 'package:easy_cc_flutter/data/repository/RepositoryImpl.dart'; +import 'package:easy_cc_flutter/main_view_model.dart'; +import 'package:easy_cc_flutter/Utils/selection_type.dart'; +import 'package:easy_cc_flutter/data/model/currency.dart'; +import 'package:easy_cc_flutter/data/prefs/currency_pair.dart'; +import 'package:easy_cc_flutter/data/repository/repository_impl.dart'; import 'package:easy_cc_flutter/locator.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; -import 'package:easy_cc_flutter/Utils/ViewState.dart'; +import 'package:easy_cc_flutter/Utils/view_state.dart'; import 'viewmodel_test.mocks.dart';