diff options
| author | Jules Aguillon | 2024-12-28 23:06:06 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2024-12-28 23:06:06 +0100 |
| commit | 5b5d8c692e7d188349dac47492c4a50503ef1904 (patch) | |
| tree | 9d1db1f0fdd629a381984f5baf90d83d40ddb63f | |
| parent | 926b99cbfe0506dc5cea915a71ea8da79075b59f (diff) | |
| download | unexpected-keyboard-5b5d8c692e7d188349dac47492c4a50503ef1904.tar.gz unexpected-keyboard-5b5d8c692e7d188349dac47492c4a50503ef1904.zip | |
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.
| -rw-r--r-- | srcs/juloo.keyboard2/Keyboard2.java | 5 | ||||
| -rw-r--r-- | 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)) |
