History

Add android settings screen. Add AEC setting

Gabriel Calero committed 8 years ago

Commit 2d2a4801 parent 03f513513 files · +220 −2Browse files

Showing the changes to interface/src/AndroidHelper.cpp (1 of 13 files). Show all

Unified · Split

interface/src/AndroidHelper.cpp+17−0
@@ -10,6 +10,7 @@ · 9 unmodified lines
1010 //
1111 #include "AndroidHelper.h"
1212 #include <QDebug>
13+#include <AudioClient.h>
1314 #include "Application.h"
1415
1516 #if defined(qApp)
@@ -18,6 +19,7 @@ · 2 unmodified lines
1819 #define qApp (static_cast<Application*>(QCoreApplication::instance()))
1920
2021 AndroidHelper::AndroidHelper() {
22+ qRegisterMetaType<QAudio::Mode>("QAudio::Mode");
2123 }
2224
2325 AndroidHelper::~AndroidHelper() {
@@ -56,3 +58,18 @@ void AndroidHelper::processURL(const QString &url) { · 32 unmodified lines
5658 qApp->acceptURL(url);
5759 }
5860 }
61+
62+void AndroidHelper::notifyHeadsetOn(bool pluggedIn) {
63+#if defined (Q_OS_ANDROID)
64+ auto audioClient = DependencyManager::get<AudioClient>();
65+ if (audioClient) {
66+ QAudioDeviceInfo activeDev = audioClient->getActiveAudioDevice(QAudio::AudioInput);
67+ Setting::Handle<bool> enableAEC(QStringList() << ANDROID_SETTINGS_GROUP << SETTING_AEC_KEY, false);
68+ if ((pluggedIn || !enableAEC.get()) && !activeDev.isNull() && activeDev.deviceName() != VOICE_RECOGNITION) {
69+ QMetaObject::invokeMethod(audioClient.get(), "switchAudioDevice", Q_ARG(QAudio::Mode, QAudio::AudioInput), Q_ARG(QString, VOICE_RECOGNITION));
70+ } else if ( (!pluggedIn && enableAEC.get()) && !activeDev.isNull() && activeDev.deviceName() != VOICE_COMMUNICATION) {
71+ QMetaObject::invokeMethod(audioClient.get(), "switchAudioDevice", Q_ARG(QAudio::Mode, QAudio::AudioInput), Q_ARG(QString, VOICE_COMMUNICATION));
72+ }
73+ }
74+#endif
75+}