validateBundleIdOrPackageName static method

Future<String?> validateBundleIdOrPackageName()

Implementation

static Future<String?> validateBundleIdOrPackageName() async {
  final bundleIdValidation = await LocalData.getString('bundleIdValidation');
  int? errorCode;
  if (bundleIdValidation != 'success') {
    String? bundleId = await LocalData.getBundleIdOrPackageName();
    if (bundleId != null) {
      final validateBundleIdResponse =
          await RemoteData.validateBundleId(bundleId);
      final validateBundleIdData = jsonDecode(validateBundleIdResponse.body);
      if (validateBundleIdResponse.statusCode == 200 ||
          validateBundleIdResponse.statusCode == 201) {
        StaticData.bundleIdValidation =
            validateBundleIdData['data']['status'] == 'success'
                ? 'success'
                : 'failed';
        if (StaticData.bundleIdValidation == 'success') {
          await LocalData.putString('bundleIdValidation', 'success');
        }
      } else {
        StaticData.bundleIdValidation = 'failed';
        errorCode = validateBundleIdResponse.statusCode;
      }
    } else {
      StaticData.bundleIdValidation = 'not available';
    }
  } else {
    StaticData.bundleIdValidation = bundleIdValidation ?? "";
  }
  if (StaticData.bundleIdValidation != 'success' &&
      StaticData.bundleIdValidation != '') {
    print("${Constant.BUNDLE_ID_INVALID}\n$errorCode");
  }
  return StaticData.bundleIdValidation;
}