diff options
Diffstat (limited to 'core/java/android')
| -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 83c6e9e1ab83..63035f26f33c 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -16235,8 +16235,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 816d9c48539e..ae9edc93d6b8 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); } } |
