Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
99fb2d36
Unverified
Commit
99fb2d36
authored
Sep 30, 2022
by
Jonah Williams
Committed by
GitHub
Sep 30, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[flutter_tools] cache more directories (#112651)
parent
3ad1dbd5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
14 deletions
+15
-14
asset.dart
packages/flutter_tools/lib/src/asset.dart
+15
-13
asset_bundle_test.dart
...s/flutter_tools/test/general.shard/asset_bundle_test.dart
+0
-1
No files found.
packages/flutter_tools/lib/src/asset.dart
View file @
99fb2d36
...
@@ -1019,6 +1019,7 @@ class _AssetDirectoryCache {
...
@@ -1019,6 +1019,7 @@ class _AssetDirectoryCache {
final
FileSystem
_fileSystem
;
final
FileSystem
_fileSystem
;
final
Map
<
String
,
List
<
String
>>
_cache
=
<
String
,
List
<
String
>>{};
final
Map
<
String
,
List
<
String
>>
_cache
=
<
String
,
List
<
String
>>{};
final
Map
<
String
,
List
<
File
>>
_variantsPerFolder
=
<
String
,
List
<
File
>>{};
List
<
String
>
variantsFor
(
String
assetPath
)
{
List
<
String
>
variantsFor
(
String
assetPath
)
{
final
String
directory
=
_fileSystem
.
path
.
dirname
(
assetPath
);
final
String
directory
=
_fileSystem
.
path
.
dirname
(
assetPath
);
...
@@ -1030,25 +1031,26 @@ class _AssetDirectoryCache {
...
@@ -1030,25 +1031,26 @@ class _AssetDirectoryCache {
if
(
_cache
.
containsKey
(
assetPath
))
{
if
(
_cache
.
containsKey
(
assetPath
))
{
return
_cache
[
assetPath
]!;
return
_cache
[
assetPath
]!;
}
}
if
(!
_variantsPerFolder
.
containsKey
(
directory
))
{
final
List
<
FileSystemEntity
>
entitiesInDirectory
=
_fileSystem
.
directory
(
directory
).
listSync
();
_variantsPerFolder
[
directory
]
=
_fileSystem
.
directory
(
directory
)
.
listSync
()
.
whereType
<
Directory
>()
.
where
((
Directory
dir
)
=>
_assetVariantDirectoryRegExp
.
hasMatch
(
dir
.
basename
))
.
expand
((
Directory
dir
)
=>
dir
.
listSync
())
.
whereType
<
File
>()
.
toList
();
}
final
File
assetFile
=
_fileSystem
.
file
(
assetPath
);
final
File
assetFile
=
_fileSystem
.
file
(
assetPath
);
final
List
<
String
>
pathsOfVariants
=
<
String
>[
final
List
<
File
>
potentialVariants
=
_variantsPerFolder
[
directory
]!;
final
String
basename
=
assetFile
.
basename
;
return
_cache
[
assetPath
]
=
<
String
>[
// It's possible that the user specifies only explicit variants (e.g. .../1x/asset.png),
// It's possible that the user specifies only explicit variants (e.g. .../1x/asset.png),
// so there does not necessarily need to be a file at the given path.
// so there does not necessarily need to be a file at the given path.
if
(
assetFile
.
existsSync
())
if
(
assetFile
.
existsSync
())
assetPath
,
assetPath
,
...
entitiesInDirectory
...
potentialVariants
.
whereType
<
Directory
>()
.
where
((
File
file
)
=>
file
.
basename
==
basename
)
.
where
((
Directory
dir
)
=>
_assetVariantDirectoryRegExp
.
hasMatch
(
dir
.
basename
))
.
expand
((
Directory
dir
)
=>
dir
.
listSync
())
.
whereType
<
File
>()
.
where
((
File
file
)
=>
file
.
basename
==
assetFile
.
basename
)
.
map
((
File
file
)
=>
file
.
path
),
.
map
((
File
file
)
=>
file
.
path
),
];
];
_cache
[
assetPath
]
=
pathsOfVariants
;
return
pathsOfVariants
;
}
}
}
}
packages/flutter_tools/test/general.shard/asset_bundle_test.dart
View file @
99fb2d36
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
import
'dart:convert'
;
import
'dart:convert'
;
import
'package:file/file.dart'
;
import
'package:file/memory.dart'
;
import
'package:file/memory.dart'
;
import
'package:flutter_tools/src/artifacts.dart'
;
import
'package:flutter_tools/src/artifacts.dart'
;
import
'package:flutter_tools/src/asset.dart'
;
import
'package:flutter_tools/src/asset.dart'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment