getPackageInfo method

  1. @override
Future<Map<String, dynamic>> getPackageInfo(
  1. dynamic packageName
)
override

Implementation

@override
Future<Map<String, dynamic>> getPackageInfo(packageName) async {
  Map<String, dynamic> resultMap = {};
  try {
    final Map<dynamic, dynamic>? result = await methodChannel
        .invokeMethod('getPackageInfo', {'packageName': packageName});
    if (result != null) {
      final String? appName = result['appName'] as String?;
      if (appName != null && appName.isNotEmpty) {
        resultMap = result.cast<String, dynamic>();
      } else {
        if (kDebugMode) {
          print(
              'Invalid result received from platform method for package: $packageName');
        }
      }
    } else {
      if (kDebugMode) {
        print(
            'No result received from platform method for package: $packageName');
      }
    }
  } on PlatformException catch (e) {
    if (kDebugMode) {
      print(
          "Failed to retrieve package info for package: $packageName - '${e.message}'.");
    }
  }
  return resultMap;
}