Showing the changes to interface/src/AndroidHelper.cpp (1 of 13 files). Show all
Unified · Split
| @@ -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 | ||
| 20 | AndroidHelper::AndroidHelper() { | 21 | AndroidHelper::AndroidHelper() { |
| 22 | qRegisterMetaType<QAudio::Mode>("QAudio::Mode"); | ||
| 21 | } | 23 | } |
| 22 | 24 | ||
| 23 | AndroidHelper::~AndroidHelper() { | 25 | AndroidHelper::~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 | |||
| 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 | } | ||