diff --git a/packages/SystemUI/res/layout/udfps_view.xml b/packages/SystemUI/res/layout/udfps_view.xml index f474a36b99b78..732758a2ded25 100644 --- a/packages/SystemUI/res/layout/udfps_view.xml +++ b/packages/SystemUI/res/layout/udfps_view.xml @@ -1,5 +1,5 @@ - { + Log.v(TAG, "showUdfpsOverlay | adding window"); + if (!mIsOverlayShowing) { + try { + mWindowManager.addView(mView, mLayoutParams); + mIsOverlayShowing = true; + } catch (RuntimeException e) { + Log.e(TAG, "showUdfpsOverlay | failed to add window", e); + } } - } + }); } private void hideUdfpsOverlay() { - Log.v(TAG, "hideUdfpsOverlay | removing window"); - if (mIsOverlayShowing) { - mWindowManager.removeView(mView); - mIsOverlayShowing = false; - } + mHandler.post(() -> { + Log.v(TAG, "hideUdfpsOverlay | removing window"); + if (mIsOverlayShowing) { + mWindowManager.removeView(mView); + mIsOverlayShowing = false; + } + }); } private void onFingerDown(int x, int y, float minor, float major) {