summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-05-13 20:14:44 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-13 20:14:44 +0000
commit52a3a399debbdad6c8d9f103e74457f3aab39820 (patch)
tree1171316d3ad4448376266d82b88b017b7df772bb
parent80208b9d71057e9fc0eb320ba6888d4d2ce29021 (diff)
parenta3431c7b32e899aa593a9b5497045b903362cd93 (diff)
downloadbase-52a3a399debbdad6c8d9f103e74457f3aab39820.tar.gz
Merge "Fix unbind service error for MusicFxHelper" into main
-rw-r--r--services/core/java/com/android/server/audio/MusicFxHelper.java12
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 85b3b49ecf78..5aae2e9f0c3c 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;
@@ -110,6 +112,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()));
@@ -158,9 +161,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);
+ }
}
}
}