mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 15:19:53 +01:00
Scroll fragments down on small screens to make bottom buttons visible
This commit is contained in:
@@ -8,6 +8,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.ScrollView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||||
@@ -25,6 +26,7 @@ import androidx.lifecycle.ViewModelProvider;
|
|||||||
|
|
||||||
import static android.content.Intent.ACTION_SEND;
|
import static android.content.Intent.ACTION_SEND;
|
||||||
import static android.content.Intent.EXTRA_TEXT;
|
import static android.content.Intent.EXTRA_TEXT;
|
||||||
|
import static android.view.View.FOCUS_DOWN;
|
||||||
import static android.widget.Toast.LENGTH_LONG;
|
import static android.widget.Toast.LENGTH_LONG;
|
||||||
import static org.briarproject.briar.android.AppModule.getAndroidComponent;
|
import static org.briarproject.briar.android.AppModule.getAndroidComponent;
|
||||||
|
|
||||||
@@ -40,6 +42,7 @@ public class SetupDownloadFragment extends Fragment {
|
|||||||
private MailboxViewModel viewModel;
|
private MailboxViewModel viewModel;
|
||||||
|
|
||||||
private CameraPermissionManager permissionManager;
|
private CameraPermissionManager permissionManager;
|
||||||
|
private ScrollView scrollView;
|
||||||
|
|
||||||
private final ActivityResultLauncher<String[]> permissionLauncher =
|
private final ActivityResultLauncher<String[]> permissionLauncher =
|
||||||
registerForActivityResult(new RequestMultiplePermissions(), r -> {
|
registerForActivityResult(new RequestMultiplePermissions(), r -> {
|
||||||
@@ -65,6 +68,7 @@ public class SetupDownloadFragment extends Fragment {
|
|||||||
@Nullable Bundle savedInstanceState) {
|
@Nullable Bundle savedInstanceState) {
|
||||||
View v = inflater.inflate(R.layout.fragment_mailbox_setup_download,
|
View v = inflater.inflate(R.layout.fragment_mailbox_setup_download,
|
||||||
container, false);
|
container, false);
|
||||||
|
scrollView = v.findViewById(R.id.scrollView);
|
||||||
|
|
||||||
permissionManager = new CameraPermissionManager(requireActivity(),
|
permissionManager = new CameraPermissionManager(requireActivity(),
|
||||||
permissionLauncher::launch);
|
permissionLauncher::launch);
|
||||||
@@ -85,6 +89,8 @@ public class SetupDownloadFragment extends Fragment {
|
|||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
requireActivity().setTitle(R.string.mailbox_setup_title);
|
requireActivity().setTitle(R.string.mailbox_setup_title);
|
||||||
|
// Scroll down in case the screen is small, so the button is visible
|
||||||
|
scrollView.post(() -> scrollView.fullScroll(FOCUS_DOWN));
|
||||||
// Permissions may have been granted manually while we were stopped
|
// Permissions may have been granted manually while we were stopped
|
||||||
permissionManager.resetPermissions();
|
permissionManager.resetPermissions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.ScrollView;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||||
@@ -14,6 +15,7 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
|
||||||
|
import static android.view.View.FOCUS_DOWN;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.showFragment;
|
import static org.briarproject.briar.android.util.UiUtils.showFragment;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@@ -22,6 +24,8 @@ public class SetupIntroFragment extends Fragment {
|
|||||||
|
|
||||||
static final String TAG = SetupIntroFragment.class.getName();
|
static final String TAG = SetupIntroFragment.class.getName();
|
||||||
|
|
||||||
|
private ScrollView scrollView;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater,
|
public View onCreateView(LayoutInflater inflater,
|
||||||
@@ -29,6 +33,7 @@ public class SetupIntroFragment extends Fragment {
|
|||||||
@Nullable Bundle savedInstanceState) {
|
@Nullable Bundle savedInstanceState) {
|
||||||
View v = inflater.inflate(R.layout.fragment_mailbox_setup_intro,
|
View v = inflater.inflate(R.layout.fragment_mailbox_setup_intro,
|
||||||
container, false);
|
container, false);
|
||||||
|
scrollView = v.findViewById(R.id.scrollView);
|
||||||
Button button = v.findViewById(R.id.continueButton);
|
Button button = v.findViewById(R.id.continueButton);
|
||||||
button.setOnClickListener(view -> {
|
button.setOnClickListener(view -> {
|
||||||
FragmentManager fm = getParentFragmentManager();
|
FragmentManager fm = getParentFragmentManager();
|
||||||
@@ -42,6 +47,8 @@ public class SetupIntroFragment extends Fragment {
|
|||||||
public void onStart() {
|
public void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
requireActivity().setTitle(R.string.mailbox_setup_title);
|
requireActivity().setTitle(R.string.mailbox_setup_title);
|
||||||
|
// Scroll down in case the screen is small, so the button is visible
|
||||||
|
scrollView.post(() -> scrollView.fullScroll(FOCUS_DOWN));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user