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

Commit 0e28664e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix NPE in DialogLaunchAnimator" into tm-qpr-dev am: 120867a3 am: 2ea0a495

parents 03b4f850 2ea0a495
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ constructor(
     */
    interface Controller {
        /** The [ViewRootImpl] of this controller. */
        val viewRoot: ViewRootImpl
        val viewRoot: ViewRootImpl?

        /**
         * The identity object of the source animated by this controller. This animator will ensure
@@ -807,15 +807,17 @@ private class AnimatedDialog(
     * inversely, removed from the overlay when the source is moved back to its original position).
     */
    private fun synchronizeNextDraw(then: () -> Unit) {
        if (forceDisableSynchronization) {
            // Don't synchronize when inside an automated test.
        val controllerRootView = controller.viewRoot?.view
        if (forceDisableSynchronization || controllerRootView == null) {
            // Don't synchronize when inside an automated test or if the controller root view is
            // detached.
            then()
            return
        }

        ViewRootSync.synchronizeNextDraw(controller.viewRoot.view, decorView, then)
        ViewRootSync.synchronizeNextDraw(controllerRootView, decorView, then)
        decorView.invalidate()
        controller.viewRoot.view.invalidate()
        controllerRootView.invalidate()
    }

    private fun findFirstViewGroupWithBackground(view: View): ViewGroup? {
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ internal constructor(
    private val source: View,
    override val cuj: DialogCuj?,
) : DialogLaunchAnimator.Controller {
    override val viewRoot: ViewRootImpl
    override val viewRoot: ViewRootImpl?
        get() = source.viewRootImpl

    override val sourceIdentity: Any = source
+1 −1
Original line number Diff line number Diff line
@@ -262,7 +262,7 @@ internal class ExpandableControllerImpl(

    private fun dialogController(cuj: DialogCuj?): DialogLaunchAnimator.Controller {
        return object : DialogLaunchAnimator.Controller {
            override val viewRoot: ViewRootImpl = composeViewRoot.viewRootImpl
            override val viewRoot: ViewRootImpl? = composeViewRoot.viewRootImpl
            override val sourceIdentity: Any = this@ExpandableControllerImpl
            override val cuj: DialogCuj? = cuj