diff options
| -rw-r--r-- | media/java/android/media/RemoteControlClient.java | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/media/java/android/media/RemoteControlClient.java b/media/java/android/media/RemoteControlClient.java index e6331ce4ce1c..2bdd3c9ac306 100644 --- a/media/java/android/media/RemoteControlClient.java +++ b/media/java/android/media/RemoteControlClient.java @@ -722,20 +722,22 @@ public class RemoteControlClient */ private Bitmap scaleBitmapIfTooBig(Bitmap bitmap, int maxWidth, int maxHeight) { - final int width = bitmap.getWidth(); - final int height = bitmap.getHeight(); - if (width > maxWidth || height > maxHeight) { - float scale = Math.min((float) maxWidth / width, (float) maxHeight / height); - int newWidth = Math.round(scale * width); - int newHeight = Math.round(scale * height); - Bitmap outBitmap = Bitmap.createBitmap(newWidth, newHeight, bitmap.getConfig()); - Canvas canvas = new Canvas(outBitmap); - Paint paint = new Paint(); - paint.setAntiAlias(true); - paint.setFilterBitmap(true); - canvas.drawBitmap(bitmap, null, - new RectF(0, 0, outBitmap.getWidth(), outBitmap.getHeight()), paint); - bitmap = outBitmap; + if (bitmap != null) { + final int width = bitmap.getWidth(); + final int height = bitmap.getHeight(); + if (width > maxWidth || height > maxHeight) { + float scale = Math.min((float) maxWidth / width, (float) maxHeight / height); + int newWidth = Math.round(scale * width); + int newHeight = Math.round(scale * height); + Bitmap outBitmap = Bitmap.createBitmap(newWidth, newHeight, bitmap.getConfig()); + Canvas canvas = new Canvas(outBitmap); + Paint paint = new Paint(); + paint.setAntiAlias(true); + paint.setFilterBitmap(true); + canvas.drawBitmap(bitmap, null, + new RectF(0, 0, outBitmap.getWidth(), outBitmap.getHeight()), paint); + bitmap = outBitmap; + } } return bitmap; |