diff options
| author | 2024-05-13 20:55:22 +0000 | |
|---|---|---|
| committer | 2024-05-13 20:55:22 +0000 | |
| commit | cde46406ac1d75d24fb3a18e4c060545b3d025eb (patch) | |
| tree | d5afa65bb290140e838cd102cd6cbe71e7b02328 | |
| parent | 9b8b5330973e5aec5e9feae9122e524561102006 (diff) | |
| parent | 3917932a75a625a0aeef9cfbbd2da2729719e0a5 (diff) | |
Merge "Fix unbind service error for MusicFxHelper" into main am: 52a3a399de am: 3917932a75
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3025933
Change-Id: Id53f78dfe65ac44a2c823733a2041320c0938ce3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/audio/MusicFxHelper.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/audio/MusicFxHelper.java b/services/core/java/com/android/server/audio/MusicFxHelper.java index ba453101046f..cf0b2ae15618 100644 --- a/services/core/java/com/android/server/audio/MusicFxHelper.java +++ b/services/core/java/com/android/server/audio/MusicFxHelper.java @@ -70,6 +70,8 @@ public class MusicFxHelper { // The binder token identifying the UidObserver registration. private IBinder mUidObserverToken = null; + private boolean mIsBound; + // Package name and list of open audio sessions for this package private static class PackageSessions { String mPackageName; @@ -109,6 +111,7 @@ public class MusicFxHelper { if (procState > ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND) { Intent bindIntent = new Intent().setClassName(mMusicFxPackageName, "com.android.musicfx.KeepAliveService"); + mIsBound = true; mContext.bindServiceAsUser( bindIntent, mMusicFxBindConnection, Context.BIND_AUTO_CREATE, UserHandle.of(getCurrentUserId())); @@ -157,9 +160,12 @@ public class MusicFxHelper { Log.e(TAG, "RemoteException with unregisterUidObserver: " + e); } mUidObserverToken = null; - mContext.unbindService(mMusicFxBindConnection); - Log.i(TAG, "last session closed, unregister UID observer, and unbind " - + mMusicFxPackageName); + if (mIsBound) { + mContext.unbindService(mMusicFxBindConnection); + mIsBound = false; + Log.i(TAG, "last session closed, unregister UID observer, and unbind " + + mMusicFxPackageName); + } } } } |