From 0f23909aac1cb9d9547fef808020927d94113f34 Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Tue, 4 Apr 2023 03:33:09 -0700 Subject: Pipe wakeup sensor events to batterystats Creating another method in BatteryService to send notifcations from sensor event connection to BatteryStatsService. Passing the sensor handle so java code can retrieve a Sensor object and then query any properties of the sensor from there. Test: Manually trigger sensor events and check logcat Ignore-AOSP-First: AIDL method definition not present in AOSP. Bug: 275436924 Change-Id: I7c3009b33a38047463214eb32ba67925ddc20773 --- libs/binder/IBatteryStats.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'libs/binder/IBatteryStats.cpp') diff --git a/libs/binder/IBatteryStats.cpp b/libs/binder/IBatteryStats.cpp index 0de804c3c2..69b11c0ee9 100644 --- a/libs/binder/IBatteryStats.cpp +++ b/libs/binder/IBatteryStats.cpp @@ -128,6 +128,15 @@ public: remote()->transact(NOTE_RESET_FLASHLIGHT_TRANSACTION, data, &reply); } + virtual binder::Status noteWakeupSensorEvent(int64_t elapsedNanos, int uid, int handle) { + Parcel data, reply; + data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); + data.writeInt64(elapsedNanos); + data.writeInt32(uid); + data.writeInt32(handle); + status_t ret = remote()->transact(NOTE_WAKEUP_SENSOR_EVENT_TRANSACTION, data, &reply); + return binder::Status::fromStatusT(ret); + } }; IMPLEMENT_META_INTERFACE(BatteryStats, "com.android.internal.app.IBatteryStats") @@ -235,6 +244,16 @@ status_t BnBatteryStats::onTransact( reply->writeNoException(); return NO_ERROR; } break; + case NOTE_WAKEUP_SENSOR_EVENT_TRANSACTION: { + CHECK_INTERFACE(IBatteryStats, data, reply); + int64_t elapsedNanos = data.readInt64(); + int uid = data.readInt32(); + int handle = data.readInt32(); + noteWakeupSensorEvent(elapsedNanos, uid, handle); + reply->writeNoException(); + return NO_ERROR; + } break; + default: return BBinder::onTransact(code, data, reply, flags); } -- cgit v1.2.3-59-g8ed1b