diff options
| author | Sergei Vasilinetc <sergeyv@google.com> | 2016-03-30 23:42:33 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-30 23:42:34 +0000 |
| commit | 394d3dfb2d9ccd2ca2fd7aad06ef2e9a8458a0c7 (patch) | |
| tree | 2af66fe35456cf7900efc446d5067e8bca61fbc1 /core/java | |
| parent | 30cadc25293b82c6f142ead81ef10563ed52bf99 (diff) | |
| parent | b37d44e26778bcaeb02a9b73997ffcb97ff7328f (diff) | |
Merge "Hide children in ViewGroup.createSnaphost via internal flag and add test for it." into nyc-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/view/View.java | 4 | ||||
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 6811aedadaa0..dd79e62717b0 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -16299,8 +16299,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Create a snapshot of the view into a bitmap. We should probably make * some form of this public, but should think about the API. + * + * @hide */ - Bitmap createSnapshot(Bitmap.Config quality, int backgroundColor, boolean skipChildren) { + public Bitmap createSnapshot(Bitmap.Config quality, int backgroundColor, boolean skipChildren) { int width = mRight - mLeft; int height = mBottom - mTop; diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index f6958738353b..3f7bbdf24e97 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3251,8 +3251,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } + /** + * @hide + */ @Override - Bitmap createSnapshot(Bitmap.Config quality, int backgroundColor, boolean skipChildren) { + public Bitmap createSnapshot(Bitmap.Config quality, int backgroundColor, boolean skipChildren) { int count = mChildrenCount; int[] visibilities = null; @@ -3262,7 +3265,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager View child = getChildAt(i); visibilities[i] = child.getVisibility(); if (visibilities[i] == View.VISIBLE) { - child.setVisibility(INVISIBLE); + child.mViewFlags = (child.mViewFlags & ~View.VISIBILITY_MASK) + | (View.INVISIBLE & View.VISIBILITY_MASK); } } } @@ -3271,7 +3275,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (skipChildren) { for (int i = 0; i < count; i++) { - getChildAt(i).setVisibility(visibilities[i]); + View child = getChildAt(i); + child.mViewFlags = (child.mViewFlags & ~View.VISIBILITY_MASK) + | (visibilities[i] & View.VISIBILITY_MASK); } } |
