diff options
| author | 2022-01-29 10:29:29 +0000 | |
|---|---|---|
| committer | 2022-01-29 10:29:29 +0000 | |
| commit | 4a4797cbc1f19b6518424f4040beda26f2968e2e (patch) | |
| tree | 712eebdc55ecc85d3cff35f18718c7bb41b51550 | |
| parent | fa43f240c499df366e1b6123cd682d084f6e1a8d (diff) | |
| parent | 4c1c4ee37ed5b51beed13fcd933065145d17b48d (diff) | |
Merge "Making CursorWindowAllocationException public"
| -rw-r--r-- | core/api/current.txt | 4 | ||||
| -rw-r--r-- | core/java/android/database/CursorWindow.java | 5 | ||||
| -rw-r--r-- | core/java/android/database/CursorWindowAllocationException.java | 6 |
3 files changed, 12 insertions, 3 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index fe938a9a99ec..f026116bb8f3 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -12953,6 +12953,10 @@ package android.database { field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR; } + public class CursorWindowAllocationException extends java.lang.RuntimeException { + ctor public CursorWindowAllocationException(@NonNull String); + } + public class CursorWrapper implements android.database.Cursor { ctor public CursorWrapper(android.database.Cursor); method public void close(); diff --git a/core/java/android/database/CursorWindow.java b/core/java/android/database/CursorWindow.java index f13c79587a28..52bba1484f1a 100644 --- a/core/java/android/database/CursorWindow.java +++ b/core/java/android/database/CursorWindow.java @@ -131,11 +131,16 @@ public class CursorWindow extends SQLiteClosable implements Parcelable { * * @param name The name of the cursor window, or null if none. * @param windowSizeBytes Size of cursor window in bytes. + * @throws IllegalArgumentException if {@code windowSizeBytes} is less than 0 + * @throws AssertionError if created window pointer is 0 * <p><strong>Note:</strong> Memory is dynamically allocated as data rows are added to the * window. Depending on the amount of data stored, the actual amount of memory allocated can be * lower than specified size, but cannot exceed it. */ public CursorWindow(String name, @BytesLong long windowSizeBytes) { + if (windowSizeBytes < 0) { + throw new IllegalArgumentException("Window size cannot be less than 0"); + } mStartPos = 0; mName = name != null && name.length() != 0 ? name : "<unnamed>"; mWindowPtr = nativeCreate(mName, (int) windowSizeBytes); diff --git a/core/java/android/database/CursorWindowAllocationException.java b/core/java/android/database/CursorWindowAllocationException.java index 2e3227dc6788..5315c8b591ab 100644 --- a/core/java/android/database/CursorWindowAllocationException.java +++ b/core/java/android/database/CursorWindowAllocationException.java @@ -16,14 +16,14 @@ package android.database; +import android.annotation.NonNull; + /** * This exception is thrown when a CursorWindow couldn't be allocated, * most probably due to memory not being available. - * - * @hide */ public class CursorWindowAllocationException extends RuntimeException { - public CursorWindowAllocationException(String description) { + public CursorWindowAllocationException(@NonNull String description) { super(description); } } |