From 50602d270ba701d524462f21256a23761146ca65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Thu, 8 May 2014 11:06:32 +0200 Subject: Add PowerManager service. On Android 4.4 we need to respond to wake-lock requests to prevent StageFrigh from committing suicide. Change-Id: Ie2c261c0c1b962a63ba8516fefaac71a0ec3a54e Reviewed-by: Eirik Aavitsland --- src/doppelganger/powermanager.h | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/doppelganger/powermanager.h (limited to 'src/doppelganger/powermanager.h') diff --git a/src/doppelganger/powermanager.h b/src/doppelganger/powermanager.h new file mode 100644 index 0000000..f934b31 --- /dev/null +++ b/src/doppelganger/powermanager.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** the contact form at http://qt.digia.com/ +** +****************************************************************************/ + +#ifndef POWERMANAGER_H +#define POWERMANAGER_H + +#include + +namespace android { + +typedef BnInterface BnPowerManagerService; + +} // namespace android + +class PowerManager : public android::BnPowerManagerService +{ +public: + static void instantiate(); + android::status_t onTransact(uint32_t code, + const android::Parcel &data, + android::Parcel *reply, + uint32_t flags); + +#if Q_ANDROID_VERSION_MAJOR > 4 || (Q_ANDROID_VERSION_MAJOR == 4 && Q_ANDROID_VERSION_MINOR >= 4) + virtual android::status_t acquireWakeLock(int flags, + const android::sp& lock, + const android::String16& tag, + const android::String16& packageName); + virtual android::status_t acquireWakeLockWithUid(int flags, + const android::sp& lock, + const android::String16& tag, + const android::String16& packageName, + int uid); + virtual android::status_t updateWakeLockUids(const android::sp& lock, + int len, + const int *uids); +#else // < 4.4 + virtual android::status_t acquireWakeLock(int flags, + const android::sp& lock, + const android::String16& tag); +#endif + + virtual android::status_t releaseWakeLock(const android::sp& lock, int flags); +}; + +#endif // POWERMANAGER_H -- cgit v1.2.3