From 4e9fbf41aa8ec4c9369d783f41a218679184c764 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Fri, 19 Nov 2021 17:17:38 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E4=BF=AE=E5=A4=8D=E5=BC=B9=E7=AA=97=20jav?= =?UTF-8?q?a.lang.IllegalArgumentException:=20View=3Dcom.mogo.eagle.core.f?= =?UTF-8?q?unction.hmi.notification.widget.ParentFrameLayout{5d9c8ea=20V.E?= =?UTF-8?q?......=20......I.=200,0-551,186}=20not=20attached=20to=20window?= =?UTF-8?q?=20manager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../function/hmi/notification/WarningFloatWindowHelper.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt index 0cdc3fc1a1..3f1b4a2338 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt @@ -139,7 +139,7 @@ internal class WarningFloatWindowHelper( config.statusListenerMapIMoGo.forEach { listener -> listener.onShow() } - if (frameLayout == null || config.isAnim) return + if (frameLayout == null|| frameLayout?.isAttachedToWindow == false || config.isAnim) return enterAnimator = AnimatorManager(frameLayout!!, params, windowManager, config) .enterAnim()?.apply { // 可以延伸到屏幕外,动画结束按需去除该属性,不然旋转屏幕可能置于屏幕外部 @@ -180,7 +180,7 @@ internal class WarningFloatWindowHelper( config.statusListenerMapIMoGo.forEach { listener -> listener.onDismiss() } - if (frameLayout == null || (config.isAnim && enterAnimator == null)) return + if (frameLayout == null|| frameLayout?.isAttachedToWindow == false || (config.isAnim && enterAnimator == null)) return enterAnimator?.cancel() val animator: Animator? = AnimatorManager(frameLayout!!, params, windowManager, config).exitAnim() @@ -223,7 +223,7 @@ internal class WarningFloatWindowHelper( */ @SuppressLint("RtlHardcoded") private fun setGravity(view: View?) { - if (config.locationPair != Pair(0, 0) || view == null) return + if (config.locationPair != Pair(0, 0) || view == null || !view.isAttachedToWindow) return val parentRect = Rect() // 获取浮窗所在的矩形 windowManager.defaultDisplay.getRectSize(parentRect)