summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorSergei Vasilinetc <sergeyv@google.com>2016-03-30 23:42:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-03-30 23:42:34 +0000
commit394d3dfb2d9ccd2ca2fd7aad06ef2e9a8458a0c7 (patch)
tree2af66fe35456cf7900efc446d5067e8bca61fbc1 /core/java
parent30cadc25293b82c6f142ead81ef10563ed52bf99 (diff)
parentb37d44e26778bcaeb02a9b73997ffcb97ff7328f (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.java4
-rw-r--r--core/java/android/view/ViewGroup.java12
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);
}
}