summaryrefslogtreecommitdiff
path: root/core/java/android/text/TextUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/text/TextUtils.java')
-rw-r--r--core/java/android/text/TextUtils.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index 43dfc8183ec6..afae5bb2d98c 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -1664,6 +1664,36 @@ public class TextUtils {
}
}
+ /**
+ * Pack 2 int values into a long, useful as a return value for a range
+ * @see #unpackRangeStartFromLong(long)
+ * @see #unpackRangeEndFromLong(long)
+ * @hide
+ */
+ public static long packRangeInLong(int start, int end) {
+ return (((long) start) << 32) | end;
+ }
+
+ /**
+ * Get the start value from a range packed in a long by {@link #packRangeInLong(int, int)}
+ * @see #unpackRangeEndFromLong(long)
+ * @see #packRangeInLong(int, int)
+ * @hide
+ */
+ public static int unpackRangeStartFromLong(long range) {
+ return (int) (range >>> 32);
+ }
+
+ /**
+ * Get the end value from a range packed in a long by {@link #packRangeInLong(int, int)}
+ * @see #unpackRangeStartFromLong(long)
+ * @see #packRangeInLong(int, int)
+ * @hide
+ */
+ public static int unpackRangeEndFromLong(long range) {
+ return (int) (range & 0x00000000FFFFFFFFL);
+ }
+
private static Object sLock = new Object();
private static char[] sTemp = null;