From 168c83262746da615d7b3bfe6cde24076d6ec620 Mon Sep 17 00:00:00 2001 From: undefiened Date: Sat, 22 Jul 2023 16:59:48 +0200 Subject: [PATCH] Settings for overview Y-axes visibility (#971) * Settings for overview Y-axes visibility * Removed the settings entry and moved option to the dropdown * Removed unused xml declaration * Update strings.xml * Update overview_menu.xml * Added autohiding right y-axis in overview if only one measurement view is selected * Added autohiding of the appropriate axis * Removed autohiding of y-axes on the overview * Removed unused imports and unnecessary changes * Removed changed space --------- Co-authored-by: OliE --- .../gui/overview/OverviewFragment.java | 31 ++++++++++++++----- .../app/src/main/res/menu/overview_menu.xml | 5 +++ .../app/src/main/res/values/strings.xml | 3 +- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/android_app/app/src/main/java/com/health/openscale/gui/overview/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/overview/OverviewFragment.java index d241d779..a6eeb07a 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/overview/OverviewFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/overview/OverviewFragment.java @@ -104,13 +104,8 @@ public class OverviewFragment extends Fragment { chartView.setProgressBar(overviewView.findViewById(R.id.progressBar)); chartView.setIsInGraphKey(false); chartView.getLegend().setEnabled(false); - chartView.getAxisRight().setDrawLabels(false); - chartView.getAxisRight().setDrawGridLines(false); - chartView.getAxisRight().setDrawAxisLine(false); - chartView.getAxisLeft().setDrawGridLines(false); - chartView.getAxisLeft().setDrawLabels(false); - chartView.getAxisLeft().setDrawAxisLine(false); - chartView.getXAxis().setDrawGridLines(false); + + setYAxisVisibility(prefs.getBoolean("enableYAxis", false)); chartActionBarView = overviewView.findViewById(R.id.chartActionBar); chartActionBarView.setIsInGraphKey(false); @@ -149,6 +144,13 @@ public class OverviewFragment extends Fragment { chartActionBarView.setVisibility(View.VISIBLE); } return true; + case R.id.enableYAxis: + boolean checked = item.isChecked(); + item.setChecked(!checked); + prefs.edit().putBoolean("enableYAxis", !checked).apply(); + setYAxisVisibility(!checked); + updateChartView(); + return true; case R.id.menu_range_day: prefs.edit().putInt("selectRangeMode", ChartMeasurementView.ViewMode.DAY_OF_ALL.ordinal()).commit(); break; @@ -196,6 +198,9 @@ public class OverviewFragment extends Fragment { chartActionBarView.setVisibility(View.GONE); } + MenuItem enableYAxis = rangePopupMenu.getMenu().findItem(R.id.enableYAxis); + enableYAxis.setChecked(prefs.getBoolean("enableYAxis", false)); + recyclerView = overviewView.findViewById(R.id.recyclerView); LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); layoutManager.setInitialPrefetchItemCount(5); @@ -235,6 +240,18 @@ public class OverviewFragment extends Fragment { return overviewView; } + protected void setYAxisVisibility(boolean visible) { + chartView.getAxisRight().setDrawLabels(visible); + chartView.getAxisRight().setDrawGridLines(visible); + chartView.getAxisRight().setDrawAxisLine(visible); + + chartView.getAxisLeft().setDrawGridLines(visible); + chartView.getAxisLeft().setDrawLabels(visible); + chartView.getAxisLeft().setDrawAxisLine(visible); + + chartView.getXAxis().setDrawGridLines(visible); + } + public void updateOnView(List scaleMeasurementList) { this.scaleMeasurementList = scaleMeasurementList; diff --git a/android_app/app/src/main/res/menu/overview_menu.xml b/android_app/app/src/main/res/menu/overview_menu.xml index 0adf7f55..30a38514 100644 --- a/android_app/app/src/main/res/menu/overview_menu.xml +++ b/android_app/app/src/main/res/menu/overview_menu.xml @@ -7,6 +7,11 @@ android:title="@string/label_measurement_bar" android:checkable="true" android:checked="false"/> + diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml index f0a1045a..ffcbf998 100644 --- a/android_app/app/src/main/res/values/strings.xml +++ b/android_app/app/src/main/res/values/strings.xml @@ -287,4 +287,5 @@ Back Done Create new user on scale. - \ No newline at end of file + Y-axis +