redesign | merged with dev branch
OleksandrSobol committed
Sep 14, 2020 at 22:07 UTC
18ccd5de35d7a5b559122246df4b9b52442909ec
6 files changed
+301
-294
lib/di.dart
+2
-2
@@ -257,8 +257,8 @@ Future setup(
257
getIt.registerFactory(
258
() => SendPage(sendViewModel: getIt.get<SendViewModel>()));
259
260
- // getIt.registerFactory(
261
- // () => SendTemplatePage(sendViewModel: getIt.get<SendViewModel>()));
260
+ getIt.registerFactory(
261
+ () => SendTemplatePage(sendViewModel: getIt.get<SendViewModel>()));
262
263
getIt.registerFactory(() => WalletListViewModel(
264
walletInfoSource, getIt.get<AppStore>(), getIt.get<KeyService>()));
lib/reactions/bootstrap.dart
+2
-2
@@ -24,8 +24,8 @@ import 'package:cake_wallet/store/dashboard/fiat_convertation_store.dart';
24
// FIXME: move me
25
Future<void> loadCurrentWallet() async {
26
final appStore = getIt.get<AppStore>();
27
- final name = 'test';
28
- getIt.get<SharedPreferences>().getString('current_wallet_name');
27
+ //final name = 'test';
28
+ final name = getIt.get<SharedPreferences>().getString('current_wallet_name');
29
final typeRaw =
30
getIt.get<SharedPreferences>().getInt('current_wallet_type') ?? 0;
31
final type = deserializeFromInt(typeRaw);
lib/src/screens/dashboard/dashboard_page.dart
+15
-3
@@ -104,9 +104,12 @@ class DashboardPage extends BasePage {
104
)),
105
Container(
106
width: double.infinity,
107
- padding: EdgeInsets.only(left: 44, right: 0, bottom: 24),
107
+ padding: EdgeInsets.only(
108
+ left: 45,
109
+ right: 45,
110
+ bottom: 24
111
+ ),
112
child: Row(
109
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
113
children: <Widget>[
114
Flexible(
115
child: ActionButton(
@@ -120,7 +123,16 @@ class DashboardPage extends BasePage {
123
child: ActionButton(
124
image: exchangeImage,
125
title: S.of(context).exchange,
123
- route: Routes.exchange),
126
+ route: Routes.exchange
127
+ ),
128
+ ),
129
+ Flexible(
130
+ child: ActionButton(
131
+ image: receiveImage,
132
+ title: S.of(context).receive,
133
+ route: Routes.receive,
134
+ alignment: Alignment.centerRight,
135
+ ),
136
)
137
],
138
),
lib/src/screens/dashboard/wallet_menu.dart
+4
-4
@@ -79,13 +79,13 @@ class WalletMenu {
79
return AlertWithTwoActions(
80
alertTitle: S.of(context).reconnection,
81
alertContent: S.of(context).reconnect_alert_text,
82
- leftButtonText: S.of(context).ok,
83
- rightButtonText: S.of(context).cancel,
84
- actionLeftButton: () async {
82
+ rightButtonText: S.of(context).ok,
83
+ leftButtonText: S.of(context).cancel,
84
+ actionRightButton: () async {
85
await reconnect?.call();
86
Navigator.of(context).pop();
87
},
88
- actionRightButton: () => Navigator.of(context).pop());
88
+ actionLeftButton: () => Navigator.of(context).pop());
89
});
90
}
91
}
lib/src/screens/send/widgets/base_send_widget.dart
+266
-264
@@ -10,6 +10,7 @@ import 'package:cake_wallet/view_model/send/send_view_model.dart';
10
import 'package:flutter/services.dart';
11
import 'package:flutter_mobx/flutter_mobx.dart';
12
import 'package:mobx/mobx.dart';
13
+import 'package:cake_wallet/palette.dart';
14
import 'package:cake_wallet/src/widgets/address_text_field.dart';
15
import 'package:cake_wallet/generated/i18n.dart';
16
import 'package:cake_wallet/src/widgets/top_panel.dart';
@@ -25,9 +26,9 @@ import 'package:cake_wallet/routes.dart';
26
class BaseSendWidget extends StatelessWidget {
27
BaseSendWidget(
28
{@required this.sendViewModel,
28
- @required this.leading,
29
- @required this.middle,
30
- this.isTemplate = false});
29
+ @required this.leading,
30
+ @required this.middle,
31
+ this.isTemplate = false});
32
33
final SendViewModel sendViewModel;
34
final bool isTemplate;
@@ -72,32 +73,33 @@ class BaseSendWidget extends StatelessWidget {
73
children: <Widget>[
74
isTemplate
75
? BaseTextFormField(
75
- controller: _nameController,
76
- hintText: S.of(context).send_name,
77
- borderColor: Theme.of(context)
78
- .primaryTextTheme
79
- .headline
80
- .color,
81
- textStyle: TextStyle(
82
- fontSize: 14,
83
- fontWeight: FontWeight.w500,
84
- color: Colors.white),
85
- placeholderTextStyle: TextStyle(
86
- color: Theme.of(context)
87
- .primaryTextTheme
88
- .headline
89
- .decorationColor,
90
- fontWeight: FontWeight.w500,
91
- fontSize: 14),
92
- validator: sendViewModel.templateValidator,
93
- )
76
+ controller: _nameController,
77
+ hintText: S.of(context).send_name,
78
+ borderColor: Theme.of(context)
79
+ .primaryTextTheme
80
+ .headline
81
+ .color,
82
+ textStyle: TextStyle(
83
+ fontSize: 14,
84
+ fontWeight: FontWeight.w500,
85
+ color: Colors.white),
86
+ placeholderTextStyle: TextStyle(
87
+ color: Theme.of(context)
88
+ .primaryTextTheme
89
+ .headline
90
+ .decorationColor,
91
+ fontWeight: FontWeight.w500,
92
+ fontSize: 14),
93
+ validator: sendViewModel.templateValidator,
94
+ )
95
: Offstage(),
96
Padding(
97
padding: EdgeInsets.only(top: isTemplate ? 20 : 0),
98
child: AddressTextField(
99
controller: _addressController,
99
- placeholder: S.of(context).send_address(
100
- sendViewModel.cryptoCurrencyTitle),
100
+ // placeholder: S
101
+ // .of(context)
102
+ // .send_address(sendViewModel.cryptoCurrencyTitle),
103
focusNode: _focusNode,
104
onURIScanned: (uri) {
105
var address = '';
@@ -119,9 +121,9 @@ class BaseSendWidget extends StatelessWidget {
121
AddressTextFieldOption.addressBook
122
],
123
buttonColor:
122
- Theme.of(context).primaryTextTheme.display1.color,
124
+ Theme.of(context).primaryTextTheme.display1.color,
125
borderColor:
124
- Theme.of(context).primaryTextTheme.headline.color,
126
+ Theme.of(context).primaryTextTheme.headline.color,
127
textStyle: TextStyle(
128
fontSize: 14,
129
fontWeight: FontWeight.w500,
@@ -150,43 +152,43 @@ class BaseSendWidget extends StatelessWidget {
152
prefixIcon: Padding(
153
padding: EdgeInsets.only(top: 9),
154
child:
153
- Text(sendViewModel.currency.title + ':',
154
- style: TextStyle(
155
- fontSize: 16,
156
- fontWeight: FontWeight.w600,
157
- color: Colors.white,
158
- )),
155
+ Text(sendViewModel.currency.title + ':',
156
+ style: TextStyle(
157
+ fontSize: 16,
158
+ fontWeight: FontWeight.w600,
159
+ color: Colors.white,
160
+ )),
161
),
162
suffixIcon: isTemplate
163
? Offstage()
164
: Container(
163
- height: 32,
164
- width: 32,
165
- margin: EdgeInsets.only(
166
- left: 14, top: 4, bottom: 10),
167
- decoration: BoxDecoration(
168
- color: Theme.of(context)
169
- .primaryTextTheme
170
- .display1
171
- .color,
172
- borderRadius: BorderRadius.all(
173
- Radius.circular(6))),
174
- child: InkWell(
175
- onTap: () =>
176
- sendViewModel.setSendAll(),
177
- child: Center(
178
- child: Text(S.of(context).all,
179
- textAlign: TextAlign.center,
180
- style: TextStyle(
181
- fontSize: 12,
182
- fontWeight: FontWeight.bold,
183
- color: Theme.of(context)
184
- .primaryTextTheme
185
- .display1
186
- .decorationColor)),
187
- ),
188
- ),
189
- ),
165
+ height: 32,
166
+ width: 32,
167
+ margin: EdgeInsets.only(
168
+ left: 14, top: 4, bottom: 10),
169
+ decoration: BoxDecoration(
170
+ color: Theme.of(context)
171
+ .primaryTextTheme
172
+ .display1
173
+ .color,
174
+ borderRadius: BorderRadius.all(
175
+ Radius.circular(6))),
176
+ child: InkWell(
177
+ onTap: () =>
178
+ sendViewModel.setSendAll(),
179
+ child: Center(
180
+ child: Text(S.of(context).all,
181
+ textAlign: TextAlign.center,
182
+ style: TextStyle(
183
+ fontSize: 12,
184
+ fontWeight: FontWeight.bold,
185
+ color: Theme.of(context)
186
+ .primaryTextTheme
187
+ .display1
188
+ .decorationColor)),
189
+ ),
190
+ ),
191
+ ),
192
hintText: '0.0000',
193
borderColor: Theme.of(context)
194
.primaryTextTheme
@@ -208,37 +210,37 @@ class BaseSendWidget extends StatelessWidget {
210
isTemplate
211
? Offstage()
212
: Observer(
211
- builder: (_) => Padding(
212
- padding: EdgeInsets.only(top: 10),
213
- child: Row(
214
- mainAxisSize: MainAxisSize.max,
215
- mainAxisAlignment:
216
- MainAxisAlignment.spaceBetween,
217
- children: <Widget>[
218
- Expanded(
219
- child: Text(
220
- S.of(context).available_balance + ':',
221
- style: TextStyle(
222
- fontSize: 12,
223
- fontWeight: FontWeight.w600,
224
- color: Theme.of(context)
225
- .primaryTextTheme
226
- .headline
227
- .decorationColor),
228
- )),
229
- Text(
230
- sendViewModel.balance,
231
- style: TextStyle(
232
- fontSize: 12,
233
- fontWeight: FontWeight.w600,
234
- color: Theme.of(context)
235
- .primaryTextTheme
236
- .headline
237
- .decorationColor),
238
- )
239
- ],
240
- ),
241
- )),
213
+ builder: (_) => Padding(
214
+ padding: EdgeInsets.only(top: 10),
215
+ child: Row(
216
+ mainAxisSize: MainAxisSize.max,
217
+ mainAxisAlignment:
218
+ MainAxisAlignment.spaceBetween,
219
+ children: <Widget>[
220
+ Expanded(
221
+ child: Text(
222
+ S.of(context).available_balance + ':',
223
+ style: TextStyle(
224
+ fontSize: 12,
225
+ fontWeight: FontWeight.w600,
226
+ color: Theme.of(context)
227
+ .primaryTextTheme
228
+ .headline
229
+ .decorationColor),
230
+ )),
231
+ Text(
232
+ sendViewModel.balance,
233
+ style: TextStyle(
234
+ fontSize: 12,
235
+ fontWeight: FontWeight.w600,
236
+ color: Theme.of(context)
237
+ .primaryTextTheme
238
+ .headline
239
+ .decorationColor),
240
+ )
241
+ ],
242
+ ),
243
+ )),
244
Padding(
245
padding: const EdgeInsets.only(top: 20),
246
child: BaseTextFormField(
@@ -278,52 +280,52 @@ class BaseSendWidget extends StatelessWidget {
280
isTemplate
281
? Offstage()
282
: Observer(
281
- builder: (_) => GestureDetector(
282
- onTap: () =>
283
- _setTransactionPriority(context),
284
- child: Container(
285
- padding: EdgeInsets.only(top: 24),
286
- child: Row(
287
- mainAxisAlignment:
288
- MainAxisAlignment.spaceBetween,
289
- children: <Widget>[
290
- Text(S.of(context).send_estimated_fee,
291
- style: TextStyle(
292
- fontSize: 12,
293
- fontWeight: FontWeight.w500,
294
- //color: Theme.of(context).primaryTextTheme.display2.color,
295
- color: Colors.white)),
296
- Container(
297
- child: Row(
298
- children: <Widget>[
299
- Text(
300
- sendViewModel.estimatedFee
301
- .toString() +
302
- ' ' +
303
- sendViewModel
304
- .currency.title,
305
- style: TextStyle(
306
- fontSize: 12,
307
- fontWeight:
308
- FontWeight.w600,
309
- //color: Theme.of(context).primaryTextTheme.display2.color,
310
- color: Colors.white)),
311
- Padding(
312
- padding:
313
- EdgeInsets.only(left: 5),
314
- child: Icon(
315
- Icons.arrow_forward_ios,
316
- size: 12,
317
- color: Colors.white,
318
- ),
319
- )
320
- ],
321
- ),
322
- )
323
- ],
324
- ),
283
+ builder: (_) => GestureDetector(
284
+ onTap: () =>
285
+ _setTransactionPriority(context),
286
+ child: Container(
287
+ padding: EdgeInsets.only(top: 24),
288
+ child: Row(
289
+ mainAxisAlignment:
290
+ MainAxisAlignment.spaceBetween,
291
+ children: <Widget>[
292
+ Text(S.of(context).send_estimated_fee,
293
+ style: TextStyle(
294
+ fontSize: 12,
295
+ fontWeight: FontWeight.w500,
296
+ //color: Theme.of(context).primaryTextTheme.display2.color,
297
+ color: Colors.white)),
298
+ Container(
299
+ child: Row(
300
+ children: <Widget>[
301
+ Text(
302
+ sendViewModel.estimatedFee
303
+ .toString() +
304
+ ' ' +
305
+ sendViewModel
306
+ .currency.title,
307
+ style: TextStyle(
308
+ fontSize: 12,
309
+ fontWeight:
310
+ FontWeight.w600,
311
+ //color: Theme.of(context).primaryTextTheme.display2.color,
312
+ color: Colors.white)),
313
+ Padding(
314
+ padding:
315
+ EdgeInsets.only(left: 5),
316
+ child: Icon(
317
+ Icons.arrow_forward_ios,
318
+ size: 12,
319
+ color: Colors.white,
320
+ ),
321
+ )
322
+ ],
323
),
326
- ))
324
+ )
325
+ ],
326
+ ),
327
+ ),
328
+ ))
329
],
330
),
331
)
@@ -333,117 +335,117 @@ class BaseSendWidget extends StatelessWidget {
335
isTemplate
336
? Offstage()
337
: Padding(
336
- padding: EdgeInsets.only(top: 30, left: 24, bottom: 24),
337
- child: Row(
338
- mainAxisAlignment: MainAxisAlignment.start,
339
- children: <Widget>[
340
- Text(
341
- S.of(context).send_templates,
342
- style: TextStyle(
343
- fontSize: 18,
344
- fontWeight: FontWeight.w600,
345
- color: Theme.of(context)
346
- .primaryTextTheme
347
- .display4
348
- .color),
349
- )
350
- ],
351
- ),
352
- ),
338
+ padding: EdgeInsets.only(top: 30, left: 24, bottom: 24),
339
+ child: Row(
340
+ mainAxisAlignment: MainAxisAlignment.start,
341
+ children: <Widget>[
342
+ Text(
343
+ S.of(context).send_templates,
344
+ style: TextStyle(
345
+ fontSize: 18,
346
+ fontWeight: FontWeight.w600,
347
+ color: Theme.of(context)
348
+ .primaryTextTheme
349
+ .display4
350
+ .color),
351
+ )
352
+ ],
353
+ ),
354
+ ),
355
isTemplate
356
? Offstage()
357
: Container(
356
- height: 40,
357
- width: double.infinity,
358
- padding: EdgeInsets.only(left: 24),
359
- child: SingleChildScrollView(
360
- scrollDirection: Axis.horizontal,
361
- child: Row(
362
- children: <Widget>[
363
- GestureDetector(
364
- onTap: () => Navigator.of(context)
365
- .pushNamed(Routes.sendTemplate),
358
+ height: 40,
359
+ width: double.infinity,
360
+ padding: EdgeInsets.only(left: 24),
361
+ child: SingleChildScrollView(
362
+ scrollDirection: Axis.horizontal,
363
+ child: Row(
364
+ children: <Widget>[
365
+ GestureDetector(
366
+ onTap: () => Navigator.of(context)
367
+ .pushNamed(Routes.sendTemplate),
368
+ child: Container(
369
+ padding: EdgeInsets.only(left: 1, right: 10),
370
+ child: DottedBorder(
371
+ borderType: BorderType.RRect,
372
+ dashPattern: [6, 4],
373
+ color: Theme.of(context)
374
+ .primaryTextTheme
375
+ .display2
376
+ .decorationColor,
377
+ strokeWidth: 2,
378
+ radius: Radius.circular(20),
379
child: Container(
367
- padding: EdgeInsets.only(left: 1, right: 10),
368
- child: DottedBorder(
369
- borderType: BorderType.RRect,
370
- dashPattern: [6, 4],
371
- color: Theme.of(context)
372
- .primaryTextTheme
373
- .display2
374
- .decorationColor,
375
- strokeWidth: 2,
376
- radius: Radius.circular(20),
377
- child: Container(
378
- height: 34,
379
- width: 75,
380
- padding: EdgeInsets.only(left: 10, right: 10),
381
- alignment: Alignment.center,
382
- decoration: BoxDecoration(
383
- borderRadius:
384
- BorderRadius.all(Radius.circular(20)),
385
- color: Colors.transparent,
386
- ),
387
- child: Text(
388
- S.of(context).send_new,
389
- style: TextStyle(
390
- fontSize: 14,
391
- fontWeight: FontWeight.w600,
392
- color: Theme.of(context)
393
- .primaryTextTheme
394
- .display3
395
- .color),
396
- ),
397
- )),
398
- ),
399
- ),
400
- // Observer(
401
- // builder: (_) {
402
- // final templates = sendViewModel.templates;
403
- // final itemCount = templates.length;
380
+ height: 34,
381
+ width: 75,
382
+ padding: EdgeInsets.only(left: 10, right: 10),
383
+ alignment: Alignment.center,
384
+ decoration: BoxDecoration(
385
+ borderRadius:
386
+ BorderRadius.all(Radius.circular(20)),
387
+ color: Colors.transparent,
388
+ ),
389
+ child: Text(
390
+ S.of(context).send_new,
391
+ style: TextStyle(
392
+ fontSize: 14,
393
+ fontWeight: FontWeight.w600,
394
+ color: Theme.of(context)
395
+ .primaryTextTheme
396
+ .display3
397
+ .color),
398
+ ),
399
+ )),
400
+ ),
401
+ ),
402
+ // Observer(
403
+ // builder: (_) {
404
+ // final templates = sendViewModel.templates;
405
+ // final itemCount = templates.length;
406
405
- // return ListView.builder(
406
- // scrollDirection: Axis.horizontal,
407
- // shrinkWrap: true,
408
- // physics: NeverScrollableScrollPhysics(),
409
- // itemCount: itemCount,
410
- // itemBuilder: (context, index) {
411
- // final template = templates[index];
407
+ // return ListView.builder(
408
+ // scrollDirection: Axis.horizontal,
409
+ // shrinkWrap: true,
410
+ // physics: NeverScrollableScrollPhysics(),
411
+ // itemCount: itemCount,
412
+ // itemBuilder: (context, index) {
413
+ // final template = templates[index];
414
413
- return TemplateTile(
414
- key: UniqueKey(),
415
- to: template.name,
416
- amount: template.amount,
417
- from: template.cryptoCurrency,
418
- onTap: () {
419
- _addressController.text = template.address;
420
- _cryptoAmountController.text = template.amount;
421
- getOpenaliasRecord(context);
422
- },
423
- onRemove: () {
424
- showDialog<void>(
425
- context: context,
426
- builder: (dialogContext) {
427
- return AlertWithTwoActions(
428
- alertTitle: S.of(context).template,
429
- alertContent: S.of(context).confirm_delete_template,
430
- rightButtonText: S.of(context).delete,
431
- leftButtonText: S.of(context).cancel,
432
- actionRightButton: () {
433
- Navigator.of(dialogContext).pop();
434
- sendViewModel.sendTemplateStore.remove(template: template);
435
- sendViewModel.sendTemplateStore.update();
436
- },
437
- actionLeftButton: () => Navigator.of(dialogContext).pop()
438
- );
439
- }
440
- );
441
- },
442
- );
443
- }
444
- );
445
- }
446
- )
415
+ // return TemplateTile(
416
+ // key: UniqueKey(),
417
+ // to: template.name,
418
+ // amount: template.amount,
419
+ // from: template.cryptoCurrency,
420
+ // onTap: () {
421
+ // _addressController.text = template.address;
422
+ // _cryptoAmountController.text = template.amount;
423
+ // getOpenaliasRecord(context);
424
+ // },
425
+ // onRemove: () {
426
+ // showDialog<void>(
427
+ // context: context,
428
+ // builder: (dialogContext) {
429
+ // return AlertWithTwoActions(
430
+ // alertTitle: S.of(context).template,
431
+ // alertContent: S.of(context).confirm_delete_template,
432
+ // leftButtonText: S.of(context).delete,
433
+ // rightButtonText: S.of(context).cancel,
434
+ // actionLeftButton: () {
435
+ // Navigator.of(dialogContext).pop();
436
+ // sendViewModel.sendTemplateStore.remove(template: template);
437
+ // sendViewModel.sendTemplateStore.update();
438
+ // },
439
+ // actionRightButton: () => Navigator.of(dialogContext).pop()
440
+ // );
441
+ // }
442
+ // );
443
+ // },
444
+ // );
445
+ // }
446
+ // );
447
+ // }
448
+ // )
449
],
450
),
451
),
@@ -453,20 +455,20 @@ class BaseSendWidget extends StatelessWidget {
455
bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
456
bottomSection: isTemplate
457
? PrimaryButton(
456
- onPressed: () {
457
- if (_formKey.currentState.validate()) {
458
- // sendViewModel.sendTemplateStore.addTemplate(
459
- // name: _nameController.text,
460
- // address: _addressController.text,
461
- // cryptoCurrency: sendViewModel.currency.title,
462
- // amount: _cryptoAmountController.text);
463
- // sendViewModel.sendTemplateStore.update();
464
- Navigator.of(context).pop();
465
- }
466
- },
467
- text: S.of(context).save,
468
- color: Colors.green,
469
- textColor: Colors.white)
458
+ onPressed: () {
459
+ if (_formKey.currentState.validate()) {
460
+ // sendViewModel.sendTemplateStore.addTemplate(
461
+ // name: _nameController.text,
462
+ // address: _addressController.text,
463
+ // cryptoCurrency: sendViewModel.currency.title,
464
+ // amount: _cryptoAmountController.text);
465
+ // sendViewModel.sendTemplateStore.update();
466
+ Navigator.of(context).pop();
467
+ }
468
+ },
469
+ text: S.of(context).save,
470
+ color: Colors.green,
471
+ textColor: Colors.white)
472
: Observer(builder: (_) {
473
return LoadingPrimaryButton(
474
onPressed: () {
@@ -552,7 +554,7 @@ class BaseSendWidget extends StatelessWidget {
554
alertTitle: S.of(context).confirm_sending,
555
amount: S.of(context).send_amount,
556
amountValue:
555
- sendViewModel.pendingTransaction.amountFormatted,
557
+ sendViewModel.pendingTransaction.amountFormatted,
558
fee: S.of(context).send_fee,
559
feeValue: sendViewModel.pendingTransaction.feeFormatted,
560
leftButtonText: S.of(context).ok,
@@ -694,14 +696,14 @@ class BaseSendWidget extends StatelessWidget {
696
697
await showDialog<void>(
698
builder: (_) => Picker(
697
- items: items,
698
- selectedAtIndex: selectedItem,
699
- title: S.of(context).please_select,
700
- mainAxisAlignment: MainAxisAlignment.center,
701
- onItemSelected: (TransactionPriority priority) => null,
702
- // sendViewModel.setTransactionPriority(priority),
703
- isAlwaysShowScrollThumb: true,
704
- ),
699
+ items: items,
700
+ selectedAtIndex: selectedItem,
701
+ title: S.of(context).please_select,
702
+ mainAxisAlignment: MainAxisAlignment.center,
703
+ onItemSelected: (TransactionPriority priority) => null,
704
+ // sendViewModel.setTransactionPriority(priority),
705
+ isAlwaysShowScrollThumb: true,
706
+ ),
707
context: context);
708
}
707
-}
709
+}
\ No newline at end of file
pubspec.lock
+12
-19
@@ -42,7 +42,7 @@ packages:
42
name: async
43
url: "https://pub.dartlang.org"
44
source: hosted
45
- version: "2.4.2"
45
+ version: "2.4.1"
46
auto_size_text:
47
dependency: "direct main"
48
description:
@@ -210,7 +210,7 @@ packages:
210
name: collection
211
url: "https://pub.dartlang.org"
212
source: hosted
213
- version: "1.14.13"
213
+ version: "1.14.12"
214
convert:
215
dependency: transitive
216
description:
@@ -224,7 +224,7 @@ packages:
224
name: crypto
225
url: "https://pub.dartlang.org"
226
source: hosted
227
- version: "2.1.5"
227
+ version: "2.1.4"
228
csslib:
229
dependency: transitive
230
description:
@@ -302,13 +302,6 @@ packages:
302
url: "https://pub.dartlang.org"
303
source: hosted
304
version: "1.0.2"
305
- fake_async:
306
- dependency: transitive
307
- description:
308
- name: fake_async
309
- url: "https://pub.dartlang.org"
310
- source: hosted
311
- version: "1.1.0"
305
ffi:
306
dependency: transitive
307
description:
@@ -475,7 +468,7 @@ packages:
468
name: image
469
url: "https://pub.dartlang.org"
470
source: hosted
478
- version: "2.1.14"
471
+ version: "2.1.12"
472
intl:
473
dependency: "direct main"
474
description:
@@ -524,7 +517,7 @@ packages:
517
name: matcher
518
url: "https://pub.dartlang.org"
519
source: hosted
527
- version: "0.12.8"
520
+ version: "0.12.6"
521
meta:
522
dependency: transitive
523
description:
@@ -594,7 +587,7 @@ packages:
587
name: path
588
url: "https://pub.dartlang.org"
589
source: hosted
597
- version: "1.7.0"
590
+ version: "1.6.4"
591
path_drawing:
592
dependency: transitive
593
description:
@@ -650,7 +643,7 @@ packages:
643
name: petitparser
644
url: "https://pub.dartlang.org"
645
source: hosted
653
- version: "3.0.4"
646
+ version: "2.4.0"
647
platform:
648
dependency: transitive
649
description:
@@ -830,7 +823,7 @@ packages:
823
name: stack_trace
824
url: "https://pub.dartlang.org"
825
source: hosted
833
- version: "1.9.5"
826
+ version: "1.9.3"
827
stream_channel:
828
dependency: transitive
829
description:
@@ -865,7 +858,7 @@ packages:
858
name: test_api
859
url: "https://pub.dartlang.org"
860
source: hosted
868
- version: "0.2.17"
861
+ version: "0.2.15"
862
time:
863
dependency: transitive
864
description:
@@ -886,7 +879,7 @@ packages:
879
name: typed_data
880
url: "https://pub.dartlang.org"
881
source: hosted
889
- version: "1.2.0"
882
+ version: "1.1.6"
883
url_launcher:
884
dependency: "direct main"
885
description:
@@ -963,7 +956,7 @@ packages:
956
name: xml
957
url: "https://pub.dartlang.org"
958
source: hosted
966
- version: "4.2.0"
959
+ version: "3.6.1"
960
yaml:
961
dependency: "direct main"
962
description:
@@ -972,5 +965,5 @@ packages:
965
source: hosted
966
version: "2.2.1"
967
sdks:
975
- dart: ">=2.9.0-14.0.dev <3.0.0"
968
+ dart: ">=2.7.0 <3.0.0"
969
flutter: ">=1.12.13+hotfix.5 <2.0.0"