Gabriel Rohden

fix: Fix new lint issues

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_demo/routes/app_pages.dart';
import 'routes/app_pages.dart';
import 'shared/logger/logger_utils.dart';
void main() {
... ...
import 'package:dio/dio.dart';
import 'package:get/get.dart';
import 'package:get_demo/pages/home/domain/adapters/repository_adapter.dart';
import 'package:get_demo/pages/home/presentation/controllers/home_controller.dart';
import '../data/home_repository.dart';
import '../domain/adapters/repository_adapter.dart';
import '../presentation/controllers/home_controller.dart';
class HomeBinding extends Bindings {
@override
... ...
import 'package:dio/dio.dart';
import 'package:get_demo/pages/home/domain/adapters/repository_adapter.dart';
import 'package:get_demo/pages/home/domain/entity/cases_model.dart';
import '../domain/adapters/repository_adapter.dart';
import '../domain/entity/cases_model.dart';
class HomeRepository implements IHomeRepository {
HomeRepository({this.dio});
... ... @@ -13,7 +14,7 @@ class HomeRepository implements IHomeRepository {
final response = await dio.get("https://api.covid19api.com/summary");
return CasesModel.fromJson(response.data as Map<String, dynamic>);
} catch (e) {
} on Exception catch (e) {
print(e.toString());
return Future.error(e.toString());
}
... ...
import 'package:get_demo/pages/home/domain/entity/cases_model.dart';
import '../entity/cases_model.dart';
// ignore: one_member_abstracts
abstract class IHomeRepository {
Future<CasesModel> getCases();
}
... ...
import 'package:get/get.dart';
import 'package:get_demo/pages/home/domain/adapters/repository_adapter.dart';
import 'package:get_demo/pages/home/domain/entity/cases_model.dart';
import '../../domain/adapters/repository_adapter.dart';
import '../../domain/entity/cases_model.dart';
enum Status { loading, success, error }
... ... @@ -22,14 +23,16 @@ class HomeController extends GetxController {
/// fetch cases from Api
Future<void> fetchDataFromApi() async {
/// When the repository returns the value, change the status to success, and fill in "cases"
/// When the repository returns the value, change the status to success,
/// and fill in "cases"
return homeRepository.getCases().then(
(data) {
cases(data);
status(Status.success);
},
/// In case of error, print the error and change the status to Status.error
/// In case of error, print the error and change the status
/// to Status.error
onError: (err) {
print("$err");
return status(Status.error);
... ...
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_demo/pages/home/domain/entity/cases_model.dart';
import '../controllers/home_controller.dart';
class CountryView extends GetWidget<HomeController> {
... ... @@ -30,7 +31,7 @@ class CountryView extends GetWidget<HomeController> {
child: ListView.builder(
itemCount: controller.cases.value.countries.length,
itemBuilder: (context, index) {
Country country = controller.cases.value.countries[index];
final country = controller.cases.value.countries[index];
return ListTile(
onTap: () {
Get.toNamed('/details', arguments: country);
... ...
... ... @@ -2,12 +2,13 @@ import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_demo/pages/home/domain/entity/cases_model.dart';
import '../../domain/entity/cases_model.dart';
class DetailsView extends StatelessWidget {
@override
Widget build(BuildContext context) {
Country country = Get.arguments as Country;
final country = Get.arguments as Country;
return Container(
decoration: BoxDecoration(
image: DecorationImage(
... ...
... ... @@ -2,7 +2,8 @@ import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_demo/pages/home/presentation/controllers/home_controller.dart';
import '../controllers/home_controller.dart';
class HomeView extends GetView<HomeController> {
@override
... ... @@ -28,7 +29,7 @@ class HomeView extends GetView<HomeController> {
body: Center(
child: Obx(
() {
Status status = controller.status.value;
final status = controller.status.value;
if (status == Status.loading) return CircularProgressIndicator();
if (status == Status.error) return Text('Error on connection :(');
return Column(
... ...
import 'package:get/get.dart';
import 'package:get_demo/pages/home/bindings/home_binding.dart';
import 'package:get_demo/pages/home/presentation/views/country_view.dart';
import 'package:get_demo/pages/home/presentation/views/details_view.dart';
import 'package:get_demo/pages/home/presentation/views/home_view.dart';
import '../pages/home/bindings/home_binding.dart';
import '../pages/home/presentation/views/country_view.dart';
import '../pages/home/presentation/views/details_view.dart';
import '../pages/home/presentation/views/home_view.dart';
part 'app_routes.dart';
// ignore: avoid_classes_with_only_static_members
class AppPages {
static const INITIAL = Routes.HOME;
... ...
class Logger {
// Sample of abstract logging function
static void write(String text, {bool isError = false}) {
print('** ' + text + ' [' + isError.toString() + ']');
print('** $text [$isError]');
}
}
... ...
... ... @@ -49,7 +49,7 @@ void main() {
binding.builder();
/// recover your controller
HomeController controller = Get.find();
final controller = Get.find<HomeController>();
/// check if onInit was called
expect(controller.initialized, true);
... ...
... ... @@ -4,7 +4,8 @@ import 'dart:collection';
import '../rx_core/rx_interface.dart';
/// global object that registers against `GetX` and `Obx`, and allows the reactivity
/// global object that registers against `GetX` and `Obx`, and allows the
/// reactivity
/// of those `Widgets` and Rx values.
RxInterface getObs;
... ... @@ -207,6 +208,9 @@ class RxBool extends _RxImpl<bool> {
/// Toggles the bool [value] between false and true.
/// A shortcut for `flag.value = !flag.value;`
/// FIXME: why return this? fluent interface is not
/// not really a dart thing since we have '..' operator
// ignore: avoid_returning_this
RxBool toggle() {
subject.add(_value = !_value);
return this;
... ... @@ -295,7 +299,8 @@ class RxInt extends _BaseRxNum<int> {
}
/// Foundation class used for custom `Types` outside the common native Dart types.
/// Foundation class used for custom `Types` outside the common native Dart
/// types.
/// For example, any custom "Model" class, like User().obs will use `Rx` as
/// wrapper.
class Rx<T> extends _RxImpl<T> {
... ...