networkUsageAndroid static method

Future<List<NetworkUsageModel>> networkUsageAndroid({
  1. bool withAppIcon = false,
  2. bool oldVersion = false,
  3. NetworkUsageType dataUsageType = NetworkUsageType.mobile,
})

Implementation

static Future<List<NetworkUsageModel>> networkUsageAndroid({
  bool withAppIcon = false,
  bool oldVersion = false,
  NetworkUsageType dataUsageType = NetworkUsageType.mobile,
}) async {
  if (Platform.isAndroid) {
    final List<dynamic> dataUsage = await _channel.invokeMethod(
      oldVersion ? 'getNetworkUsageOld' : 'getNetworkUsage',
      <String, dynamic>{
        "withAppIcon": withAppIcon,
        "isWifi": dataUsageType == NetworkUsageType.wifi,
      },
    );
    return dataUsage
        .map((e) => NetworkUsageModel.fromJson(Map<String, dynamic>.from(e)))
        .toList();
  } else {
    //Limit API to Android Platform
    print(
      PlatformException(
        code: 'NETWORK_USAGE',
        message:
            'This method can only be called on an android device use .dataUsageIOS() instead',
      ),
    );
    return [];
  }
}