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

Commit ea91205f authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Fix two small thumbnail leaks" into ub-launcher3-master

parents 4031d651 9b5f4aa4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -89,9 +89,13 @@ public final class RecentsActivity extends BaseRecentsActivity {
            int taskID = intent.getIntExtra(EXTRA_TASK_ID, 0);
            IBinder thumbnail = intent.getExtras().getBinder(EXTRA_THUMBNAIL);
            if (taskID != 0 && thumbnail instanceof ObjectWrapper) {
                ThumbnailData thumbnailData = ((ObjectWrapper<ThumbnailData>) thumbnail).get();
                ObjectWrapper<ThumbnailData> obj = (ObjectWrapper<ThumbnailData>) thumbnail;
                ThumbnailData thumbnailData = obj.get();
                mFallbackRecentsView.showCurrentTask(taskID);
                mFallbackRecentsView.updateThumbnail(taskID, thumbnailData);
                // Clear the ref since any reference to the extras on the system side will still
                // hold a reference to the wrapper
                obj.clear();
            }
        }
        intent.removeExtra(EXTRA_TASK_ID);
+5 −0
Original line number Diff line number Diff line
@@ -485,6 +485,11 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
    public void setOverviewStateEnabled(boolean enabled) {
        mOverviewStateEnabled = enabled;
        updateTaskStackListenerState();
        if (!enabled) {
            // Reset the running task when leaving overview since it can still have a reference to
            // its thumbnail
            mTmpRunningTask = null;
        }
    }

    public void onDigitalWellbeingToastShown() {
+5 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import android.os.IBinder;
 */
public class ObjectWrapper<T> extends Binder {

    private final T mObject;
    private T mObject;

    public ObjectWrapper(T object) {
        mObject = object;
@@ -35,6 +35,10 @@ public class ObjectWrapper<T> extends Binder {
        return mObject;
    }

    public void clear() {
        mObject = null;
    }

    public static IBinder wrap(Object obj) {
        return new ObjectWrapper<>(obj);
    }