Skip to content

Updated code for latest flutter version #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .flutter-plugins-dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"_info":"// This is a generated file; do not edit or check into version control.","dependencyGraph":[{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]}]}
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"shared_preferences_foundation","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.1.4/","native_build":true,"dependencies":[]}],"android":[{"name":"shared_preferences_android","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.0.16/","native_build":true,"dependencies":[]}],"macos":[{"name":"shared_preferences_foundation","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.1.4/","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.9/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.1.4/","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"path_provider_windows","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.4/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.1.4/","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"shared_preferences_web","path":"/home/derson/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.0.5/","dependencies":[]}]},"dependencyGraph":[{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]}],"date_created":"2023-03-08 20:00:04.909667","version":"3.5.0-6.0.pre.19"}
10 changes: 7 additions & 3 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:name="${applicationName}"
android:label="clean_architecture_tdd_course"
android:icon="@mipmap/ic_launcher">
<activity
Expand All @@ -22,12 +22,16 @@
there is no splash screen (such as the default splash screen
defined in @style/LaunchTheme). -->
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
package com.resocoder.clean_architecture_tdd_course

import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity

import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}
class MainActivity: FlutterActivity() {}
13 changes: 8 additions & 5 deletions ios/Flutter/flutter_export_environment.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
#!/bin/sh
# This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=C:\Flutter\flutter"
export "FLUTTER_APPLICATION_PATH=D:\Projects\Playground_and_Learning\flutter-tdd-clean-architecture-course"
export "FLUTTER_TARGET=lib\main.dart"
export "FLUTTER_ROOT=/usr/local/flutter/flutter"
export "FLUTTER_APPLICATION_PATH=/home/derson/Documents/GitHub/flutter-tdd-clean-architecture-course"
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
export "FLUTTER_TARGET=lib/main.dart"
export "FLUTTER_BUILD_DIR=build"
export "SYMROOT=${SOURCE_ROOT}/../build\ios"
export "FLUTTER_FRAMEWORK_DIR=C:\Flutter\flutter\bin\cache\artifacts\engine\ios"
export "FLUTTER_BUILD_NAME=1.0.0"
export "FLUTTER_BUILD_NUMBER=1"
export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=true"
export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.dart_tool/package_config.json"
1 change: 1 addition & 0 deletions lib/core/network/network_info.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// ignore: import_of_legacy_library_into_null_safe
import 'package:data_connection_checker/data_connection_checker.dart';

abstract class NetworkInfo {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'dart:convert';

import 'package:clean_architecture_tdd_course/core/error/exceptions.dart';
import 'package:meta/meta.dart';
import 'package:shared_preferences/shared_preferences.dart';

import '../models/number_trivia_model.dart';
Expand All @@ -21,7 +20,7 @@ const CACHED_NUMBER_TRIVIA = 'CACHED_NUMBER_TRIVIA';
class NumberTriviaLocalDataSourceImpl implements NumberTriviaLocalDataSource {
final SharedPreferences sharedPreferences;

NumberTriviaLocalDataSourceImpl({@required this.sharedPreferences});
NumberTriviaLocalDataSourceImpl({required this.sharedPreferences});

@override
Future<NumberTriviaModel> getLastNumberTrivia() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'dart:convert';

import 'package:http/http.dart' as http;
import 'package:meta/meta.dart';

import '../../../../core/error/exceptions.dart';
import '../models/number_trivia_model.dart';
Expand All @@ -21,7 +20,7 @@ abstract class NumberTriviaRemoteDataSource {
class NumberTriviaRemoteDataSourceImpl implements NumberTriviaRemoteDataSource {
final http.Client client;

NumberTriviaRemoteDataSourceImpl({@required this.client});
NumberTriviaRemoteDataSourceImpl({required this.client});

@override
Future<NumberTriviaModel> getConcreteNumberTrivia(int number) =>
Expand All @@ -33,7 +32,7 @@ class NumberTriviaRemoteDataSourceImpl implements NumberTriviaRemoteDataSource {

Future<NumberTriviaModel> _getTriviaFromUrl(String url) async {
final response = await client.get(
url,
Uri.parse(url),
headers: {
'Content-Type': 'application/json',
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import 'package:clean_architecture_tdd_course/features/number_trivia/domain/entities/number_trivia.dart';
import 'package:meta/meta.dart';

class NumberTriviaModel extends NumberTrivia {
NumberTriviaModel({
@required String text,
@required int number,
required String text,
required int number,
}) : super(text: text, number: number);

factory NumberTriviaModel.fromJson(Map<String, dynamic> json) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:dartz/dartz.dart';
import 'package:meta/meta.dart';

import '../../../../core/error/failures.dart';
import '../../../../core/error/exceptions.dart';
Expand All @@ -8,18 +7,19 @@ import '../../domain/entities/number_trivia.dart';
import '../../domain/repositories/number_trivia_repository.dart';
import '../datasources/number_trivia_local_data_source.dart';
import '../datasources/number_trivia_remote_data_source.dart';
import '../models/number_trivia_model.dart';

typedef Future<NumberTrivia> _ConcreteOrRandomChooser();
typedef Future<NumberTriviaModel> _ConcreteOrRandomChooser();

class NumberTriviaRepositoryImpl implements NumberTriviaRepository {
final NumberTriviaRemoteDataSource remoteDataSource;
final NumberTriviaLocalDataSource localDataSource;
final NetworkInfo networkInfo;

NumberTriviaRepositoryImpl({
@required this.remoteDataSource,
@required this.localDataSource,
@required this.networkInfo,
required this.remoteDataSource,
required this.localDataSource,
required this.networkInfo,
});

@override
Expand Down
5 changes: 2 additions & 3 deletions lib/features/number_trivia/domain/entities/number_trivia.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';

class NumberTrivia extends Equatable {
final String text;
final int number;

NumberTrivia({
@required this.text,
@required this.number,
required this.text,
required this.number,
});

@override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:dartz/dartz.dart';
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';

import '../../../../core/error/failures.dart';
import '../../../../core/usecases/usecase.dart';
Expand All @@ -21,7 +20,7 @@ class GetConcreteNumberTrivia implements UseCase<NumberTrivia, Params> {
class Params extends Equatable {
final int number;

Params({@required this.number});
Params({required this.number});

@override
List<Object> get props => [number];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import 'package:clean_architecture_tdd_course/core/error/failures.dart';
import 'package:clean_architecture_tdd_course/core/usecases/usecase.dart';
import 'package:clean_architecture_tdd_course/features/number_trivia/domain/entities/number_trivia.dart';
import 'package:dartz/dartz.dart';
import 'package:meta/meta.dart';

import './bloc.dart';
import '../../../../core/util/input_converter.dart';
Expand All @@ -23,19 +22,11 @@ class NumberTriviaBloc extends Bloc<NumberTriviaEvent, NumberTriviaState> {
final InputConverter inputConverter;

NumberTriviaBloc({
@required GetConcreteNumberTrivia concrete,
@required GetRandomNumberTrivia random,
@required this.inputConverter,
}) : assert(concrete != null),
assert(random != null),
assert(inputConverter != null),
getConcreteNumberTrivia = concrete,
getRandomNumberTrivia = random;

@override
NumberTriviaState get initialState => Empty();

@override
required this.getConcreteNumberTrivia,
required this.getRandomNumberTrivia,
required this.inputConverter,
}) : super(Empty());

Stream<NumberTriviaState> mapEventToState(
NumberTriviaEvent event,
) async* {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Loading extends NumberTriviaState {}
class Loaded extends NumberTriviaState {
final NumberTrivia trivia;

Loaded({@required this.trivia});
Loaded({required this.trivia});

@override
List<Object> get props => [trivia];
Expand All @@ -24,7 +24,7 @@ class Loaded extends NumberTriviaState {
class Error extends NumberTriviaState {
final String message;

Error({@required this.message});
Error({required this.message});

@override
List<Object> get props => [message];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:clean_architecture_tdd_course/features/number_trivia/presentation/bloc/bloc.dart';
import 'package:clean_architecture_tdd_course/features/number_trivia/presentation/bloc/number_trivia_bloc.dart';
import 'package:clean_architecture_tdd_course/features/number_trivia/presentation/widgets/widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
Expand Down Expand Up @@ -44,6 +43,7 @@ class NumberTriviaPage extends StatelessWidget {
message: state.message,
);
}
return Container();
},
),
SizedBox(height: 20),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:flutter/material.dart';

class LoadingWidget extends StatelessWidget {
const LoadingWidget({
Key key,
Key? key,
}) : super(key: key);

@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ class MessageDisplay extends StatelessWidget {
final String message;

const MessageDisplay({
Key key,
@required this.message,
Key? key,
required this.message,
}) : super(key: key);

@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';

class TriviaControls extends StatefulWidget {
const TriviaControls({
Key key,
Key? key,
}) : super(key: key);

@override
Expand All @@ -13,7 +13,7 @@ class TriviaControls extends StatefulWidget {

class _TriviaControlsState extends State<TriviaControls> {
final controller = TextEditingController();
String inputStr;
late String inputStr;

@override
Widget build(BuildContext context) {
Expand All @@ -37,16 +37,14 @@ class _TriviaControlsState extends State<TriviaControls> {
Row(
children: <Widget>[
Expanded(
child: RaisedButton(
child: ElevatedButton(
child: Text('Search'),
color: Theme.of(context).accentColor,
textTheme: ButtonTextTheme.primary,
onPressed: dispatchConcrete,
),
),
SizedBox(width: 10),
Expanded(
child: RaisedButton(
child: ElevatedButton(
child: Text('Get random trivia'),
onPressed: dispatchRandom,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ class TriviaDisplay extends StatelessWidget {
final NumberTrivia numberTrivia;

const TriviaDisplay({
Key key,
@required this.numberTrivia,
Key? key,
required this.numberTrivia,
}) : super(key: key);

@override
Expand Down
6 changes: 4 additions & 2 deletions lib/injection_container.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// ignore: import_of_legacy_library_into_null_safe
import 'package:data_connection_checker/data_connection_checker.dart';
// ignore: import_of_legacy_library_into_null_safe
import 'package:get_it/get_it.dart';
import 'package:http/http.dart' as http;
import 'package:shared_preferences/shared_preferences.dart';
Expand All @@ -20,9 +22,9 @@ Future<void> init() async {
// Bloc
sl.registerFactory(
() => NumberTriviaBloc(
concrete: sl(),
getConcreteNumberTrivia: sl(),
inputConverter: sl(),
random: sl(),
getRandomNumberTrivia: sl(),
),
);

Expand Down
1 change: 0 additions & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ class MyApp extends StatelessWidget {
title: 'Number Trivia',
theme: ThemeData(
primaryColor: Colors.green.shade800,
accentColor: Colors.green.shade600,
),
home: NumberTriviaPage(),
);
Expand Down
Loading