mirror of
https://github.com/flutter/flutter
synced 2024-10-13 03:32:55 +00:00
[flutter_tools] dont crash when looking for AS4.1 on windows with no LOCALAPPDATA (#77261)
This commit is contained in:
parent
5e62e6649b
commit
90f353f9b1
|
@ -346,7 +346,7 @@ class AndroidStudio implements Comparable<AndroidStudio> {
|
|||
}
|
||||
|
||||
// 4.1 has a different location for AndroidStudio installs on Windows.
|
||||
if (globals.platform.isWindows) {
|
||||
if (globals.platform.isWindows && globals.platform.environment.containsKey('LOCALAPPDATA')) {
|
||||
final File homeDot = globals.fs.file(globals.fs.path.join(
|
||||
globals.platform.environment['LOCALAPPDATA'],
|
||||
'Google',
|
||||
|
|
|
@ -288,6 +288,24 @@ void main() {
|
|||
ProcessManager: () => FakeProcessManager.any(),
|
||||
});
|
||||
|
||||
testUsingContext('Does not discover Android Studio 4.1 location on Windows if LOCALAPPDATA is null', () {
|
||||
windowsFileSystem.file(r'C:\Users\Dash\AppData\Local\Google\AndroidStudio4.1\.home')
|
||||
..createSync(recursive: true)
|
||||
..writeAsStringSync(r'C:\Program Files\AndroidStudio');
|
||||
windowsFileSystem
|
||||
.directory(r'C:\Program Files\AndroidStudio')
|
||||
.createSync(recursive: true);
|
||||
|
||||
expect(AndroidStudio.allInstalled(), isEmpty);
|
||||
}, overrides: <Type, Generator>{
|
||||
Platform: () => FakePlatform(
|
||||
operatingSystem: 'windows',
|
||||
environment: <String, String>{}, // Does not include LOCALAPPDATA
|
||||
),
|
||||
FileSystem: () => windowsFileSystem,
|
||||
ProcessManager: () => FakeProcessManager.any(),
|
||||
});
|
||||
|
||||
group('Installation detection on Linux', () {
|
||||
FileSystemUtils fsUtils;
|
||||
|
||||
|
|
Loading…
Reference in a new issue