Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a8d897c authored by David Lin's avatar David Lin Committed by Android (Google) Code Review
Browse files

Merge "Fix unbind service error for MusicFxHelper" into 24D1-dev

parents 75587f35 ad92d120
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -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,12 +160,15 @@ public class MusicFxHelper {
                    Log.e(TAG, "RemoteException with unregisterUidObserver: " + e);
                }
                mUidObserverToken = null;
                if (mIsBound) {
                    mContext.unbindService(mMusicFxBindConnection);
                    mIsBound = false;
                    Log.i(TAG, "last session closed, unregister UID observer, and unbind "
                            + mMusicFxPackageName);
                }
            }
        }
    }

    // Hashmap of UID and list of open sessions for this UID.
    @GuardedBy("mClientUidMapLock")