IPowerManager: make all binder call one way

make all binder call to power manager service one way so that
they don't block calling thread and are processed in the
incoming order.

Bug: 16408906.
Change-Id: I94034df7f0a36d967e085b53fdc37fff7b44757b
This commit is contained in:
Eric Laurent 2014-08-10 10:46:52 -07:00
parent bcbf97ef8f
commit f20c329a8a

View File

@ -56,7 +56,7 @@ public:
data.writeString16(packageName); data.writeString16(packageName);
data.writeInt32(0); // no WorkSource data.writeInt32(0); // no WorkSource
data.writeString16(NULL, 0); // no history tag data.writeString16(NULL, 0); // no history tag
return remote()->transact(ACQUIRE_WAKE_LOCK, data, &reply); return remote()->transact(ACQUIRE_WAKE_LOCK, data, &reply, IBinder::FLAG_ONEWAY);
} }
virtual status_t acquireWakeLockWithUid(int flags, const sp<IBinder>& lock, const String16& tag, virtual status_t acquireWakeLockWithUid(int flags, const sp<IBinder>& lock, const String16& tag,
@ -70,7 +70,7 @@ public:
data.writeString16(tag); data.writeString16(tag);
data.writeString16(packageName); data.writeString16(packageName);
data.writeInt32(uid); // uid to blame for the work data.writeInt32(uid); // uid to blame for the work
return remote()->transact(ACQUIRE_WAKE_LOCK_UID, data, &reply); return remote()->transact(ACQUIRE_WAKE_LOCK_UID, data, &reply, IBinder::FLAG_ONEWAY);
} }
virtual status_t releaseWakeLock(const sp<IBinder>& lock, int flags) virtual status_t releaseWakeLock(const sp<IBinder>& lock, int flags)
@ -79,7 +79,7 @@ public:
data.writeInterfaceToken(IPowerManager::getInterfaceDescriptor()); data.writeInterfaceToken(IPowerManager::getInterfaceDescriptor());
data.writeStrongBinder(lock); data.writeStrongBinder(lock);
data.writeInt32(flags); data.writeInt32(flags);
return remote()->transact(RELEASE_WAKE_LOCK, data, &reply); return remote()->transact(RELEASE_WAKE_LOCK, data, &reply, IBinder::FLAG_ONEWAY);
} }
virtual status_t updateWakeLockUids(const sp<IBinder>& lock, int len, const int *uids) { virtual status_t updateWakeLockUids(const sp<IBinder>& lock, int len, const int *uids) {