From 1447fb2f0ba147712472481a7b3afe81597369db Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 14 Jun 2024 23:15:10 +0200 Subject: [PATCH] Optimization --- .../java/eu/faircode/email/ActivityBase.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index 627d62ac3c..1f393794eb 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -172,13 +172,27 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc try { Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + boolean changed = false; ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); - mlp.leftMargin = insets.left; - mlp.topMargin = insets.top; - mlp.rightMargin = insets.right; + if (mlp.leftMargin != insets.left) { + changed = true; + mlp.leftMargin = insets.left; + } + if (mlp.topMargin != insets.top) { + changed = true; + mlp.topMargin = insets.top; + } + if (mlp.rightMargin != insets.right) { + changed = true; + mlp.rightMargin = insets.right; + } if (!edge_to_edge) - mlp.bottomMargin = insets.bottom; - v.setLayoutParams(mlp); + if (mlp.bottomMargin != insets.bottom) { + changed = true; + mlp.bottomMargin = insets.bottom; + } + if (changed) + v.setLayoutParams(mlp); if (hasWindowFocus) { int bottom = windowInsets.getInsets(WindowInsetsCompat.Type.ime()).bottom;