| /* |
| * Copyright (C) 2019 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.system.suspend; |
| |
| |
| /** |
| * Parcelable WakelockInfo - Representation of wake lock stats. |
| * |
| * Wakelocks obtained via SystemSuspend are hereafter referred to as |
| * native wake locks. |
| * |
| * @name: Name of wake lock (Not guaranteed to be unique). |
| * @activeCount: Number of times the wake lock was activated. |
| * @lastChange: Monotonic time when the wake lock was last touched. |
| * @maxTime: Maximum time (in us) this wake lock has been continuously active. |
| * @totalTime: Total time (in us) this wake lock has been active. |
| * @isActive: Status of wake lock. |
| * @activeTime: Time since wake lock was actived, 0 if wake lock is not active. |
| * @isKernelWakelock: True if kernel wake lock, false if native wake lock. |
| * |
| * The stats below are specific to NATIVE wake locks and hold no valid |
| * data in the context of kernel wake locks. |
| * |
| * @pid: Pid of process that aqcuired native wake lock. |
| * |
| * The stats below are specific to KERNEL wake locks and hold no valid |
| * data in the context of native wake locks. |
| * |
| * @eventCount: Number of signaled wakeup events. |
| * @expireCount: Number times the wakeup source's timeout expired. |
| * @preventSuspendTime: Total time this wake lock has been preventing autosuspend. |
| * @wakeupCount: Number of times the wakeup source might abort suspend. |
| */ |
| parcelable WakeLockInfo { |
| @utf8InCpp String name; |
| long activeCount; |
| long lastChange; |
| long maxTime; |
| long totalTime; |
| boolean isActive; |
| long activeTime; |
| boolean isKernelWakelock; |
| |
| // ---- Specific to Native Wake locks ---- // |
| int pid; |
| |
| // ---- Specific to Kernel Wake locks ---- // |
| long eventCount; |
| long expireCount; |
| long preventSuspendTime; |
| long wakeupCount; |
| } |