Adding an API to report sound trigger events

Sound trigger events can wake the CPU up. Adding an API that can be used
by the sound trigger modules to report whenever the underlying hardware
notifies the main chip on recognizing a phrase.

The API is non-functional now. Functionality will be added once the
event has been piped from the SoundTrigger system.

Test: Builds, boots.

Bug: 267717665
Change-Id: Id6382aa2f2b09cde0a2fda728c0825e3a5d15a3d
This commit is contained in:
Suprabh Shukla
2023-02-06 19:54:01 -08:00
parent de1bae624e
commit 6d177c83b5
2 changed files with 17 additions and 1 deletions

View File

@@ -104,8 +104,18 @@ public abstract class BatteryStatsInternal {
/**
* Reports any activity that could potentially have caused the CPU to wake up.
* Accepts a timestamp to allow the reporter to report it before or after the event.
* Accepts a timestamp to allow free ordering between the event and its reporting.
* @param subsystem The subsystem this activity should be attributed to.
* @param elapsedMillis The time when this activity happened in the elapsed timebase.
* @param uids The uid (or uids) that should be blamed for this activity.
*/
public abstract void noteCpuWakingActivity(@CpuWakeupSubsystem int subsystem,
long elapsedMillis, @NonNull int... uids);
/**
* Reports a sound trigger recognition event that may have woken up the CPU.
* @param elapsedMillis The time when the event happened in the elapsed timebase.
* @param uid The uid that requested this trigger.
*/
public abstract void noteWakingSoundTrigger(long elapsedMillis, int uid);
}

View File

@@ -483,6 +483,12 @@ public final class BatteryStatsService extends IBatteryStats.Stub
Objects.requireNonNull(uids);
mCpuWakeupStats.noteWakingActivity(subsystem, elapsedMillis, uids);
}
@Override
public void noteWakingSoundTrigger(long elapsedMillis, int uid) {
// TODO(b/267717665): Pipe to noteCpuWakingActivity once SoundTrigger starts using this.
Slog.w(TAG, "Sound trigger event dispatched to uid " + uid);
}
}
@Override