Fix crash when creating a HW Bitmap on a detached view

BUG: 65160121
Test: Unable to repro the crash before or after the fix

Change-Id: I84fa28557c67a6672b8d82443d4da7be4f28a50d
This commit is contained in:
Doris Liu
2017-09-25 15:45:05 -07:00
parent 73e6ff1925
commit 4dc1ec754c

View File

@@ -159,11 +159,14 @@ public class TransitionUtils {
* @return A bitmap of the given view or null if bounds has no width or height.
*/
public static Bitmap createViewBitmap(View view, Matrix matrix, RectF bounds) {
if (!view.isAttachedToWindow()) {
return null;
}
Bitmap bitmap = null;
int bitmapWidth = Math.round(bounds.width());
int bitmapHeight = Math.round(bounds.height());
if (bitmapWidth > 0 && bitmapHeight > 0) {
float scale = Math.min(1f, ((float)MAX_IMAGE_SIZE) / (bitmapWidth * bitmapHeight));
float scale = Math.min(1f, ((float) MAX_IMAGE_SIZE) / (bitmapWidth * bitmapHeight));
bitmapWidth *= scale;
bitmapHeight *= scale;
matrix.postTranslate(-bounds.left, -bounds.top);