summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2026-01-21 02:02:08 +0100
committercyberta <cyberta@riseup.net>2026-01-21 02:13:45 +0100
commitc426ed832f3393370cb0193a4cff218c1ae08783 (patch)
tree40122d2eda5de6d5954438ca8574d327e8968fb6 /app/src/main
parent4d20f15c7dfd530a4db119d84a0315a7dec5cd3d (diff)
adjust provider selection scroll view bottom padding depending on keyboard
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/AndroidManifest.xml1
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/providersetup/fragments/ProviderSelectionFragment.java10
-rw-r--r--app/src/main/res/layout/f_provider_selection.xml5
3 files changed, 14 insertions, 2 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 49f993f9..48699a5e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,7 @@
android:name=".providersetup.activities.SetupActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"
+ android:windowSoftInputMode="adjustResize"
android:exported="false" />
<activity-alias
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();
}
diff --git a/app/src/main/res/layout/f_provider_selection.xml b/app/src/main/res/layout/f_provider_selection.xml
index e5e0e9d6..6623aa03 100644
--- a/app/src/main/res/layout/f_provider_selection.xml
+++ b/app/src/main/res/layout/f_provider_selection.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
-
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/stdpadding"
+ android:id="@+id/scrollView"
android:layout_margin="@dimen/activity_margin"
+ android:layout_marginBottom="0dp"
+ android:clipToPadding="false"
tools:context=".providersetup.fragments.ProviderSelectionFragment">
<androidx.appcompat.widget.LinearLayoutCompat
@@ -69,7 +71,6 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/activity_margin"
- android:paddingBottom="@dimen/list_view_margin_top"
android:background="@color/color_provider_description_background"
android:id="@+id/expandable_detail_container">
<androidx.appcompat.widget.AppCompatTextView