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

Commit 7cdc616a authored by Sebastian Franco's avatar Sebastian Franco
Browse files

Changing global variable for local variable to prevent memory leaks

The array mTmpObjArray is not properly clean but ther is no need
for the array to be global since every time is used is provided
so a use of a local variable will make sure is never leaked.

Fix: 269163620
Test: the flake related to memory leak on testWorkspace should dissapear
Change-Id: I29fb3dd6419f621f2ccce9db2fc5ed86358f7516
parent 1a09d4a2
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ public class FloatingIconView extends FrameLayout implements

    public static final float SHAPE_PROGRESS_DURATION = 0.10f;
    private static final RectF sTmpRectF = new RectF();
    private static final Object[] sTmpObjArray = new Object[1];

    private Runnable mEndRunnable;
    private CancellationSignal mLoadIconSignal;
@@ -289,12 +288,13 @@ public class FloatingIconView extends FrameLayout implements
        } else {
            int width = (int) pos.width();
            int height = (int) pos.height();
            Object[] tmpObjArray = new Object[1];
            if (supportsAdaptiveIcons) {
                boolean shouldThemeIcon = btvIcon instanceof FastBitmapDrawable
                        && ((FastBitmapDrawable) btvIcon).isThemed();
                drawable = getFullDrawable(l, info, width, height, shouldThemeIcon, sTmpObjArray);
                drawable = getFullDrawable(l, info, width, height, shouldThemeIcon, tmpObjArray);
                if (drawable instanceof AdaptiveIconDrawable) {
                    badge = getBadge(l, info, sTmpObjArray[0]);
                    badge = getBadge(l, info, tmpObjArray[0]);
                } else {
                    // The drawable we get back is not an adaptive icon, so we need to use the
                    // BubbleTextView icon that is already legacy treated.
@@ -306,7 +306,7 @@ public class FloatingIconView extends FrameLayout implements
                    drawable = btvIcon;
                } else {
                    drawable = getFullDrawable(l, info, width, height, true /* shouldThemeIcon */,
                            sTmpObjArray);
                            tmpObjArray);
                }
            }
        }
@@ -679,7 +679,6 @@ public class FloatingIconView extends FrameLayout implements
        mOriginalIcon = null;
        mOnTargetChangeRunnable = null;
        mBadge = null;
        sTmpObjArray[0] = null;
        sRecycledFetchIconId = sFetchIconId;
        mIconLoadResult = null;
        mClipIconView.recycle();