@@ -541,31 +541,27 @@ final class ServiceExtensionManager with DisposerMixin {
541541 }
542542 }
543543
544- bool isServiceExtensionAvailable (String name) {
545- return _serviceExtensions.contains (name) ||
546- _pendingServiceExtensions.contains (name);
547- }
544+ bool isServiceExtensionAvailable (String name) =>
545+ _serviceExtensions.contains (name) ||
546+ _pendingServiceExtensions.contains (name);
548547
549548 Future <bool > waitForServiceExtensionAvailable (String name) {
550549 if (isServiceExtensionAvailable (name)) return Future .value (true );
551550
552- Completer <bool > createCompleter () {
553- // Listen for when the service extension is added and use it.
554- final completer = Completer <bool >();
555- final listenable = hasServiceExtension (name);
556- late VoidCallback listener;
557- listener = () {
558- if (listenable.value || ! completer.isCompleted) {
559- listenable.removeListener (listener);
560- completer.complete (true );
561- }
562- };
563- hasServiceExtension (name).addListener (listener);
564- return completer;
565- }
551+ // Listen for when the service extension is added and use it.
552+ final completer = Completer <bool >();
553+ final listenable = hasServiceExtension (name);
554+ late final VoidCallback listener;
555+ listener = () {
556+ if (listenable.value || ! completer.isCompleted) {
557+ listenable.removeListener (listener);
558+ completer.complete (true );
559+ }
560+ };
561+ hasServiceExtension (name).addListener (listener);
566562
567- _maybeRegisteringServiceExtensions[name] ?? = createCompleter () ;
568- return _maybeRegisteringServiceExtensions[name] ! .future;
563+ _maybeRegisteringServiceExtensions[name] ?? = completer ;
564+ return completer .future;
569565 }
570566
571567 ValueListenable <bool > hasServiceExtension (String name) {
@@ -587,10 +583,9 @@ final class ServiceExtensionManager with DisposerMixin {
587583 return _serviceExtensionStates.putIfAbsent (
588584 name,
589585 () {
590- return ValueNotifier <ServiceExtensionState >(
591- _enabledServiceExtensions.containsKey (name)
592- ? _enabledServiceExtensions[name]!
593- : ServiceExtensionState (enabled: false , value: null ),
586+ final state = _enabledServiceExtensions[name];
587+ return ValueNotifier (
588+ state ?? ServiceExtensionState (enabled: false , value: null ),
594589 );
595590 },
596591 );
0 commit comments