diff options
author | Michael Bestas <mkbestas@lineageos.org> | 2018-01-22 21:02:42 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2018-01-23 19:35:52 +0200 |
commit | a907407e035b52e8dcdd4ac3ae48b533c7942d5a (patch) | |
tree | ef031b8478effd2fd828495832260359486950f4 /src/org/lineageos/eleven/format/Capitalize.java | |
parent | da200d369e4e43f2587273e9dd7af9c91048cf68 (diff) | |
download | android_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.java | 60 |
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; + } +} |