diff --git a/briar-android/src/main/java/org/briarproject/briar/android/fragment/FinalFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/FinalFragment.java
index 0cb4b4a8a..099e988fe 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/FinalFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/FinalFragment.java
@@ -7,7 +7,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
-import android.widget.ScrollView;
import android.widget.TextView;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
@@ -22,6 +21,7 @@ import androidx.annotation.StringRes;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.widget.ImageViewCompat;
+import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import static android.view.View.FOCUS_DOWN;
@@ -58,7 +58,7 @@ public class FinalFragment extends Fragment {
return f;
}
- private ScrollView scrollView;
+ private NestedScrollView scrollView;
protected Button buttonView;
@Nullable
@@ -69,7 +69,7 @@ public class FinalFragment extends Fragment {
View v = inflater
.inflate(R.layout.fragment_final, container, false);
- scrollView = (ScrollView) v;
+ scrollView = (NestedScrollView) v;
ImageView iconView = v.findViewById(R.id.iconView);
TextView titleView = v.findViewById(R.id.titleView);
TextView textView = v.findViewById(R.id.textView);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotIntroFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotIntroFragment.java
index fd6112bd0..85e386944 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotIntroFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/HotspotIntroFragment.java
@@ -9,6 +9,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
+import android.widget.ScrollView;
import android.widget.TextView;
import com.google.android.material.snackbar.Snackbar;
@@ -26,6 +27,7 @@ import androidx.lifecycle.ViewModelProvider;
import static android.content.pm.ApplicationInfo.FLAG_TEST_ONLY;
import static android.os.Build.VERSION.SDK_INT;
+import static android.view.View.FOCUS_DOWN;
import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE;
import static androidx.transition.TransitionManager.beginDelayedTransition;
@@ -46,6 +48,7 @@ public class HotspotIntroFragment extends Fragment {
private Button startButton;
private ProgressBar progressBar;
private TextView progressTextView;
+ private ScrollView scrollView;
private final AbstractConditionManager conditionManager = SDK_INT < 29 ?
new ConditionManager(this, this::onPermissionUpdate) :
@@ -70,6 +73,7 @@ public class HotspotIntroFragment extends Fragment {
startButton = v.findViewById(R.id.startButton);
progressBar = v.findViewById(R.id.progressBar);
progressTextView = v.findViewById(R.id.progressTextView);
+ scrollView = v.findViewById(R.id.scrollView);
startButton.setOnClickListener(this::onButtonClick);
@@ -82,6 +86,8 @@ public class HotspotIntroFragment extends Fragment {
public void onStart() {
super.onStart();
conditionManager.onStart();
+ // Scroll down in case the screen is small, so the button is visible
+ scrollView.post(() -> scrollView.fullScroll(FOCUS_DOWN));
}
private void onButtonClick(View view) {
diff --git a/briar-android/src/main/res/layout/fragment_crash.xml b/briar-android/src/main/res/layout/fragment_crash.xml
index cbfdc7ab2..02c136de4 100644
--- a/briar-android/src/main/res/layout/fragment_crash.xml
+++ b/briar-android/src/main/res/layout/fragment_crash.xml
@@ -5,31 +5,30 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+ android:layout_margin="@dimen/margin_xlarge">
+ app:layout_constraintTop_toBottomOf="@+id/errorIcon" />
-
+