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

Commit b1d8ad6b authored by Jon Miranda's avatar Jon Miranda Committed by android-build-merger
Browse files

Merge "Bandage fix for bitmap fatal exception where width / height !> 0." into...

Merge "Bandage fix for bitmap fatal exception where width / height !> 0." into ub-launcher3-qt-r1-dev
am: cf92f3ed

Change-Id: Iea9db807ebc65bcb612294a4283346e714b25f63
parents bfc2da1f cf92f3ed
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.Log;

import androidx.annotation.Nullable;

import com.android.launcher3.Launcher;
import com.android.launcher3.MainThreadExecutor;
import com.android.launcher3.R;
@@ -66,15 +68,19 @@ public class FolderAdaptiveIcon extends AdaptiveIconDrawable {
        return mBadge;
    }

    public static FolderAdaptiveIcon createFolderAdaptiveIcon(
    public static @Nullable FolderAdaptiveIcon createFolderAdaptiveIcon(
            Launcher launcher, int folderId, Point dragViewSize) {
        Preconditions.assertNonUiThread();
        int margin = launcher.getResources()
                .getDimensionPixelSize(R.dimen.blur_size_medium_outline);

        // Allocate various bitmaps on the background thread, because why not!
        final Bitmap badge = Bitmap.createBitmap(
                dragViewSize.x - margin, dragViewSize.y - margin, Bitmap.Config.ARGB_8888);
        int width = dragViewSize.x - margin;
        int height = dragViewSize.y - margin;
        if (width <= 0 || height <= 0) {
            return null;
        }
        final Bitmap badge = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

        // Create the actual drawable on the UI thread to avoid race conditions with
        // FolderIcon draw pass