From c36662b157c60726686701079eb2f6456410a086 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 30 Jun 2025 13:33:10 +0200 Subject: [PATCH 1/3] setImeInsets Signed-off-by: alperozturk --- .../owncloud/notes/edit/EditNoteActivity.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java index ee24c2820..cfe31e84e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java @@ -20,9 +20,14 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceManager; +import com.nextcloud.android.common.ui.util.extensions.AppCompatActivityExtensionsKt; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; import com.nextcloud.android.sso.helper.SingleAccountHelper; @@ -101,6 +106,26 @@ protected void onCreate(final Bundle savedInstanceState) { setSupportActionBar(binding.toolbar); binding.toolbar.setOnClickListener((v) -> fragment.showEditTitleDialog()); + setImeInsets(); + } + + private void setImeInsets() { + ViewCompat.setOnApplyWindowInsetsListener(this.getWindow().getDecorView(), (v, insets) -> { + Insets imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime()); + Insets navBarInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars()); + + // Apply bottom padding when keyboard is shown + int bottomPadding = Math.max(imeInsets.bottom, navBarInsets.bottom); + + v.setPadding( + v.getPaddingLeft(), + v.getPaddingTop(), + v.getPaddingRight(), + bottomPadding + ); + + return insets; + }); } @Override From 99e761ece923c4001dbea86edf7af067c1e161e6 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 30 Jun 2025 13:38:18 +0200 Subject: [PATCH 2/3] fix Signed-off-by: alperozturk --- .../owncloud/notes/edit/EditNoteActivity.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java index cfe31e84e..a2023b540 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java @@ -110,7 +110,15 @@ protected void onCreate(final Bundle savedInstanceState) { } private void setImeInsets() { - ViewCompat.setOnApplyWindowInsetsListener(this.getWindow().getDecorView(), (v, insets) -> { + final var window = getWindow(); + if (window == null) { + return; + } + + WindowCompat.setDecorFitsSystemWindows(window, false); + + final var decorView = window.getDecorView(); + ViewCompat.setOnApplyWindowInsetsListener(decorView, (v, insets) -> { Insets imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime()); Insets navBarInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars()); From 62fb1be342bbb3c9b222591b398be9ce4ba45d81 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 30 Jun 2025 13:39:58 +0200 Subject: [PATCH 3/3] remove unnecessary imports Signed-off-by: alperozturk --- .../java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java index a2023b540..2c69fa1ba 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java @@ -27,7 +27,6 @@ import androidx.fragment.app.Fragment; import androidx.preference.PreferenceManager; -import com.nextcloud.android.common.ui.util.extensions.AppCompatActivityExtensionsKt; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; import com.nextcloud.android.sso.helper.SingleAccountHelper;