diff options
Diffstat (limited to 'core/java/android/text/TextUtils.java')
| -rw-r--r-- | core/java/android/text/TextUtils.java | 30 |
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; |
