package com.nilhcem.bblfr.core.utils;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import java.util.List;
import java.util.Locale;
public class StringUtils {
public static final String COMMA_SEPARATOR = ", ";
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static final String HTML_LINE_SEPARATOR = "<br />";
public static final String ZERO_WIDTH_SPACE = "\u200B";
private StringUtils() {
throw new UnsupportedOperationException();
}
public static String appendOptional(String first, String second) {
return appendOptional(first, second, null);
}
public static String appendOptional(String first, String second, String separator) {
StringBuilder sb = new StringBuilder();
if (!TextUtils.isEmpty(first)) {
sb.append(first);
}
if (!TextUtils.isEmpty(second)) {
if (sb.length() > 0 && separator != null) {
sb.append(separator);
}
sb.append(second);
}
return sb.toString();
}
public static String strJoin(List<String> entries, String separator) {
StringBuilder sb = new StringBuilder();
boolean addSeparatorFlag = false;
if (entries != null) {
for (String entry : entries) {
if (!TextUtils.isEmpty(entry)) {
if (addSeparatorFlag && separator != null) {
sb.append(separator);
} else {
addSeparatorFlag = true;
}
sb.append(entry);
}
}
}
return sb.toString();
}
/**
* Computes the start index of the spannable and adds a line separator (only if needed when force is set to false).
*/
public static int addLineSeparator(SpannableStringBuilder sb, boolean force) {
int start = sb.length();
if (force || start > 0) {
sb.append(LINE_SEPARATOR);
start++;
}
return start;
}
public static int addLineSeparator(SpannableStringBuilder sb) {
return addLineSeparator(sb, false);
}
public static Spanned createSpannedHtmlLink(String name, String url) {
return CompatibilityUtils.fromHtml(String.format(Locale.US, "<a href=\"%s\">%s</a>", url, name));
}
}