Merge "Make TypedArray implement AutoCloseable" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-03-25 07:10:52 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 2 deletions

View File

@@ -13379,7 +13379,8 @@ package android.content.res {
method public void setTo(android.content.res.Resources.Theme);
}
public class TypedArray {
public class TypedArray implements java.lang.AutoCloseable {
method public void close();
method public boolean getBoolean(@StyleableRes int, boolean);
method public int getChangingConfigurations();
method @ColorInt public int getColor(@StyleableRes int, @ColorInt int);

View File

@@ -46,7 +46,7 @@ import java.util.Arrays;
* The indices used to retrieve values from this structure correspond to
* the positions of the attributes given to obtainStyledAttributes.
*/
public class TypedArray {
public class TypedArray implements AutoCloseable {
static TypedArray obtain(Resources res, int len) {
TypedArray attrs = res.mTypedArrayPool.acquire();
@@ -1252,6 +1252,17 @@ public class TypedArray {
mResources.mTypedArrayPool.release(this);
}
/**
* Recycles the TypedArray, to be re-used by a later caller. After calling
* this function you must not ever touch the typed array again.
*
* @see #recycle()
* @throws RuntimeException if the TypedArray has already been recycled.
*/
public void close() {
recycle();
}
/**
* Extracts theme attributes from a typed array for later resolution using
* {@link android.content.res.Resources.Theme#resolveAttributes(int[], int[])}.