bootanim: audioplay: do not start audio thread if it is not allowed

If playSoundsAllowed() returns false, then no need to start new audio
thread.

Bug: 232955344

Test:
Manual - applied this wear-dev change to a local main
and verified in an emulator that when launching
bootanimation (as root), init() early exits with no
negative consequences when BootAnimationUtil.cpp's
playSoundsAllowed() returns false. Also tested when
playSoundsAllowed() returns true, init() continues
(but exits when partWithAudio is null checked).

Change-Id: Ia3ff397ab004b09e60acca1b4ad23c5e76d698cb
(cherry picked from commit 61b667b5bce33ee857a19688a23eef79bdf66a99)
(cherry picked from commit 226331c3b20571fd3dc38bb5da7e0455c4a34f13)
This commit is contained in:
Hoa Hoang
2021-11-15 13:42:57 +00:00
committed by Mike McCreavy
parent 0eb9f5862e
commit 1cd98769c1

View File

@@ -334,6 +334,11 @@ class AudioAnimationCallbacks : public android::BootAnimation::Callbacks {
public:
void init(const Vector<Animation::Part>& parts) override {
const Animation::Part* partWithAudio = nullptr;
if (!playSoundsAllowed()) {
return;
}
for (const Animation::Part& part : parts) {
if (part.audioData != nullptr) {
partWithAudio = &part;