diff options
author | 2020-03-24 16:12:07 -0700 | |
---|---|---|
committer | 2020-03-25 11:06:49 -0700 | |
commit | ef6532c9d46439e4773435c10624d097a53978df (patch) | |
tree | 6d140d62b6bfa225383fbb17b0b6e282ea0a80c1 /libs/binder/IActivityManager.cpp | |
parent | f08d9c835f9e422e34f19b0ed779cea1ec983105 (diff) |
Add isUidActiveOrForeground for camera/audio to use.
The new interface isUidActiveOrForeground will call AM.isUidActiveOrForeground()
which check isUidActive() first, if flase, then check isUidForeground.
Bug: 151185692, 151777097, 109950150
Test: manual test.
Change-Id: I51ed1fe780dbead0688e73a37c6c762f84e8bf23
Diffstat (limited to 'libs/binder/IActivityManager.cpp')
-rw-r--r-- | libs/binder/IActivityManager.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/binder/IActivityManager.cpp b/libs/binder/IActivityManager.cpp index 1eb5363ae2..9e1249baf4 100644 --- a/libs/binder/IActivityManager.cpp +++ b/libs/binder/IActivityManager.cpp @@ -104,6 +104,18 @@ public: } return reply.readInt32(); } + + virtual bool isUidActiveOrForeground(const uid_t uid, const String16& callingPackage) + { + Parcel data, reply; + data.writeInterfaceToken(IActivityManager::getInterfaceDescriptor()); + data.writeInt32(uid); + data.writeString16(callingPackage); + remote()->transact(IS_UID_ACTIVE_OR_FOREGROUND_TRANSACTION, data, &reply); + // fail on exception + if (reply.readExceptionCode() != 0) return false; + return reply.readInt32() == 1; + } }; // ------------------------------------------------------------------------------------ |