diff options
author | 2024-12-18 20:58:44 -0800 | |
---|---|---|
committer | 2024-12-18 20:58:44 -0800 | |
commit | 0543aff7e8671c4053e9c05e5db42ed6597f493c (patch) | |
tree | 88d9e714c5cb503eff7eeb56db0ae9bc455f3d46 | |
parent | 761183ff8a4559a3761d494353c5ea10366d8787 (diff) | |
parent | 7c3767605e293c806ab4069fbe3d4015ac559eaa (diff) |
Merge "FadeOutManager: the NPE problem due to add null value to SparseArray." into main am: 7c3767605e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3415680
Change-Id: I6a2d64a8e05f03fc30666c699a7507df4a940f44
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | media/java/android/media/FadeManagerConfiguration.java | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/audio/FadeOutManager.java | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/media/java/android/media/FadeManagerConfiguration.java b/media/java/android/media/FadeManagerConfiguration.java index 6d84e7066839..b91a5b57ac6b 100644 --- a/media/java/android/media/FadeManagerConfiguration.java +++ b/media/java/android/media/FadeManagerConfiguration.java @@ -673,6 +673,7 @@ public final class FadeManagerConfiguration implements Parcelable { return config != null ? config.getDuration() : DURATION_NOT_SET; } + @Nullable private VolumeShaper.Configuration getVolumeShaperConfigFromWrapper( FadeVolumeShaperConfigsWrapper wrapper, boolean isFadeIn) { // if no volume shaper config is available, return null diff --git a/services/core/java/com/android/server/audio/FadeOutManager.java b/services/core/java/com/android/server/audio/FadeOutManager.java index 4d5bce559a91..fedfe511b747 100644 --- a/services/core/java/com/android/server/audio/FadeOutManager.java +++ b/services/core/java/com/android/server/audio/FadeOutManager.java @@ -199,7 +199,9 @@ public final class FadeOutManager { for (AudioPlaybackConfiguration apc : players) { final VolumeShaper.Configuration volShaper = mFadeConfigurations.getFadeOutVolumeShaperConfig(apc.getAudioAttributes()); - fa.addFade(apc, /* skipRamp= */ false, volShaper); + if (volShaper != null) { + fa.addFade(apc, /* skipRamp= */ false, volShaper); + } } } } @@ -249,7 +251,7 @@ public final class FadeOutManager { final VolumeShaper.Configuration volShaper = mFadeConfigurations.getFadeOutVolumeShaperConfig(apc.getAudioAttributes()); final FadedOutApp fa = mUidToFadedAppsMap.get(apc.getClientUid()); - if (fa == null) { + if (fa == null || volShaper == null) { return; } fa.addFade(apc, /* skipRamp= */ true, volShaper); |