From 17fd7dbc37d63b2f18974707d459f4df2af18361 Mon Sep 17 00:00:00 2001 From: "XieRan.sai" Date: Tue, 18 Jun 2019 02:06:28 +0800 Subject: [PATCH] Fix crash on Huawei device with AndroidView (flutter/engine#9192) Fixes a rare NullPointerException on Huawei devices: ``` Stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.DisplayAdjustments android.view.Display.getDisplayAdjustments()' on a null object reference at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1793) ... ``` --- .../io/flutter/plugin/platform/VirtualDisplayController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java index eb59218ca66..54ffc1ff3b4 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java @@ -151,6 +151,8 @@ class VirtualDisplayController { public void dispose() { PlatformView view = presentation.getView(); + // Fix rare crash on HuaWei device described in: https://github.com/flutter/engine/pull/9192 + presentation.cancel(); presentation.detachState(); view.dispose(); virtualDisplay.release();