public static boolean compareVersion(String serverVersion, String localVersion, Context context) {
    boolean versionIsNew = false;

    if (serverVersion.isEmpty() || localVersion.isEmpty()) {
      return false;
    }

    final SimpleDateFormat format = OTAConfig.getInstance(context).getFormat();
    if (format == null) {
      try {
        int serverNumber = Integer.parseInt(serverVersion.replaceAll("[\\D]", ""));
        int currentNumber = Integer.parseInt(localVersion.replaceAll("[\\D]", ""));
        versionIsNew = serverNumber > currentNumber;
      } catch (NumberFormatException e) {
        OTAUtils.logError(e);
      }
    } else {
      try {
        Date serverDate = format.parse(serverVersion);
        Date currentDate = format.parse(localVersion);
        versionIsNew = serverDate.after(currentDate);
      } catch (ParseException e) {
        OTAUtils.logError(e);
      }
    }

    return versionIsNew;
  }