From 1985ed379d265797d1ed4a38365dd2318b261724 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Wed, 7 Feb 2018 20:13:35 +0100 Subject: [PATCH] Add mute button to error dialog. So that users needn't hastily close the dialog to stop the sound and then not being able to read the actual message. (cherry picked from commit 43755f0) --- .../plugins/Overview/Dialogs/ErrorDialog.java | 24 +++++++++++++++---- .../main/res/layout/overview_error_dialog.xml | 10 +++++++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorDialog.java index f11283c029..7d45c35792 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorDialog.java @@ -19,6 +19,7 @@ import info.nightscout.androidaps.Services.AlarmSoundService; public class ErrorDialog extends DialogFragment implements View.OnClickListener { private static Logger log = LoggerFactory.getLogger(ErrorDialog.class); + Button muteButton; Button okButton; TextView statusView; ErrorHelperActivity helperActivity; @@ -52,14 +53,14 @@ public class ErrorDialog extends DialogFragment implements View.OnClickListener Bundle savedInstanceState) { getDialog().setTitle(title); View view = inflater.inflate(R.layout.overview_error_dialog, container, false); + muteButton = (Button) view.findViewById(R.id.overview_error_mute); okButton = (Button) view.findViewById(R.id.overview_error_ok); statusView = (TextView) view.findViewById(R.id.overview_error_status); + muteButton.setOnClickListener(this); okButton.setOnClickListener(this); setCancelable(false); - Intent alarm = new Intent(MainApp.instance().getApplicationContext(), AlarmSoundService.class); - alarm.putExtra("soundid", soundId); - MainApp.instance().startService(alarm); + startAlarm(); return view; } @@ -77,13 +78,16 @@ public class ErrorDialog extends DialogFragment implements View.OnClickListener if (helperActivity != null) { helperActivity.finish(); } - Intent alarm = new Intent(MainApp.instance().getApplicationContext(), AlarmSoundService.class); - MainApp.instance().stopService(alarm); + stopAlarm(); } @Override public void onClick(View view) { switch (view.getId()) { + case R.id.overview_error_mute: + log.debug("Error dialog mute button pressed"); + stopAlarm(); + break; case R.id.overview_error_ok: log.debug("Error dialog ok button pressed"); dismiss(); @@ -91,4 +95,14 @@ public class ErrorDialog extends DialogFragment implements View.OnClickListener } } + private void startAlarm() { + Intent alarm = new Intent(MainApp.instance().getApplicationContext(), AlarmSoundService.class); + alarm.putExtra("soundid", soundId); + MainApp.instance().startService(alarm); + } + + private void stopAlarm() { + Intent alarm = new Intent(MainApp.instance().getApplicationContext(), AlarmSoundService.class); + MainApp.instance().stopService(alarm); + } } diff --git a/app/src/main/res/layout/overview_error_dialog.xml b/app/src/main/res/layout/overview_error_dialog.xml index a34f41fb5a..6478c24784 100644 --- a/app/src/main/res/layout/overview_error_dialog.xml +++ b/app/src/main/res/layout/overview_error_dialog.xml @@ -16,11 +16,19 @@ android:layout_gravity="center_horizontal" />