From fb524fe01e5a9a09f0ab88229767f6150409d65d Mon Sep 17 00:00:00 2001 From: oliexdev Date: Wed, 25 Nov 2020 20:02:43 +0100 Subject: [PATCH] Fixed a crash when selecting a Bluetooth device during the slideshow, see #639 --- .../gui/measurement/ChartMeasurementView.java | 2 +- .../gui/preferences/BluetoothSettingsFragment.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/android_app/app/src/main/java/com/health/openscale/gui/measurement/ChartMeasurementView.java b/android_app/app/src/main/java/com/health/openscale/gui/measurement/ChartMeasurementView.java index d377d636..5ecd0e95 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/measurement/ChartMeasurementView.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/measurement/ChartMeasurementView.java @@ -523,7 +523,7 @@ public class ChartMeasurementView extends LineChart { return; } - PolynomialFitter polyFitter = new PolynomialFitter(3); + PolynomialFitter polyFitter = new PolynomialFitter(lineEntries.size() == 2 ? 2 : 3); // use only the last 30 values for the polynomial fitter for (int i=1; i<30; i++) { diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothSettingsFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothSettingsFragment.java index b73630ca..c77ec282 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothSettingsFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothSettingsFragment.java @@ -362,9 +362,13 @@ public class BluetoothSettingsFragment extends Fragment { Timber.d("Saved Bluetooth device " + device.getName() + " with address " + device.getAddress()); stopBluetoothDiscovery(); - Navigation.findNavController(requireActivity(), R.id.nav_host_fragment).getPreviousBackStackEntry().getSavedStateHandle().set("update", true); - Navigation.findNavController(requireActivity(), R.id.nav_host_fragment).navigateUp(); - } + + if (getActivity().findViewById(R.id.nav_host_fragment) != null){ + Navigation.findNavController(requireActivity(), R.id.nav_host_fragment).getPreviousBackStackEntry().getSavedStateHandle().set("update", true); + Navigation.findNavController(requireActivity(), R.id.nav_host_fragment).navigateUp(); + } else + getActivity().finish(); + } } @Override