From f2cad9073c57142efe9618202d85c19d72b58e0a Mon Sep 17 00:00:00 2001 From: Philoul Date: Fri, 24 May 2024 15:18:00 +0200 Subject: [PATCH 1/3] New Graph menu and rescale menu --- .../aaps/activities/HistoryBrowseActivity.kt | 34 ++- .../res/layout/activity_historybrowse.xml | 19 +- .../core/interfaces/overview/OverviewMenus.kt | 3 +- .../main/general/overview/OverviewFragment.kt | 35 ++- .../general/overview/OverviewMenusImpl.kt | 224 +++++++++++------- .../res/layout/overview_graphs_layout.xml | 20 +- plugins/main/src/main/res/values/strings.xml | 13 + 7 files changed, 248 insertions(+), 100 deletions(-) diff --git a/app/src/main/kotlin/app/aaps/activities/HistoryBrowseActivity.kt b/app/src/main/kotlin/app/aaps/activities/HistoryBrowseActivity.kt index 77aa449fae9..5752abea919 100644 --- a/app/src/main/kotlin/app/aaps/activities/HistoryBrowseActivity.kt +++ b/app/src/main/kotlin/app/aaps/activities/HistoryBrowseActivity.kt @@ -4,10 +4,13 @@ import android.annotation.SuppressLint import android.content.Context import android.os.Bundle import android.util.DisplayMetrics +import android.view.Menu +import android.view.View import android.view.ViewGroup import android.widget.LinearLayout import android.widget.RelativeLayout import android.widget.TextView +import androidx.appcompat.widget.PopupMenu import app.aaps.core.data.time.T import app.aaps.core.interfaces.configuration.Config import app.aaps.core.interfaces.logging.AAPSLogger @@ -33,6 +36,7 @@ import app.aaps.core.ui.activities.TranslatedDaggerAppCompatActivity import app.aaps.core.ui.extensions.toVisibility import app.aaps.core.ui.extensions.toVisibilityKeepSpace import app.aaps.databinding.ActivityHistorybrowseBinding +import app.aaps.plugins.main.R import app.aaps.plugins.main.general.overview.graphData.GraphData import com.google.android.material.datepicker.MaterialDatePicker import com.jjoe64.graphview.GraphView @@ -140,7 +144,23 @@ class HistoryBrowseActivity : TranslatedDaggerAppCompatActivity() { binding.bgGraph.gridLabelRenderer?.reloadStyles() binding.bgGraph.gridLabelRenderer?.labelVerticalWidth = axisWidth - overviewMenus.setupChartMenu(context, binding.chartMenuButton) + overviewMenus.setupChartMenu(binding.chartMenuButton) + binding.scaleButton.setOnClickListener { v: View -> + val popup = PopupMenu(v.context, v) + popup.menu.add(Menu.NONE, 6, Menu.NONE, rh.gs(R.string.graph_long_scale_6h)) + popup.menu.add(Menu.NONE, 12, Menu.NONE, rh.gs(R.string.graph_long_scale_12h)) + popup.menu.add(Menu.NONE, 18, Menu.NONE, rh.gs(R.string.graph_long_scale_18h)) + popup.menu.add(Menu.NONE, 24, Menu.NONE, rh.gs(R.string.graph_long_scale_24h)) + popup.setOnMenuItemClickListener { + // id == Range to display ... + rxBus.send(EventScale(it.itemId)) + return@setOnMenuItemClickListener true + } + binding.scaleButton.setCompoundDrawablesWithIntrinsicBounds(null, null, rh.gd(R.drawable.ic_arrow_drop_up_white_24dp), null) + popup.setOnDismissListener { binding.scaleButton.setCompoundDrawablesWithIntrinsicBounds(null, null, rh.gd(R.drawable.ic_arrow_drop_down_white_24dp), null) } + popup.show() + false + } prepareGraphsIfNeeded(overviewMenus.setting.size) savedInstanceState?.let { bundle -> rangeToDisplay = bundle.getInt("rangeToDisplay", 0) @@ -184,6 +204,7 @@ class HistoryBrowseActivity : TranslatedDaggerAppCompatActivity() { .observeOn(aapsSchedulers.main) .subscribe({ rangeToDisplay = it.hours + updateScaletext() setTime(historyBrowserData.overviewData.fromTime) loadAll("rangeChange") }, fabricPrivacy::logException) @@ -291,12 +312,21 @@ class HistoryBrowseActivity : TranslatedDaggerAppCompatActivity() { binding.zoom.text = rangeToDisplay.toString() } + private fun updateScaletext() { + binding.scaleButton.text = when (rangeToDisplay) { + 6 -> rh.gs(R.string.graph_scale_6h) + 12 -> rh.gs(R.string.graph_scale_12h) + 18 -> rh.gs(R.string.graph_scale_18h) + 24 -> rh.gs(R.string.graph_scale_24h) + else -> "" + } + } @SuppressLint("SetTextI18n") fun updateGUI(from: String) { aapsLogger.debug(LTag.UI, "updateGui $from") updateDate() - + updateScaletext() val pump = activePlugin.activePump val graphData = GraphData(injector, binding.bgGraph, historyBrowserData.overviewData) val menuChartSettings = overviewMenus.setting diff --git a/app/src/main/res/layout/activity_historybrowse.xml b/app/src/main/res/layout/activity_historybrowse.xml index 5e309f77e09..0d6275f6769 100644 --- a/app/src/main/res/layout/activity_historybrowse.xml +++ b/app/src/main/res/layout/activity_historybrowse.xml @@ -78,14 +78,27 @@ android:layout_width="wrap_content" android:layout_height="match_parent" /> +