getAndroidConstants method

  1. @override
Future<AndroidHapticCapabilities> getAndroidConstants()
override

Implementation

@override
Future<AndroidHapticCapabilities> getAndroidConstants() async {
  if (defaultTargetPlatform != TargetPlatform.android) {
    throw UnimplementedError(
      'getAndroidConstants() is only implemented on Android.',
    );
  }

  // Check cache
  if (androidCapabilities != null) {
    return Future.value(androidCapabilities);
  }

  final resolvedCapabilities = await methodChannel
      .invokeMapMethod<String, dynamic>('getAndroidConstants')
      .then((map) {
        if (map == null) {
          throw PlatformException(
            code: 'NULL_CONSTANTS',
            message: 'Received null Android constants from platform.',
          );
        }
        return AndroidHapticCapabilities.fromMap(map);
      });

  // Cache the capabilities, they are constant for the device
  androidCapabilities = resolvedCapabilities;
  return resolvedCapabilities;
}