getSystemFeatures method

  1. @override
Future<List<SystemFeature>> getSystemFeatures()
override

Returns the native Android system features reported by the device.

Implementation

@override
Future<List<SystemFeature>> getSystemFeatures() async {
  final List<Object?>? featureList = await methodChannel
      .invokeListMethod<Object?>('getSystemFeatures');

  if (featureList == null) {
    throw PlatformException(
      code: 'native_lens_empty_features',
      message: 'Android returned an empty system feature list.',
    );
  }

  final List<SystemFeature> features = <SystemFeature>[];

  for (final Object? featureItem in featureList) {
    if (featureItem is Map<Object?, Object?>) {
      features.add(SystemFeature.fromMap(featureItem));
    }
  }

  return features;
}