From 5573492719c6e1a7ef7b7571d40200965aee5c0f Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 11 Jun 2024 17:57:01 +0200 Subject: [PATCH] IME inset for windows only --- .../main/java/eu/faircode/email/ActivityBase.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index ffcdefcba3..1d0e53630c 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -86,6 +86,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc private int themeId; private Context originalContext; private boolean visible; + private boolean hasWindowFocus; private boolean contacts; private List keyPressedListeners = new ArrayList<>(); @@ -179,9 +180,11 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc mlp.bottomMargin = insets.bottom; v.setLayoutParams(mlp); - int bottom = windowInsets.getInsets(WindowInsetsCompat.Type.ime()).bottom; - int pad = bottom - insets.bottom; - v.setPaddingRelative(0, 0, 0, pad < 0 ? 0 : pad); + if (hasWindowFocus) { + int bottom = windowInsets.getInsets(WindowInsetsCompat.Type.ime()).bottom; + int pad = bottom - insets.bottom; + v.setPaddingRelative(0, 0, 0, pad < 0 ? 0 : pad); + } if (edge_to_edge) for (View child : Helper.getViewsWithTag(v, "inset")) { @@ -241,6 +244,11 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc setContentView(view); } + @Override + public void onWindowFocusChanged(boolean hasFocus) { + hasWindowFocus = hasFocus; + } + @Override protected void onCreate(Bundle savedInstanceState) { EntityLog.log(this, "Activity create " + this.getClass().getName() +