From c426ed832f3393370cb0193a4cff218c1ae08783 Mon Sep 17 00:00:00 2001 From: cyberta Date: Wed, 21 Jan 2026 02:02:08 +0100 Subject: adjust provider selection scroll view bottom padding depending on keyboard --- .../providersetup/fragments/ProviderSelectionFragment.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'app/src/main/java/se') diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java index 823357ff..8bfda801 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java @@ -14,6 +14,8 @@ import android.widget.RadioButton; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.lifecycle.ViewModelProvider; import org.json.JSONObject; @@ -92,6 +94,14 @@ public class ProviderSelectionFragment extends BaseSetupFragment implements Canc binding.editCustomProvider.setVisibility(viewModel.getEditProviderVisibility()); binding.syntaxCheck.setVisibility(viewModel.getEditProviderVisibility()); binding.qrScanner.setVisibility(viewModel.getQrScannerVisibility()); + + ViewCompat.setOnApplyWindowInsetsListener(binding.scrollView, (v, insets) -> { + int imeHeight = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom; + int systemBarsHeight = insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom; + binding.scrollView.setPadding(binding.scrollView.getPaddingLeft(), binding.scrollView.getPaddingTop(), binding.scrollView.getPaddingRight(), Math.max(imeHeight - (int) v.getContext().getResources().getDimension(R.dimen.setup_bottom_bar), systemBarsHeight)); + return insets; + }); + return binding.getRoot(); } -- cgit v1.2.3