Skip to content

Don't remove overlay views when the rasterizer is being torn down #97679

@blasten

Description

@blasten

Internal bug: http://b/217540786

When FlutterFragment is used, ViewGroup#dispatchDetachedFromWindow is called by the Android framework:

   at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
        at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
        at android.view.ViewGroup.endViewTransition(ViewGroup.java:7194)
        at android.support.v4.app.DefaultSpecialEffectsController$4$1.run(DefaultSpecialEffectsController.java:281)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7842)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

However, ViewGroup#dispatchDetachedFromWindow expects no view to be removed from the hierarchy, but some views are actually removed in https://github.com/flutter/engine/blob/65dfc9e3bf1927bf555ffb073ea5e7a9f3607e4d/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java#L967.

This causes a method to be called on a null instance.

This was likely started after flutter/engine#28894

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Critical issues such as a build break or regressiona: platform-viewsEmbedding Android/iOS views in Flutter appsplatform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions