Merge "AccessibilityNodeInfo incorrectly cloned." into klp-dev

This commit is contained in:
Svetoslav Ganov
2013-09-09 21:06:37 +00:00
committed by Android (Google) Code Review

View File

@@ -2279,9 +2279,12 @@ public class AccessibilityNodeInfo implements Parcelable {
if (other.mExtras != null && !other.mExtras.isEmpty()) { if (other.mExtras != null && !other.mExtras.isEmpty()) {
getExtras().putAll(other.mExtras); getExtras().putAll(other.mExtras);
} }
mRangeInfo = other.mRangeInfo; mRangeInfo = (other.mRangeInfo != null)
mCollectionInfo = other.mCollectionInfo; ? RangeInfo.obtain(other.mRangeInfo) : null;
mCollectionItemInfo = other.mCollectionItemInfo; mCollectionInfo = (other.mCollectionInfo != null)
? CollectionInfo.obtain(other.mCollectionInfo) : null;
mCollectionItemInfo = (other.mCollectionItemInfo != null)
? CollectionItemInfo.obtain(other.mCollectionItemInfo) : null;
} }
/** /**
@@ -2601,6 +2604,17 @@ public class AccessibilityNodeInfo implements Parcelable {
private float mMax; private float mMax;
private float mCurrent; private float mCurrent;
/**
* Obtains a pooled instance that is a clone of another one.
*
* @param other The instance to clone.
*
* @hide
*/
public static RangeInfo obtain(RangeInfo other) {
return obtain(other.mType, other.mMin, other.mMax, other.mCurrent);
}
/** /**
* Obtains a pooled instance. * Obtains a pooled instance.
* *
@@ -2707,6 +2721,18 @@ public class AccessibilityNodeInfo implements Parcelable {
private int mColumnCount; private int mColumnCount;
private boolean mHierarchical; private boolean mHierarchical;
/**
* Obtains a pooled instance that is a clone of another one.
*
* @param other The instance to clone.
*
* @hide
*/
public static CollectionInfo obtain(CollectionInfo other) {
return CollectionInfo.obtain(other.mRowCount, other.mColumnCount,
other.mHierarchical);
}
/** /**
* Obtains a pooled instance. * Obtains a pooled instance.
* *
@@ -2795,6 +2821,18 @@ public class AccessibilityNodeInfo implements Parcelable {
private static final SynchronizedPool<CollectionItemInfo> sPool = private static final SynchronizedPool<CollectionItemInfo> sPool =
new SynchronizedPool<CollectionItemInfo>(MAX_POOL_SIZE); new SynchronizedPool<CollectionItemInfo>(MAX_POOL_SIZE);
/**
* Obtains a pooled instance that is a clone of another one.
*
* @param other The instance to clone.
*
* @hide
*/
public static CollectionItemInfo obtain(CollectionItemInfo other) {
return CollectionItemInfo.obtain(other.mRowIndex, other.mRowSpan,
other.mColumnIndex, other.mColumnSpan, other.mHeading);
}
/** /**
* Obtains a pooled instance. * Obtains a pooled instance.
* *