aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-11-14 14:23:12 +0900
committerTadashi G. Takaoka <takaoka@google.com>2013-11-14 17:43:03 +0900
commit6589751ace9313b992b93b66357ba26109539bcd (patch)
treed60a00ab4f9d898eed50a4f0ebff5965ef6cf320 /java/src
parentc3a4c075c97affb47fbceab6ce68172c65bcdbfd (diff)
downloadlatinime-6589751ace9313b992b93b66357ba26109539bcd.tar.gz
latinime-6589751ace9313b992b93b66357ba26109539bcd.tar.xz
latinime-6589751ace9313b992b93b66357ba26109539bcd.zip
Add StringUtils.joinCommaSplittableText
Change-Id: I80ad9d8b5aee53f1403486a56ffae8d09cbd4e28
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/StringUtils.java26
1 files changed, 22 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/StringUtils.java b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
index a36548392..8c386e8ca 100644
--- a/java/src/com/android/inputmethod/latin/utils/StringUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/StringUtils.java
@@ -39,6 +39,8 @@ public final class StringUtils {
public static final int CAPITALIZE_FIRST = 1; // First only
public static final int CAPITALIZE_ALL = 2; // All caps
+ private static final String EMPTY_STRING = "";
+
private StringUtils() {
// This utility class is not publicly instantiable.
}
@@ -80,6 +82,22 @@ public final class StringUtils {
return containsInArray(text, extraValues.split(SEPARATOR_FOR_COMMA_SPLITTABLE_TEXT));
}
+ // Remove @UsedForTesting annotation once this method is used in the production code.
+ @UsedForTesting
+ public static String joinCommaSplittableText(final String head, final String tail) {
+ if (TextUtils.isEmpty(head) && TextUtils.isEmpty(tail)) {
+ return EMPTY_STRING;
+ }
+ // Here either head or tail is not null.
+ if (TextUtils.isEmpty(head)) {
+ return tail;
+ }
+ if (TextUtils.isEmpty(tail)) {
+ return head;
+ }
+ return head + SEPARATOR_FOR_COMMA_SPLITTABLE_TEXT + tail;
+ }
+
public static String appendToCommaSplittableTextIfNotExists(final String text,
final String extraValues) {
if (TextUtils.isEmpty(extraValues)) {
@@ -94,7 +112,7 @@ public final class StringUtils {
public static String removeFromCommaSplittableTextIfExists(final String text,
final String extraValues) {
if (TextUtils.isEmpty(extraValues)) {
- return "";
+ return EMPTY_STRING;
}
final String[] elements = extraValues.split(SEPARATOR_FOR_COMMA_SPLITTABLE_TEXT);
if (!containsInArray(text, elements)) {
@@ -380,7 +398,7 @@ public final class StringUtils {
@UsedForTesting
public static String byteArrayToHexString(byte[] bytes) {
if (bytes == null || bytes.length == 0) {
- return "";
+ return EMPTY_STRING;
}
final StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
@@ -444,7 +462,7 @@ public final class StringUtils {
public static String listToJsonStr(List<Object> list) {
if (list == null || list.isEmpty()) {
- return "";
+ return EMPTY_STRING;
}
final StringWriter sw = new StringWriter();
final JsonWriter writer = new JsonWriter(sw);
@@ -470,6 +488,6 @@ public final class StringUtils {
} catch (IOException e) {
}
}
- return "";
+ return EMPTY_STRING;
}
}