summaryrefslogtreecommitdiffstats
path: root/src/org/lineageos/eleven/format/Capitalize.java
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2018-01-22 21:02:42 +0200
committerMichael Bestas <mkbestas@lineageos.org>2018-01-23 19:35:52 +0200
commita907407e035b52e8dcdd4ac3ae48b533c7942d5a (patch)
treeef031b8478effd2fd828495832260359486950f4 /src/org/lineageos/eleven/format/Capitalize.java
parentda200d369e4e43f2587273e9dd7af9c91048cf68 (diff)
downloadandroid_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.gz
android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.tar.bz2
android_packages_apps_Eleven-a907407e035b52e8dcdd4ac3ae48b533c7942d5a.zip
Eleven: rebrand step 1: update paths
Change-Id: Iab35e4024e20c48e7439e78d1c6efe0ef4f730ca
Diffstat (limited to 'src/org/lineageos/eleven/format/Capitalize.java')
-rw-r--r--src/org/lineageos/eleven/format/Capitalize.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/org/lineageos/eleven/format/Capitalize.java b/src/org/lineageos/eleven/format/Capitalize.java
new file mode 100644
index 0000000..d23683c
--- /dev/null
+++ b/src/org/lineageos/eleven/format/Capitalize.java
@@ -0,0 +1,60 @@
+
+package com.cyanogenmod.eleven.format;
+
+import android.text.TextUtils;
+
+public class Capitalize {
+
+ /* This class is never initiated */
+ public Capitalize() {
+ }
+
+ public static final String capitalize(String str) {
+ return capitalize(str, null);
+ }
+
+ /**
+ * Capitalizes the first character in a string
+ *
+ * @param str The string to capitalize
+ * @param delimiters The delimiters
+ * @return A captitalized string
+ */
+ public static final String capitalize(String str, char... delimiters) {
+ final int delimLen = delimiters == null ? -1 : delimiters.length;
+ if (TextUtils.isEmpty(str) || delimLen == 0) {
+ return str;
+ }
+ final char[] buffer = str.toCharArray();
+ boolean capitalizeNext = true;
+ for (int i = 0; i < buffer.length; i++) {
+ char ch = buffer[i];
+ if (isDelimiter(ch, delimiters)) {
+ capitalizeNext = true;
+ } else if (capitalizeNext) {
+ buffer[i] = Character.toTitleCase(ch);
+ capitalizeNext = false;
+ }
+ }
+ return new String(buffer);
+ }
+
+ /**
+ * Is the character a delimiter.
+ *
+ * @param ch the character to check
+ * @param delimiters the delimiters
+ * @return true if it is a delimiter
+ */
+ private static final boolean isDelimiter(char ch, char[] delimiters) {
+ if (delimiters == null) {
+ return Character.isWhitespace(ch);
+ }
+ for (char delimiter : delimiters) {
+ if (ch == delimiter) {
+ return true;
+ }
+ }
+ return false;
+ }
+}