getCapabilities method

  1. @override
Future<WallpaperCapabilities> getCapabilities()
override

Returns the capabilities supported by the current platform.

Implementation

@override
Future<WallpaperCapabilities> getCapabilities() async {
  try {
    final raw = await methodChannel.invokeMapMethod<String, dynamic>(
      'getCapabilities',
    );
    if (raw == null) return WallpaperCapabilities.none;

    return WallpaperCapabilities(
      supportsHome: raw['home'] as bool? ?? false,
      supportsLock: raw['lock'] as bool? ?? false,
      supportsBoth: raw['both'] as bool? ?? false,
      supportsCapturedWidget: raw['capturedWidget'] as bool? ?? false,
      supportsDirectImageSources: raw['directImageSources'] as bool? ?? false,
    );
  } on PlatformException catch (e) {
    debugPrint('getCapabilities error: ${e.message}');
    return WallpaperCapabilities.none;
  }
}