Throw NullPointerException on args to Time#compare
Check for null on arguments to Time#compare(Time, Time) before passing it down to JNI code. Bug: 5073949 Change-Id: I077e9d5194a89206d1e51fc89a72c8a72e29f8f1
This commit is contained in:
@@ -281,10 +281,29 @@ public class Time {
|
||||
}
|
||||
|
||||
/**
|
||||
* return a negative number if a is less than b, a positive number if a is
|
||||
* greater than b, and 0 if they are equal.
|
||||
* Compare two {@code Time} objects and return a negative number if {@code
|
||||
* a} is less than {@code b}, a positive number if {@code a} is greater than
|
||||
* {@code b}, or 0 if they are equal.
|
||||
*
|
||||
* @param a first {@code Time} instance to compare
|
||||
* @param b second {@code Time} instance to compare
|
||||
* @throws NullPointerException if either argument is {@code null}
|
||||
* @throws IllegalArgumentException if {@link #allDay} is true but {@code
|
||||
* hour}, {@code minute}, and {@code second} are not 0.
|
||||
* @return a negative result if {@code a} is earlier, a positive result if
|
||||
* {@code a} is earlier, or 0 if they are equal.
|
||||
*/
|
||||
native public static int compare(Time a, Time b);
|
||||
public static int compare(Time a, Time b) {
|
||||
if (a == null) {
|
||||
throw new NullPointerException("a == null");
|
||||
} else if (b == null) {
|
||||
throw new NullPointerException("b == null");
|
||||
}
|
||||
|
||||
return nativeCompare(a, b);
|
||||
}
|
||||
|
||||
private static native int nativeCompare(Time a, Time b);
|
||||
|
||||
/**
|
||||
* Print the current value given the format string provided. See man
|
||||
|
||||
@@ -641,7 +641,7 @@ static JNINativeMethod gMethods[] = {
|
||||
/* name, signature, funcPtr */
|
||||
{ "normalize", "(Z)J", (void*)android_text_format_Time_normalize },
|
||||
{ "switchTimezone", "(Ljava/lang/String;)V", (void*)android_text_format_Time_switchTimezone },
|
||||
{ "compare", "(Landroid/text/format/Time;Landroid/text/format/Time;)I", (void*)android_text_format_Time_compare },
|
||||
{ "nativeCompare", "(Landroid/text/format/Time;Landroid/text/format/Time;)I", (void*)android_text_format_Time_compare },
|
||||
{ "format1", "(Ljava/lang/String;)Ljava/lang/String;", (void*)android_text_format_Time_format },
|
||||
{ "format2445", "()Ljava/lang/String;", (void*)android_text_format_Time_format2445 },
|
||||
{ "toString", "()Ljava/lang/String;", (void*)android_text_format_Time_toString },
|
||||
|
||||
Reference in New Issue
Block a user