From 50fda990597685a641cf12387d882c90ee05c2a3 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 8 May 2025 12:16:17 +0300 Subject: enable main window edge-to-edge attempt after reading documentation a bit --- .../main/java/org/fox/ttrss/MasterActivity.java | 33 ++++++++++++++++++++-- .../res/layout-sw600dp-land/activity_master.xml | 2 +- .../res/layout-sw600dp-port/activity_master.xml | 1 - .../src/main/res/layout/activity_master.xml | 1 - .../src/main/res/layout/activity_master_phone.xml | 1 - .../src/main/res/layout/drawer_header.xml | 2 +- .../src/main/res/layout/layout_master_phone.xml | 3 +- 7 files changed, 35 insertions(+), 8 deletions(-) diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java index 7ccfb646..9d9d0901 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java @@ -2,7 +2,6 @@ package org.fox.ttrss; import android.annotation.SuppressLint; -import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; @@ -17,7 +16,10 @@ import android.view.View; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.widget.Toolbar; +import androidx.core.graphics.Insets; import androidx.core.view.GravityCompat; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; @@ -68,6 +70,8 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList setSmallScreen(findViewById(R.id.sw600dp_anchor) == null); + applyEdgeToEdgeInsets(); + Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -221,7 +225,32 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList } } - protected void onPostCreate(Bundle savedInstanceState) { + private void applyEdgeToEdgeInsets() { + // https://stackoverflow.com/questions/79018063/trying-to-understand-edge-to-edge-in-android + // https://developer.android.com/develop/ui/views/layout/edge-to-edge + + View coordinatorView = findViewById(R.id.headlines_coordinator); + + if (coordinatorView != null) { + ViewCompat.setOnApplyWindowInsetsListener(coordinatorView, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(0, insets.top, 0, insets.bottom); + return windowInsets; + }); + } + + View navigationView = findViewById(R.id.modal_navigation_view); + + if (navigationView != null) { + ViewCompat.setOnApplyWindowInsetsListener(navigationView, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(0, insets.top, 0, insets.bottom); + return windowInsets; + }); + } + } + + protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. if (m_drawerToggle != null) m_drawerToggle.syncState(); diff --git a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml index f44e0e4a..eb2d9c91 100644 --- a/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml +++ b/org.fox.ttrss/src/main/res/layout-sw600dp-land/activity_master.xml @@ -22,7 +22,7 @@ diff --git a/org.fox.ttrss/src/main/res/layout/activity_master.xml b/org.fox.ttrss/src/main/res/layout/activity_master.xml index 1f422b6a..4ea81118 100755 --- a/org.fox.ttrss/src/main/res/layout/activity_master.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_master.xml @@ -2,7 +2,6 @@ diff --git a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml index f6e5db8f..4ea81118 100644 --- a/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml +++ b/org.fox.ttrss/src/main/res/layout/activity_master_phone.xml @@ -1,7 +1,6 @@ diff --git a/org.fox.ttrss/src/main/res/layout/drawer_header.xml b/org.fox.ttrss/src/main/res/layout/drawer_header.xml index 3540c094..f4954259 100755 --- a/org.fox.ttrss/src/main/res/layout/drawer_header.xml +++ b/org.fox.ttrss/src/main/res/layout/drawer_header.xml @@ -1,7 +1,7 @@ @@ -36,7 +37,7 @@ -- cgit v1.2.3-54-g00ecf