From 18343c1ccf48a58bef85e2975004857d9fbade71 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 27 Oct 2024 08:41:48 +0100 Subject: [PATCH] Experiment: edge-to-edge --- .../java/eu/faircode/email/ActivityBase.java | 19 ++++++++++++++++--- .../email/FragmentOptionsDisplay.java | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index bde0e75e16..8bd4277734 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -170,6 +170,9 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc FragmentDialogTheme.setBackground(this, holder, this instanceof ActivityCompose); + View cf = view.findViewById(R.id.content_frame); + int cfpb = (cf == null ? 0 : cf.getPaddingBottom()); + ViewCompat.setOnApplyWindowInsetsListener(holder, (v, windowInsets) -> { try { Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); @@ -208,9 +211,19 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc } if (edge_to_edge) { - b = v.getPaddingBottom(); - Insets nav = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars()); - v.setPaddingRelative(0, 0, 0, b + (nav.bottom - nav.top)); + if (cf != null) { + Insets nav = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars()); + int pad = Math.max(0, cfpb + (nav.bottom - nav.top)); + if (pad != cf.getPaddingBottom()) + cf.setPaddingRelative( + cf.getPaddingStart(), cf.getPaddingTop(), + cf.getPaddingEnd(), cfpb + (nav.bottom - nav.top)); + } + //for (View child : Helper.getViewsWithTag(v, "inset")) { + // mlp = (ViewGroup.MarginLayoutParams) child.getLayoutParams(); + // mlp.bottomMargin = insets.bottom; + // child.setLayoutParams(mlp); + //} } } catch (Throwable ex) { diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index 25748310a2..5bbdfb4a64 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -647,7 +647,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer } }); - swEdgeToEdge.setVisibility(debug || BuildConfig.DEBUG ? View.VISIBLE : View.GONE); + //swEdgeToEdge.setVisibility(debug || BuildConfig.DEBUG ? View.VISIBLE : View.GONE); swEdgeToEdge.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {