From c03f0464c1f834c2f4d8642cbfad322033d368b7 Mon Sep 17 00:00:00 2001 From: Lena Date: Wed, 1 Jul 2026 00:00:00 +0000 Subject: app: pad Main and Settings for system bar insets targetSdk 35 makes every window edge-to-edge on Android 15. Neither activity handled insets, so Main drew its header under the status bar and the Settings ScrollView started at window y=0: the framework action bar covered its first 80dp and the navigation bar covered the last rows. Pad both roots by the system bar insets. Main adds the IME inset as well, since an edge-to-edge window is not resized when the keyboard opens. Settings drops the framework action bar and draws its own title like Main already does, which removes the action-bar-versus-inset interaction entirely. Reported on the F-Droid submission (fdroiddata!41394). --- app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java') diff --git a/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java b/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java index d95ecba..43b0954 100644 --- a/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java +++ b/app/src/main/java/invalid/lena/scrcpy/SettingsActivity.java @@ -2,6 +2,7 @@ package invalid.lena.scrcpy; import android.app.Activity; import android.os.Bundle; +import android.view.WindowInsets; import android.widget.CheckBox; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -15,7 +16,7 @@ public final class SettingsActivity extends Activity { protected void onCreate(Bundle saved) { super.onCreate(saved); setContentView(R.layout.settings); - setTitle(R.string.settings); + Ui.padForInsets(findViewById(R.id.root), WindowInsets.Type.systemBars()); RadioGroup videoGroup = findViewById(R.id.video_codec); RadioGroup audioGroup = findViewById(R.id.audio_codec); -- cgit v1.2.3