code: static String formatPriceStringUsingFree(long amount, @NonNull Currency currency, String free) {
          if (amount == 0) {
              return free;
          }
          NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
          DecimalFormatSymbols decimalFormatSymbols = ((java.text.DecimalFormat) currencyFormat)
                  .getDecimalFormatSymbols();
          decimalFormatSymbols.setCurrencySymbol(currency.getSymbol(Locale.getDefault()));
          ((java.text.DecimalFormat) currencyFormat).setDecimalFormatSymbols(decimalFormatSymbols);
  
          return formatPriceString(amount, currency);
      }
docs: Formats a monetary amount into a human friendly string where zero is returned
  as free.