From aa68b5152e58dff160355a42c520b0fdb85932c2 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 15 May 2025 18:36:56 +0200 Subject: [PATCH] ui: set fitsSystemWindows=true for EdgeToEdge on API 35+ Signed-off-by: Jason A. Donenfeld --- .../wireguard/android/activity/SettingsActivity.kt | 14 +------------- .../android/activity/TunnelCreatorActivity.kt | 8 ++++++++ ui/src/main/res/layout-sw600dp/main_activity.xml | 1 + ui/src/main/res/layout/log_viewer_activity.xml | 3 ++- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/ui/src/main/java/com/wireguard/android/activity/SettingsActivity.kt b/ui/src/main/java/com/wireguard/android/activity/SettingsActivity.kt index 9f492ed0..531502b0 100644 --- a/ui/src/main/java/com/wireguard/android/activity/SettingsActivity.kt +++ b/ui/src/main/java/com/wireguard/android/activity/SettingsActivity.kt @@ -12,9 +12,6 @@ import android.view.MenuItem import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity -import androidx.core.view.ViewCompat -import androidx.core.view.WindowInsetsCompat -import androidx.core.view.updateLayoutParams import androidx.fragment.app.commit import androidx.lifecycle.lifecycleScope import androidx.preference.Preference @@ -56,16 +53,7 @@ class SettingsActivity : AppCompatActivity() { // which is enabled everywhere for API 35. So handle the insets manually here. override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { val view = super.onCreateView(inflater, container, savedInstanceState) - ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets -> - val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) - v.updateLayoutParams { - leftMargin = insets.left - bottomMargin = insets.bottom - rightMargin = insets.right - topMargin = insets.top - } - WindowInsetsCompat.CONSUMED - } + view.fitsSystemWindows = true return view } diff --git a/ui/src/main/java/com/wireguard/android/activity/TunnelCreatorActivity.kt b/ui/src/main/java/com/wireguard/android/activity/TunnelCreatorActivity.kt index bdf798ca..9905ef7f 100644 --- a/ui/src/main/java/com/wireguard/android/activity/TunnelCreatorActivity.kt +++ b/ui/src/main/java/com/wireguard/android/activity/TunnelCreatorActivity.kt @@ -5,6 +5,9 @@ package com.wireguard.android.activity import android.os.Bundle +import android.view.View +import android.view.ViewGroup +import androidx.core.view.children import androidx.fragment.app.commit import com.wireguard.android.fragment.TunnelEditorFragment import com.wireguard.android.model.ObservableTunnel @@ -26,4 +29,9 @@ class TunnelCreatorActivity : BaseActivity() { finish() return true } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + (findViewById(android.R.id.content) as? ViewGroup)?.children?.firstOrNull()?.fitsSystemWindows = true + } } diff --git a/ui/src/main/res/layout-sw600dp/main_activity.xml b/ui/src/main/res/layout-sw600dp/main_activity.xml index b5ce34a4..b343f161 100644 --- a/ui/src/main/res/layout-sw600dp/main_activity.xml +++ b/ui/src/main/res/layout-sw600dp/main_activity.xml @@ -4,6 +4,7 @@ android:id="@+id/main_activity_container" android:layout_width="match_parent" android:layout_height="match_parent" + android:fitsSystemWindows="true" tools:context=".activity.MainActivity"> + android:layout_height="match_parent" + android:fitsSystemWindows="true">