From 5b5d8c692e7d188349dac47492c4a50503ef1904 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sat, 28 Dec 2024 23:06:06 +0100 Subject: [PATCH] Fix status bar artifact on opens and closes On API 30 to 34, the status bar changes color when the keyboard appears and disappears. A ghost of the changed status bar is animated by the same animation used for the keyboard, which is unexpected. --- srcs/juloo.keyboard2/Keyboard2.java | 5 +++-- srcs/juloo.keyboard2/Keyboard2View.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java index 1179c73..6d3516d 100644 --- a/srcs/juloo.keyboard2/Keyboard2.java +++ b/srcs/juloo.keyboard2/Keyboard2.java @@ -292,8 +292,9 @@ public class Keyboard2 extends InputMethodService private void updateSoftInputWindowLayoutParams() { final Window window = getWindow().getWindow(); - // On API >= 30, Keyboard2View behaves as edge-to-edge - if (VERSION.SDK_INT >= 30) + // On API >= 35, Keyboard2View behaves as edge-to-edge + // APIs 30 to 34 have visual artifact when edge-to-edge is enabled + if (VERSION.SDK_INT >= 35) { WindowManager.LayoutParams wattrs = window.getAttributes(); wattrs.layoutInDisplayCutoutMode = diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java index 6d59974..f124b6b 100644 --- a/srcs/juloo.keyboard2/Keyboard2View.java +++ b/srcs/juloo.keyboard2/Keyboard2View.java @@ -264,7 +264,7 @@ public class Keyboard2View extends View int insets_bottom = 0; // LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS is set in [Keyboard2#updateSoftInputWindowLayoutParams]. // and keyboard is allowed do draw behind status/navigation bars - if (VERSION.SDK_INT >= 30) + if (VERSION.SDK_INT >= 35) { WindowMetrics metrics = ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE))