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
10//10//
11#include "AndroidHelper.h"11#include "AndroidHelper.h"
12#include <QDebug>12#include <QDebug>
13#include <AudioClient.h>
13#include "Application.h"14#include "Application.h"
14 15
15#if defined(qApp)16#if defined(qApp)
@@ -18,6 +19,7 @@ · 2 unmodified lines
18#define qApp (static_cast<Application*>(QCoreApplication::instance()))19#define qApp (static_cast<Application*>(QCoreApplication::instance()))
19 20
20AndroidHelper::AndroidHelper() {21AndroidHelper::AndroidHelper() {
22 qRegisterMetaType<QAudio::Mode>("QAudio::Mode");
21}23}
22 24
23AndroidHelper::~AndroidHelper() {25AndroidHelper::~AndroidHelper() {
@@ -56,3 +58,18 @@ void AndroidHelper::processURL(const QString &url) { · 32 unmodified lines
56 qApp->acceptURL(url);58 qApp->acceptURL(url);
57 }59 }
58}60}
61
62void 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}