anchor.diff:    /// repeatedly or in performance-sensitive blocks.
     DeviceInfoPlugin();
   
  +  /// Disables the platform override in order to use a manually registered
  +  /// [DeviceInfoPlatform] for testing purposes.
  +  /// See https://github.com/flutter/flutter/issues/52267 for more details.
  +  @visibleForTesting
  +  static set disableDeviceInfoPlatformOverride(bool override) {
  +    _disablePlatformOverride = override;
  +  }
  +
  +  static bool _disablePlatformOverride = false;
  +  static DeviceInfoPlatform __platform;
  +
  +  // This is to manually endorse the Linux plugin until automatic registration
  +  // of dart plugins is implemented.
  +  // See https://github.com/flutter/flutter/issues/52267 for more details.
  +  static DeviceInfoPlatform get _platform {
  +    __platform ??= !kIsWeb && Platform.isLinux && !_disablePlatformOverride
  +        ? DeviceInfoLinux()
  +        : DeviceInfoPlatform.instance;
  +    return __platform;
  +  }
  +
     /// This information does not change from call to call. Cache it.
     AndroidDeviceInfo _cachedAndroidDeviceInfo;
   
  
positive.code:   ///
    /// See: https://developer.apple.com/documentation/uikit/uidevice
    Future<IosDeviceInfo> get iosInfo async =>
        _cachedIosDeviceInfo ??= await DeviceInfoPlatform.instance.iosInfo();
  
    /// This information does not change from call to call. Cache it.
    LinuxDeviceInfo _cachedLinuxDeviceInfo;
  
negative.code:   ///
    /// See: https://www.freedesktop.org/software/systemd/man/os-release.html
    Future<LinuxDeviceInfo> get linuxInfo async =>
        _cachedLinuxDeviceInfo ??= await _platform.linuxInfo();
  
    /// This information does not change from call to call. Cache it.
    WebBrowserInfo _cachedWebBrowserInfo;
  
    /// Information derived from `Navigator`.
    Future<WebBrowserInfo> get webBrowserInfo async =>
        _cachedWebBrowserInfo ??= await _platform.webBrowserInfo();
  }
  