Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8991090d authored by Roger Olsson's avatar Roger Olsson Committed by Edward Savage-Jones
Browse files

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
parent 8ef0aff5
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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