Skip to content

Commit 894620a

Browse files
committed
Fix warning
1 parent 6719b93 commit 894620a

16 files changed

+68
-62
lines changed

lib/app.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class App extends StatelessWidget {
4444
Route _handleRoutes(RouteSettings settings) {
4545
switch (settings.name) {
4646
case InputTask.routeName:
47-
return MaterialPageRoute(
47+
return MaterialPageRoute<dynamic>(
4848
settings: settings,
4949
fullscreenDialog: true,
5050
builder: (_context) =>

lib/model/authenticator.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ import 'package:taskshare/model/model.dart';
55
enum AccountState { loading, signedOut, signedIn, signingIn, singingOut }
66

77
class User {
8-
final String id;
9-
final Uri imageUrl;
10-
118
User({
129
@required this.id,
1310
@required this.imageUrl,
@@ -16,6 +13,9 @@ class User {
1613
User.fromFirUser(
1714
FirebaseUser user,
1815
) : this(id: user.uid, imageUrl: Uri.parse(user.photoUrl));
16+
17+
final String id;
18+
final Uri imageUrl;
1919
}
2020

2121
abstract class Authenticator {

lib/model/database.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,20 @@ abstract class Database<T> {
1111
}
1212

1313
abstract class Entity {
14+
Entity({@required this.id});
1415
static const idKey = 'id';
1516
final String id;
16-
Entity({@required this.id});
1717
}
1818

1919
class AppDatabase<T extends Entity> implements Database<T> {
20-
final CollectionReference collectionRef;
21-
final SnapshotEncoder<T> encoder;
22-
final SnapshotDecoder<T> decoder;
23-
2420
AppDatabase({
2521
@required this.collectionRef,
2622
@required this.encoder,
2723
@required this.decoder,
2824
});
25+
final CollectionReference collectionRef;
26+
final SnapshotEncoder<T> encoder;
27+
final SnapshotDecoder<T> decoder;
2928

3029
@override
3130
Stream<List<T>> entities(MakeQuery makeQuery) =>
@@ -62,10 +61,12 @@ class AppDatabase<T extends Entity> implements Database<T> {
6261
}
6362
}
6463

64+
// ignore: one_member_abstracts
6565
abstract class SnapshotDecoder<T extends Entity> {
6666
T decode(Map<String, dynamic> data);
6767
}
6868

69+
// ignore: one_member_abstracts
6970
abstract class SnapshotEncoder<T extends Entity> {
7071
Map<String, dynamic> encode(T entity);
7172
}

lib/model/service_provider.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@ import 'package:taskshare/model/authenticator.dart';
33
import 'package:taskshare/model/tasks_store.dart';
44

55
class ServiceProvider extends InheritedWidget {
6-
final Authenticator authenticator;
7-
final TasksStore tasksStore;
8-
96
const ServiceProvider({
107
@required this.authenticator,
118
@required this.tasksStore,
129
@required Widget child,
1310
}) : super(child: child);
11+
final Authenticator authenticator;
12+
final TasksStore tasksStore;
1413

1514
@override
1615
bool updateShouldNotify(InheritedWidget oldWidget) => false;

lib/model/task.dart

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
import 'package:taskshare/model/model.dart';
22

33
class Task implements Entity {
4+
Task(
5+
{@required this.id,
6+
@required this.title,
7+
this.doneTime,
8+
this.dueTime,
9+
this.createTime,
10+
this.updateTime});
411
static const name = 'tasks';
512
@override
613
// MEMO: @required にしてidはdocumentRef()経由で持ってくるとかもありかも??
@@ -11,14 +18,6 @@ class Task implements Entity {
1118
Timestamp createTime;
1219
Timestamp updateTime;
1320

14-
Task(
15-
{@required this.id,
16-
@required this.title,
17-
this.doneTime,
18-
this.dueTime,
19-
this.createTime,
20-
this.updateTime});
21-
2221
@override
2322
bool operator ==(Object other) {
2423
return identical(this, other) ||
@@ -43,7 +42,7 @@ Task{
4342

4443
class TaskEncoder extends SnapshotEncoder<Task> {
4544
@override
46-
Map<String, dynamic> encode(Task entity) => {
45+
Map<String, dynamic> encode(Task entity) => <String, dynamic>{
4746
Entity.idKey: entity.id,
4847
TaskProperties.title: entity.title,
4948
TaskProperties.doneTime: entity.doneTime,

lib/screens/home.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ import 'package:taskshare/screens/welcome.dart';
55
import 'package:taskshare/widgets/widgets.dart';
66

77
class Home extends StatelessWidget {
8-
static const routeName = '/';
9-
108
const Home();
119

1210
factory Home.forDesignTime() => const Home();
11+
static const routeName = '/';
1312

1413
@override
1514
Widget build(BuildContext context) {

lib/screens/setting.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ import 'package:taskshare/bloc/account_bloc_provider.dart';
22
import 'package:taskshare/widgets/widgets.dart';
33

44
class Setting extends StatelessWidget {
5-
static const routeName = '/settings';
6-
75
const Setting();
86

97
factory Setting.forDesignTime() => const Setting();
8+
static const routeName = '/settings';
109

1110
@override
1211
Widget build(BuildContext context) {

lib/screens/task/addition/task_addition_bloc.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ import 'package:rxdart/rxdart.dart';
33
import 'package:taskshare/model/task.dart';
44

55
class TaskAdditionBloc implements Bloc {
6-
final _saveController = PublishSubject<String>();
7-
final _addedController = PublishSubject<Task>();
8-
final _failedController = BehaviorSubject<String>.seeded(null);
9-
final _textController = BehaviorSubject<String>();
10-
116
TaskAdditionBloc() {
127
_saveController.listen((title) {
138
if (title == null || title.isEmpty) {
@@ -24,6 +19,10 @@ class TaskAdditionBloc implements Bloc {
2419
}
2520
});
2621
}
22+
final _saveController = PublishSubject<String>();
23+
final _addedController = PublishSubject<Task>();
24+
final _failedController = BehaviorSubject<String>.seeded(null);
25+
final _textController = BehaviorSubject<String>();
2726

2827
Stream<Task> get added => _addedController.stream;
2928
ValueObservable<String> get failed => _failedController.stream;

lib/screens/task/addition/task_input.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ import 'package:taskshare/screens/input_task.dart';
44
import 'package:taskshare/screens/task/addition/task_addition_bloc_provider.dart';
55

66
class TaskInput extends StatefulWidget {
7-
final TextEditingController textController;
8-
97
const TaskInput({
108
Key key,
119
@required this.textController,
1210
}) : super(key: key);
11+
final TextEditingController textController;
1312

1413
@override
1514
TaskInputState createState() => TaskInputState();

lib/screens/task/list/task_animated_list.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ class TaskAnimatedList {
2020
@required this.removedItemBuilder,
2121
}) : _tasks = stream.value ?? [] {
2222
stream.listen((tasks) {
23-
// TODO: Enhance diff algorithm
24-
final taskIds = Set.from(tasks.map((x) => x.id));
23+
// TODO(mono): Enhance diff algorithm
24+
final taskIds = Set<String>.from(tasks.map<String>((x) => x.id));
2525

26-
// TODO: 末尾から削除していく必要あり
26+
// TODO(mono): 末尾から削除していく必要あり
2727
final taskIdsRemoved = _previousTaskIds.difference(taskIds);
2828
logger.info('taskIdsRemoved: $taskIdsRemoved');
2929
for (final id in taskIdsRemoved) {
3030
final task = _tasks.firstWhere((t) => t.id == id);
3131
remove(task);
3232
}
3333

34-
// TODO: 先頭から追加していく必要あり
34+
// TODO(mono): 先頭から追加していく必要あり
3535
final taskIdsAdded = taskIds.difference(_previousTaskIds);
3636
logger.info('taskIdsAdded: $taskIdsAdded');
3737
for (final id in taskIdsAdded) {
@@ -47,7 +47,7 @@ class TaskAnimatedList {
4747
final ValueObservable<List<Task>> stream;
4848
final TaskRemovedItemBuilder removedItemBuilder;
4949
final List<Task> _tasks;
50-
Set<String> get _previousTaskIds => Set.from(_tasks.map((x) => x.id));
50+
Set<String> get _previousTaskIds => Set.from(_tasks.map<String>((x) => x.id));
5151
int get length => _tasks.length;
5252
Task operator [](int index) => _tasks[index];
5353

lib/screens/task/list/task_list_tile.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@ import 'package:taskshare/model/task.dart';
44
import 'package:taskshare/screens/task/tasks_bloc_provider.dart';
55

66
class TaskListTile extends StatelessWidget {
7-
final Task task;
8-
final Animation<double> animation;
9-
final DismissDirectionCallback onDismissed;
10-
117
const TaskListTile({
128
@required Key key,
139
@required this.task,
1410
@required this.animation,
1511
@required this.onDismissed,
1612
}) : super(key: key);
13+
final Task task;
14+
final Animation<double> animation;
15+
final DismissDirectionCallback onDismissed;
1716

1817
@override
1918
Widget build(BuildContext context) {

lib/screens/task/tasks_bloc.dart

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,15 @@ export 'package:taskshare/model/task.dart';
1010
enum TaskOperationType { deleted, checked, add, updated }
1111

1212
class TaskOperation {
13-
final Task task;
14-
final TaskOperationType type;
15-
1613
TaskOperation({
1714
@required this.task,
1815
@required this.type,
1916
});
17+
final Task task;
18+
final TaskOperationType type;
2019
}
2120

2221
class TasksBloc implements Bloc {
23-
ValueObservable<List<Task>> get tasks => _tasks.stream;
24-
Stream<TaskOperation> get taskOperations => _taskOperations.stream;
25-
26-
Sink<TaskOperation> get taskOperation => _taskOperationController.sink;
27-
28-
StreamSubscription _subscription;
29-
final Authenticator authenticator;
30-
final TasksStore store;
31-
final _tasks = BehaviorSubject<List<Task>>();
32-
final _taskOperations = PublishSubject<TaskOperation>();
33-
final _taskOperationController = PublishSubject<TaskOperation>();
34-
3522
TasksBloc({@required this.authenticator, @required this.store}) {
3623
logger.info('TasksBloc constructor called');
3724

@@ -69,6 +56,18 @@ class TasksBloc implements Bloc {
6956
});
7057
}
7158

59+
ValueObservable<List<Task>> get tasks => _tasks.stream;
60+
Stream<TaskOperation> get taskOperations => _taskOperations.stream;
61+
62+
Sink<TaskOperation> get taskOperation => _taskOperationController.sink;
63+
64+
StreamSubscription _subscription;
65+
final Authenticator authenticator;
66+
final TasksStore store;
67+
final _tasks = BehaviorSubject<List<Task>>();
68+
final _taskOperations = PublishSubject<TaskOperation>();
69+
final _taskOperationController = PublishSubject<TaskOperation>();
70+
7271
void _setTask(Task task) {
7372
final now = Timestamp.now();
7473
task.createTime ??= now;

lib/util/logger.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:simple_logger/simple_logger.dart';
22

3-
// TODO: stacktraceEnabledはリリースビルドではfalseにする
4-
final logger = SimpleLogger()
3+
// TODO(mono): stacktraceEnabledはリリースビルドではfalseにする
4+
final SimpleLogger logger = SimpleLogger()
55
..setLevel(
66
Level.FINEST,
77
includeCallerInfo: true,

lib/widgets/app_progress_indicator.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import 'package:taskshare/widgets/widgets.dart';
22

33
class AppProgressIndicator extends StatelessWidget {
4-
final Color color;
5-
64
const AppProgressIndicator({this.color});
75

86
factory AppProgressIndicator.forDesignTime() => const AppProgressIndicator();
7+
final Color color;
98

109
@override
1110
Widget build(BuildContext context) => Container(

pubspec.lock

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,13 @@ packages:
141141
url: "https://pub.dartlang.org"
142142
source: hosted
143143
version: "0.1.2"
144+
dart_internal:
145+
dependency: transitive
146+
description:
147+
name: dart_internal
148+
url: "https://pub.dartlang.org"
149+
source: hosted
150+
version: "0.1.4"
144151
dart_style:
145152
dependency: transitive
146153
description:
@@ -303,6 +310,13 @@ packages:
303310
url: "https://pub.dartlang.org"
304311
source: hosted
305312
version: "0.9.6+2"
313+
observable:
314+
dependency: "direct main"
315+
description:
316+
name: observable
317+
url: "https://pub.dartlang.org"
318+
source: hosted
319+
version: "0.22.2"
306320
package_config:
307321
dependency: transitive
308322
description:
@@ -526,5 +540,5 @@ packages:
526540
source: hosted
527541
version: "2.1.15"
528542
sdks:
529-
dart: ">=2.2.0 <3.0.0"
543+
dart: ">=2.2.0 <2.4.0"
530544
flutter: ">=1.2.0 <2.0.0"

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies:
2222
tuple:
2323
bloc_provider:
2424
simple_logger:
25-
25+
observable:
2626
dev_dependencies:
2727
flutter_test:
2828
sdk: flutter

0 commit comments

Comments
 (0)