Loading core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -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; core/java/android/view/ViewGroup.java +9 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } } } Loading @@ -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); } } Loading core/tests/coretests/AndroidManifest.xml +6 −1 Original line number Diff line number Diff line Loading @@ -1093,7 +1093,12 @@ </intent-filter> </activity> <activity android:name="android.view.ViewCaptureTestActivity" android:label="ViewCaptureTestActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" /> </intent-filter> </activity> <!-- Activity-level metadata --> <meta-data android:name="com.android.frameworks.coretests.isApp" android:value="true" /> Loading core/tests/coretests/res/drawable-nodpi/view_capture_test_no_children_golden.png 0 → 100644 +329 B Loading image diff... core/tests/coretests/res/drawable-nodpi/view_capture_test_with_children_golden.png 0 → 100644 +343 B Loading image diff... Loading
core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -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;
core/java/android/view/ViewGroup.java +9 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } } } Loading @@ -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); } } Loading
core/tests/coretests/AndroidManifest.xml +6 −1 Original line number Diff line number Diff line Loading @@ -1093,7 +1093,12 @@ </intent-filter> </activity> <activity android:name="android.view.ViewCaptureTestActivity" android:label="ViewCaptureTestActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" /> </intent-filter> </activity> <!-- Activity-level metadata --> <meta-data android:name="com.android.frameworks.coretests.isApp" android:value="true" /> Loading
core/tests/coretests/res/drawable-nodpi/view_capture_test_no_children_golden.png 0 → 100644 +329 B Loading image diff...
core/tests/coretests/res/drawable-nodpi/view_capture_test_with_children_golden.png 0 → 100644 +343 B Loading image diff...