From 783f8f18a0c7ab77c2acc3d3c83538476822cc36 Mon Sep 17 00:00:00 2001 From: chrisnojima Date: Mon, 23 Mar 2026 14:58:13 -0400 Subject: [PATCH] edge to edge fix --- .../java/io/keybase/ossifrage/MainActivity.kt | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt b/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt index 5099014b8a57..aa2146487764 100644 --- a/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt +++ b/shared/android/app/src/main/java/io/keybase/ossifrage/MainActivity.kt @@ -92,18 +92,19 @@ class MainActivity : ReactActivity() { scheduleHandleIntent() - // fix for keyboard avoiding not working on 35 - if (Build.VERSION.SDK_INT >= 35) { - val rootView = findViewById(android.R.id.content) - ViewCompat.setOnApplyWindowInsetsListener(rootView) { _, insets -> - val innerPadding = insets.getInsets(WindowInsetsCompat.Type.ime()) + // edgeToEdgeEnabled=true in gradle.properties causes RN to call + // WindowCompat.setDecorFitsSystemWindows(false) on all API levels, which breaks + // adjustResize. Manually apply insets so the keyboard pushes content up. + val rootView = findViewById(android.R.id.content) + ViewCompat.setOnApplyWindowInsetsListener(rootView) { _, insets -> + val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime()) + val sysBarInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars()) rootView.setPadding( - innerPadding.left, - innerPadding.top, - innerPadding.right, - innerPadding.bottom) + sysBarInsets.left, + sysBarInsets.top, + sysBarInsets.right, + maxOf(imeInsets.bottom, sysBarInsets.bottom)) insets - } } }