collect method
Collects and returns the value produced by this wizard step.
Implementation
@override
FirebaseConfig collect() {
LoggerService.blank();
LoggerService.info('Firebase');
final enabled = PromptService.confirm(
'Does project use Firebase?',
defaultValue: current?.enabled ?? false,
);
if (!enabled) {
return FirebaseConfig(
enabled: false,
testerGroup: current?.testerGroup ?? 'internal-testers',
configurations: const {},
);
}
final testerGroup = PromptService.ask(
'Default Firebase tester group',
defaultValue: current?.testerGroup ?? 'internal-testers',
);
final configurations = <String, FirebaseDetails>{};
for (final target in flavors.flavors) {
LoggerService.blank();
LoggerService.command(target);
final currentDetails = current?.configurationFor(target);
configurations[target] = FirebaseDetails(
android: _collectPlatform(
enabled: platforms.android,
platform: 'Android',
target: target,
current: currentDetails?.android,
),
ios: _collectPlatform(
enabled: platforms.ios,
platform: 'iOS',
target: target,
current: currentDetails?.ios,
),
web: _collectPlatform(
enabled: platforms.web,
platform: 'Web',
target: target,
current: currentDetails?.web,
),
);
}
return FirebaseConfig(
enabled: true,
testerGroup: testerGroup,
configurations: configurations,
);
}