Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3abc2ded authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Make IPowerManager native conform to .aidl for oneway

But provide a temporary escape hatch for AudioFlinger.
This oneway option will be removed as soon as possible.

Bug: 16408906
Change-Id: I058a50906af810787e444a96819cb781b7f639ad
parent 52c6a355
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -338,7 +338,7 @@ void TimedEventQueue::acquireWakeLock_l()
            status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK,
                                                             binder,
                                                             String16("TimedEventQueue"),
                                                             String16("media"));
                                                             String16("media"));    // not oneway
            IPCThreadState::self()->restoreCallingIdentity(token);
            if (status == NO_ERROR) {
                mWakeLockToken = binder;
@@ -363,7 +363,7 @@ void TimedEventQueue::releaseWakeLock_l(bool force)
        CHECK(mWakeLockToken != 0);
        if (mPowerManager != 0) {
            int64_t token = IPCThreadState::self()->clearCallingIdentity();
            mPowerManager->releaseWakeLock(mWakeLockToken, 0);
            mPowerManager->releaseWakeLock(mWakeLockToken, 0);  // not oneway
            IPCThreadState::self()->restoreCallingIdentity(token);
        }
        mWakeLockToken.clear();
+8 −4
Original line number Diff line number Diff line
@@ -662,12 +662,14 @@ void AudioFlinger::ThreadBase::acquireWakeLock_l(int uid)
                    binder,
                    getWakeLockTag(),
                    String16("media"),
                    uid);
                    uid,
                    true /* FIXME force oneway contrary to .aidl */);
        } else {
            status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK,
                    binder,
                    getWakeLockTag(),
                    String16("media"));
                    String16("media"),
                    true /* FIXME force oneway contrary to .aidl */);
        }
        if (status == NO_ERROR) {
            mWakeLockToken = binder;
@@ -687,7 +689,8 @@ void AudioFlinger::ThreadBase::releaseWakeLock_l()
    if (mWakeLockToken != 0) {
        ALOGV("releaseWakeLock_l() %s", mName);
        if (mPowerManager != 0) {
            mPowerManager->releaseWakeLock(mWakeLockToken, 0);
            mPowerManager->releaseWakeLock(mWakeLockToken, 0,
                    true /* FIXME force oneway contrary to .aidl */);
        }
        mWakeLockToken.clear();
    }
@@ -723,7 +726,8 @@ void AudioFlinger::ThreadBase::updateWakeLockUids_l(const SortedVector<int> &uid
    if (mPowerManager != 0) {
        sp<IBinder> binder = new BBinder();
        status_t status;
        status = mPowerManager->updateWakeLockUids(mWakeLockToken, uids.size(), uids.array());
        status = mPowerManager->updateWakeLockUids(mWakeLockToken, uids.size(), uids.array(),
                    true /* FIXME force oneway contrary to .aidl */);
        ALOGV("acquireWakeLock_l() %s status %d", mName, status);
    }
}