diff options
author | Roger Olsson <roger.olsson@sony.com> | 2018-04-12 10:08:01 +0200 |
---|---|---|
committer | Alexander Martinz <amartinz@shiftphones.com> | 2018-04-27 10:14:06 +0200 |
commit | cfe2ebcd4298e898f9b3099dfb7b72433a839ae8 (patch) | |
tree | 8af84640b334feeae968c2e5abc313ea809b1433 /src | |
parent | f8f263a9c350d9561cfe6169596e5b1186d5d838 (diff) | |
download | android_packages_apps_Trebuchet-cfe2ebcd4298e898f9b3099dfb7b72433a839ae8.tar.gz android_packages_apps_Trebuchet-cfe2ebcd4298e898f9b3099dfb7b72433a839ae8.tar.bz2 android_packages_apps_Trebuchet-cfe2ebcd4298e898f9b3099dfb7b72433a839ae8.zip |
Avoid crash when widget previews have no intrinsic size
Intrinsic size for widget preview drawable checked.
Needed since some drawables, like color drawables,
do not have any intrinsic size.
Bug: 78452220
Test: manual, see Bug info.
Change-Id: I815353773e38b1fce2fe19962f07c1727e1b0768
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/WidgetPreviewLoader.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/com/android/launcher3/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java index a65ea9b10..e8c1361fe 100644 --- a/src/com/android/launcher3/WidgetPreviewLoader.java +++ b/src/com/android/launcher3/WidgetPreviewLoader.java @@ -340,7 +340,8 @@ public class WidgetPreviewLoader { int previewWidth; int previewHeight; - if (widgetPreviewExists) { + if (widgetPreviewExists && drawable.getIntrinsicWidth() > 0 + && drawable.getIntrinsicHeight() > 0) { previewWidth = drawable.getIntrinsicWidth(); previewHeight = drawable.getIntrinsicHeight(); } else { @@ -360,8 +361,8 @@ public class WidgetPreviewLoader { scale = maxPreviewWidth / (float) (previewWidth); } if (scale != 1f) { - previewWidth = (int) (scale * previewWidth); - previewHeight = (int) (scale * previewHeight); + previewWidth = Math.max((int)(scale * previewWidth), 1); + previewHeight = Math.max((int)(scale * previewHeight), 1); } // If a bitmap is passed in, we use it; otherwise, we create a bitmap of the right size |