Moved AK Speaker Disable back to a title bar, and modified Mute Icon to differentiate (#1192)

* Added fn to indicate support for disabling speaker
* Support both mute & speaker disable icons
* Byte grouping for ui_config2_t bitmap
* Fix disabling AK speaker to take effect immediately
This commit is contained in:
Mark Thompson 2023-06-26 01:08:09 -05:00 committed by GitHub
parent b5ea81cf96
commit 3f8a4957af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 153 additions and 16 deletions

View file

@ -259,11 +259,16 @@ SetUIView::SetUIView(NavigationView& nav) {
&toggle_converter,
&toggle_bias_tee,
&toggle_clock,
&toggle_speaker,
&toggle_mute,
&toggle_sd_card,
&button_save,
&button_cancel});
// Display "Disable speaker" option only if AK4951 Codec which has separate speaker/headphone control
if (audio::speaker_disable_supported()) {
add_child(&toggle_speaker);
}
checkbox_disable_touchscreen.set_value(pmem::disable_touchscreen());
checkbox_showsplash.set_value(pmem::config_splash());
checkbox_showclock.set_value(!pmem::hide_clock());
@ -287,6 +292,7 @@ SetUIView::SetUIView(NavigationView& nav) {
toggle_bias_tee.set_value(!pmem::ui_hide_bias_tee());
toggle_clock.set_value(!pmem::ui_hide_clock());
toggle_speaker.set_value(!pmem::ui_hide_speaker());
toggle_mute.set_value(!pmem::ui_hide_mute());
toggle_sd_card.set_value(!pmem::ui_hide_sd_card());
button_save.on_select = [&nav, this](Button&) {
@ -312,6 +318,7 @@ SetUIView::SetUIView(NavigationView& nav) {
pmem::set_ui_hide_bias_tee(!toggle_bias_tee.value());
pmem::set_ui_hide_clock(!toggle_clock.value());
pmem::set_ui_hide_speaker(!toggle_speaker.value());
pmem::set_ui_hide_mute(!toggle_mute.value());
pmem::set_ui_hide_sd_card(!toggle_sd_card.value());
send_system_refresh();
@ -549,16 +556,13 @@ void SetPersistentMemoryView::focus() {
SetAudioView::SetAudioView(NavigationView& nav) {
add_children({&labels,
&field_tone_mix,
&checkbox_speaker_disable,
&button_save,
&button_cancel});
field_tone_mix.set_value(pmem::tone_mix());
checkbox_speaker_disable.set_value(pmem::config_speaker_disable());
button_save.on_select = [&nav, this](Button&) {
pmem::set_tone_mix(field_tone_mix.value());
pmem::set_config_speaker_disable(checkbox_speaker_disable.value());
audio::output::update_audio_mute();
nav.pop();
};