Skip to content

Commit 466b9e0

Browse files
committed
⚡️ Improve formats
1 parent cd20f2f commit 466b9e0

20 files changed

+158
-75
lines changed

analysis_options.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,18 @@ include: package:flutter_lints/flutter.yaml
33
linter:
44
rules:
55
always_declare_return_types: true
6+
always_put_control_body_on_new_line: true
7+
avoid_print: false
8+
avoid_renaming_method_parameters: true
9+
avoid_unnecessary_containers: true
10+
avoid_void_async: true
11+
curly_braces_in_flow_control_structures: true
12+
directives_ordering: true
613
flutter_style_todos: true
714
library_private_types_in_public_api: false
15+
overridden_fields: false
16+
prefer_const_constructors: true
17+
prefer_const_constructors_in_immutables: false
818
prefer_final_fields: true
919
prefer_final_in_for_each: true
1020
prefer_final_locals: true
@@ -13,5 +23,9 @@ linter:
1323
sort_child_properties_last: true
1424
sort_constructors_first: true
1525
sort_unnamed_constructors_first: true
26+
unnecessary_await_in_return: true
27+
unnecessary_breaks: true
1628
unnecessary_late: true
29+
unnecessary_parenthesis: true
1730
use_build_context_synchronously: false
31+
void_checks: true

example/analysis_options.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
include: package:flutter_lints/flutter.yaml
1+
include: ../analysis_options.yaml
22

33
analyzer:
44
exclude:

example/lib/customs/custom_picker_page.dart

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,32 @@ class _CustomPickerPageState extends State<CustomPickersPage>
3232
icon: '🗄',
3333
name: context.l10n.customPickerDirectoryAndFileName,
3434
description: context.l10n.customPickerDirectoryAndFileDescription,
35-
method: (BuildContext context) => Navigator.of(context).push<void>(
36-
MaterialPageRoute<void>(
37-
builder: (_) => const DirectoryFileAssetPicker(),
38-
),
39-
),
35+
method: (BuildContext context) {
36+
Navigator.maybeOf(context)?.push<void>(
37+
MaterialPageRoute<void>(
38+
builder: (_) => const DirectoryFileAssetPicker(),
39+
),
40+
);
41+
},
4042
),
4143
CustomPickMethod(
4244
icon: '🔀',
4345
name: context.l10n.customPickerMultiTabName,
4446
description: context.l10n.customPickerMultiTabDescription,
45-
method: (BuildContext context) => Navigator.of(context).push<void>(
46-
MaterialPageRoute<void>(builder: (_) => const MultiTabAssetPicker()),
47-
),
47+
method: (BuildContext context) {
48+
Navigator.maybeOf(context)?.push<void>(
49+
MaterialPageRoute<void>(
50+
builder: (_) => const MultiTabAssetPicker(),
51+
),
52+
);
53+
},
4854
),
4955
CustomPickMethod(
5056
icon: '📷',
5157
name: context.l10n.customPickerInstagramLayoutName,
5258
description: context.l10n.customPickerInstagramLayoutDescription,
53-
method: (BuildContext context) => Navigator.of(context).push<void>(
59+
method: (BuildContext context) =>
60+
Navigator.maybeOf(context)?.push<void>(
5461
MaterialPageRoute<void>(builder: (_) => const InstaAssetPicker()),
5562
),
5663
),

example/lib/customs/pickers/directory_file_asset_picker.dart

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ class _DirectoryFileAssetPickerState extends State<DirectoryFileAssetPicker> {
190190
},
191191
);
192192
final List<File>? result =
193-
await Navigator.of(context).push<List<File>>(pageRoute);
193+
await Navigator.maybeOf(context)?.push<List<File>>(pageRoute);
194194
if (result != null && result != fileList) {
195195
fileList
196196
..clear()
@@ -384,7 +384,8 @@ class FileAssetPickerBuilder
384384
int? index,
385385
File currentAsset,
386386
) async {
387-
final List<File>? result = await Navigator.of(context).push<List<File>?>(
387+
final List<File>? result =
388+
await Navigator.maybeOf(context)?.push<List<File>?>(
388389
PageRouteBuilder<List<File>>(
389390
pageBuilder: (
390391
BuildContext context,
@@ -406,7 +407,7 @@ class FileAssetPickerBuilder
406407
),
407408
);
408409
if (result != null) {
409-
Navigator.of(context).maybePop(result);
410+
Navigator.maybeOf(context)?.maybePop(result);
410411
}
411412
}
412413

@@ -416,7 +417,7 @@ class FileAssetPickerBuilder
416417
required List<File> previewAssets,
417418
List<File>? selectedAssets,
418419
FileAssetPickerProvider? selectorProvider,
419-
}) {
420+
}) async {
420421
final Widget viewer = AssetPickerViewer<File, Directory>(
421422
builder: FileAssetPickerViewerBuilderDelegate(
422423
currentIndex: index,
@@ -446,7 +447,7 @@ class FileAssetPickerBuilder
446447
return FadeTransition(opacity: animation, child: child);
447448
},
448449
);
449-
return Navigator.of(context).push<List<File>?>(pageRoute);
450+
return await Navigator.maybeOf(context)?.push<List<File>?>(pageRoute);
450451
}
451452

452453
@override
@@ -773,7 +774,7 @@ class FileAssetPickerBuilder
773774
),
774775
onPressed: () {
775776
if (provider.isSelectedNotEmpty) {
776-
Navigator.of(context).pop(provider.selectedAssets);
777+
Navigator.maybeOf(context)?.pop(provider.selectedAssets);
777778
}
778779
},
779780
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
@@ -1029,7 +1030,7 @@ class FileAssetPickerBuilder
10291030
selectorProvider: provider,
10301031
);
10311032
if (result != null) {
1032-
Navigator.of(context).pop(result);
1033+
Navigator.maybeOf(context)?.pop(result);
10331034
}
10341035
}
10351036
: null,
@@ -1146,7 +1147,7 @@ class FileAssetPickerBuilder
11461147
previewAssets: provider.currentAssets,
11471148
);
11481149
if (result != null) {
1149-
Navigator.of(context).pop(result);
1150+
Navigator.maybeOf(context)?.pop(result);
11501151
}
11511152
},
11521153
child: AnimatedContainer(
@@ -1393,7 +1394,7 @@ class FileAssetPickerViewerBuilderDelegate
13931394
tooltip: MaterialLocalizations.of(
13941395
context,
13951396
).backButtonTooltip,
1396-
onPressed: Navigator.of(context).maybePop,
1397+
onPressed: Navigator.maybeOf(context)?.maybePop,
13971398
),
13981399
),
13991400
),
@@ -1491,7 +1492,8 @@ class FileAssetPickerViewerBuilderDelegate
14911492
),
14921493
onPressed: () {
14931494
if (provider.isSelectedNotEmpty) {
1494-
Navigator.of(context).pop(provider.currentlySelectedAssets);
1495+
Navigator.maybeOf(context)
1496+
?.pop(provider.currentlySelectedAssets);
14951497
}
14961498
},
14971499
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,

example/lib/customs/pickers/multi_tabs_assets_picker.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ class MultiTabAssetPickerBuilder extends DefaultAssetPickerBuilderDelegate {
394394
borderRadius: BorderRadius.circular(3),
395395
),
396396
onPressed: p.isSelectedNotEmpty
397-
? () => Navigator.of(context).maybePop(p.selectedAssets)
397+
? () => Navigator.maybeOf(context)?.maybePop(p.selectedAssets)
398398
: null,
399399
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
400400
child: Text(

example/lib/pages/multi_assets_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class _MultiAssetsPageState extends State<MultiAssetsPage>
3636
context: context,
3737
maxAssetsCount: maxAssetsCount,
3838
handleResult: (BuildContext context, AssetEntity result) =>
39-
Navigator.of(context).pop(<AssetEntity>[...assets, result]),
39+
Navigator.maybeOf(context)?.pop(<AssetEntity>[...assets, result]),
4040
),
4141
PickMethod.cameraAndStay(context, maxAssetsCount),
4242
PickMethod.changeLanguages(context, maxAssetsCount),

example/lib/pages/single_assets_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class _SingleAssetPageState extends State<SingleAssetPage>
3636
context: context,
3737
maxAssetsCount: maxAssetsCount,
3838
handleResult: (BuildContext context, AssetEntity result) =>
39-
Navigator.of(context).pop(<AssetEntity>[result]),
39+
Navigator.maybeOf(context)?.pop(<AssetEntity>[result]),
4040
),
4141
PickMethod.cameraAndStay(context, maxAssetsCount),
4242
PickMethod.changeLanguages(context, maxAssetsCount),

example/lib/pages/splash_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class _SplashPageState extends State<SplashPage> {
2929
} catch (_) {}
3030
await Future<void>.delayed(const Duration(seconds: 1));
3131
if (mounted) {
32-
Navigator.of(context).pushReplacement(
32+
Navigator.maybeOf(context)?.pushReplacement(
3333
PageRouteBuilder<void>(
3434
pageBuilder: (_, __, ___) => const HomePage(),
3535
transitionsBuilder: (_, Animation<double> a, __, Widget child) {

lib/src/delegates/asset_picker_builder_delegate.dart

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,9 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
561561
return Padding(
562562
padding: const EdgeInsets.symmetric(vertical: 4),
563563
child: IconButton(
564-
onPressed: Navigator.of(context).maybePop,
564+
onPressed: () {
565+
Navigator.maybeOf(context)?.maybePop();
566+
},
565567
tooltip: MaterialLocalizations.of(context).closeButtonTooltip,
566568
icon: Icon(
567569
Icons.close,
@@ -578,7 +580,9 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
578580
margin: const EdgeInsetsDirectional.only(start: 16, top: 4),
579581
alignment: AlignmentDirectional.centerStart,
580582
child: IconButton(
581-
onPressed: Navigator.of(context).maybePop,
583+
onPressed: () {
584+
Navigator.maybeOf(context)?.maybePop();
585+
},
582586
icon: const Icon(Icons.close),
583587
padding: EdgeInsets.zero,
584588
constraints: BoxConstraints.tight(const Size.square(32)),
@@ -627,7 +631,9 @@ abstract class AssetPickerBuilderDelegate<Asset, Path> {
627631
);
628632

629633
final Widget accessLimitedButton = GestureDetector(
630-
onTap: () => permissionOverlayDisplay.value = false,
634+
onTap: () {
635+
permissionOverlayDisplay.value = false;
636+
},
631637
child: ScaleText(
632638
textDelegate.accessLimitedAssets,
633639
style: TextStyle(color: interactiveTextColor(context)),
@@ -807,7 +813,7 @@ class DefaultAssetPickerBuilderDelegate
807813
}
808814
provider.selectAsset(asset);
809815
if (isSingleAssetMode && !isPreviewEnabled) {
810-
Navigator.of(context).maybePop(provider.selectedAssets);
816+
Navigator.maybeOf(context)?.maybePop(provider.selectedAssets);
811817
}
812818
}
813819

@@ -929,7 +935,7 @@ class DefaultAssetPickerBuilderDelegate
929935
shouldReversePreview: revert,
930936
);
931937
if (result != null) {
932-
Navigator.of(context).maybePop(result);
938+
Navigator.maybeOf(context)?.maybePop(result);
933939
}
934940
}
935941

@@ -1355,10 +1361,14 @@ class DefaultAssetPickerBuilderDelegate
13551361
hint: hint,
13561362
image: asset.type == AssetType.image ||
13571363
asset.type == AssetType.video,
1358-
onTap: () => selectAsset(context, asset, index, isSelected),
1364+
onTap: () {
1365+
selectAsset(context, asset, index, isSelected);
1366+
},
13591367
onTapHint: semanticsTextDelegate.sActionSelectHint,
13601368
onLongPress: isPreviewEnabled
1361-
? () => viewAsset(context, index, asset)
1369+
? () {
1370+
viewAsset(context, index, asset);
1371+
}
13621372
: null,
13631373
onLongPressHint: semanticsTextDelegate.sActionPreviewHint,
13641374
selected: isSelected,
@@ -1371,7 +1381,9 @@ class DefaultAssetPickerBuilderDelegate
13711381
// Regression https://github.com/flutter/flutter/issues/35112.
13721382
onLongPress: isPreviewEnabled &&
13731383
MediaQuery.accessibleNavigationOf(context)
1374-
? () => viewAsset(context, index, asset)
1384+
? () {
1385+
viewAsset(context, index, asset);
1386+
}
13751387
: null,
13761388
child: IndexedSemantics(
13771389
index: semanticIndex(index),
@@ -1513,7 +1525,9 @@ class DefaultAssetPickerBuilderDelegate
15131525
borderRadius: BorderRadius.circular(3),
15141526
),
15151527
onPressed: shouldAllowConfirm
1516-
? () => Navigator.of(context).maybePop(p.selectedAssets)
1528+
? () {
1529+
Navigator.maybeOf(context)?.maybePop(p.selectedAssets);
1530+
}
15171531
: null,
15181532
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
15191533
child: ScaleText(
@@ -1586,7 +1600,9 @@ class DefaultAssetPickerBuilderDelegate
15861600
ignoring: !isSwitchingPath,
15871601
child: ExcludeSemantics(
15881602
child: GestureDetector(
1589-
onTap: () => this.isSwitchingPath.value = false,
1603+
onTap: () {
1604+
this.isSwitchingPath.value = false;
1605+
},
15901606
child: AnimatedOpacity(
15911607
duration: switchingPathDuration,
15921608
opacity: isSwitchingPath ? .75 : 0,
@@ -1927,7 +1943,9 @@ class DefaultAssetPickerBuilderDelegate
19271943
child: Consumer<DefaultAssetPickerProvider>(
19281944
builder: (context, DefaultAssetPickerProvider p, __) => GestureDetector(
19291945
onTap: p.isSelectedNotEmpty
1930-
? () => viewAsset(context, null, p.selectedAssets.first)
1946+
? () {
1947+
viewAsset(context, null, p.selectedAssets.first);
1948+
}
19311949
: null,
19321950
child: Selector<DefaultAssetPickerProvider, String>(
19331951
selector: (_, DefaultAssetPickerProvider p) =>
@@ -2008,7 +2026,9 @@ class DefaultAssetPickerBuilderDelegate
20082026
);
20092027
final Widget selectorWidget = GestureDetector(
20102028
behavior: HitTestBehavior.opaque,
2011-
onTap: () => selectAsset(context, asset, index, selected),
2029+
onTap: () {
2030+
selectAsset(context, asset, index, selected);
2031+
},
20122032
child: Container(
20132033
margin: EdgeInsets.all(indicatorSize / 4),
20142034
width: isPreviewEnabled ? indicatorSize : null,
@@ -2037,7 +2057,11 @@ class DefaultAssetPickerBuilderDelegate
20372057
MediaQuery.sizeOf(context).width / gridCount / 3;
20382058
return Positioned.fill(
20392059
child: GestureDetector(
2040-
onTap: isPreviewEnabled ? () => viewAsset(context, index, asset) : null,
2060+
onTap: isPreviewEnabled
2061+
? () {
2062+
viewAsset(context, index, asset);
2063+
}
2064+
: null,
20412065
child: Consumer<DefaultAssetPickerProvider>(
20422066
builder: (_, DefaultAssetPickerProvider p, __) {
20432067
final int index = p.selectedAssets.indexOf(asset);

lib/src/delegates/asset_picker_delegate.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,10 @@ class AssetPickerDelegate {
117117
locale: Localizations.maybeLocaleOf(context),
118118
),
119119
);
120-
final List<AssetEntity>? result = await Navigator.of(
120+
final List<AssetEntity>? result = await Navigator.maybeOf(
121121
context,
122122
rootNavigator: useRootNavigator,
123-
).push<List<AssetEntity>>(
123+
)?.push<List<AssetEntity>>(
124124
pageRouteBuilder?.call(picker) ??
125125
AssetPickerPageRoute<List<AssetEntity>>(builder: (_) => picker),
126126
);
@@ -159,10 +159,10 @@ class AssetPickerDelegate {
159159
key: key,
160160
builder: delegate,
161161
);
162-
final List<Asset>? result = await Navigator.of(
162+
final List<Asset>? result = await Navigator.maybeOf(
163163
context,
164164
rootNavigator: useRootNavigator,
165-
).push<List<Asset>>(
165+
)?.push<List<Asset>>(
166166
pageRouteBuilder?.call(picker) ??
167167
AssetPickerPageRoute<List<Asset>>(builder: (_) => picker),
168168
);

0 commit comments

Comments
 (0)