Trim all whitespace from titles and labels.
Bug: 20953160
Change-Id: I1610df5e445a4139522226f68fa6439926bc70c6
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index 2dbf078..2981747 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -54,6 +54,8 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Various utilities shared amongst the Launcher's classes.
@@ -67,6 +69,9 @@
private static final Rect sOldBounds = new Rect();
private static final Canvas sCanvas = new Canvas();
+ private static final Pattern sTrimPattern =
+ Pattern.compile("^[\\s|\\p{javaSpaceChar}]*(.*)[\\s|\\p{javaSpaceChar}]*$");
+
static {
sCanvas.setDrawFilter(new PaintFlagsDrawFilter(Paint.DITHER_FLAG,
Paint.FILTER_BITMAP_FLAG));
@@ -616,4 +621,14 @@
return false;
}
+
+ /**
+ * Trims the string, removing all whitespace at the beginning and end of the string.
+ * Non-breaking whitespaces are also removed.
+ */
+ public static String trim(CharSequence s) {
+ // Just strip any sequence of whitespace or java space characters from the beginning and end
+ Matcher m = sTrimPattern.matcher(s);
+ return m.replaceAll("$1");
+ }
}