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

Commit f898ee47 authored by Luca Zuccarini's avatar Luca Zuccarini Committed by Android (Google) Code Review
Browse files

Merge "Remove redundant instances of depth controller." into udc-dev

parents b430b135 a96dcb0c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1065,6 +1065,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
                    new SurfaceControl.Transaction().remove(dimLayer).apply()));
        }

        backgroundRadiusAnim.addListener(
                AnimatorListeners.forEndCallback(depthController::dispose));

        return backgroundRadiusAnim;
    }

+22 −2
Original line number Diff line number Diff line
@@ -84,8 +84,7 @@ public class DepthController extends BaseDepthController implements StateHandler

                @Override
                public void onViewDetachedFromWindow(View view) {
                    CrossWindowBlurListeners.getInstance().removeListener(mCrossWindowBlurListener);
                    mLauncher.getScrimView().removeOpaquenessListener(mOpaquenessListener);
                    removeSecondaryListeners();
                }
            };
            rootView.addOnAttachStateChangeListener(mOnAttachListener);
@@ -95,6 +94,27 @@ public class DepthController extends BaseDepthController implements StateHandler
        }
    }

    /**
     * Cleans up after this controller so it can be garbage collected without leaving traces.
     */
    public void dispose() {
        removeSecondaryListeners();

        if (mLauncher.getRootView() != null && mOnAttachListener != null) {
            mLauncher.getRootView().removeOnAttachStateChangeListener(mOnAttachListener);
            mOnAttachListener = null;
        }
    }

    private void removeSecondaryListeners() {
        if (mCrossWindowBlurListener != null) {
            CrossWindowBlurListeners.getInstance().removeListener(mCrossWindowBlurListener);
        }
        if (mOpaquenessListener != null) {
            mLauncher.getScrimView().removeOpaquenessListener(mOpaquenessListener);
        }
    }

    /**
     * Sets if the underlying activity is started or not
     */