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

Commit 3e7bebf3 authored by Gus Prevas's avatar Gus Prevas
Browse files

Changes callback to a WeakReference in ActivityContainerCallback.

This change prevents the Runnable posted by ActivityContainerCallback
from retaining the ActivityView's callback if it is never cleared out
from ViewRootImpl.sRunQueues.

Bug: 19872883
Bug: 19654978
Change-Id: I6dce4381b96c8c77afcd38a55bfe474f13dfbfba
parent eded9424
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -350,11 +350,16 @@ public class ActivityView extends ViewGroup {
            if (activityView != null) {
                final ActivityViewCallback callback = activityView.mActivityViewCallback;
                if (callback != null) {
                    final WeakReference<ActivityViewCallback> callbackRef =
                            new WeakReference<>(callback);
                    activityView.post(new Runnable() {
                        @Override
                        public void run() {
                            ActivityViewCallback callback = callbackRef.get();
                            if (callback != null) {
                                callback.onAllActivitiesComplete(activityView);
                            }
                        }
                    });
                }
            }