AudioFlinger: Clean up NotificationClients
Use std::map to modernize an ordered map.
Save package name.
Test: atest AudioTrackTest
Flag: EXEMPT refactor
Bug: 350114693
Change-Id: Ia05c8d1875372ee592a80c2c194a4e76e37cb42f
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 9513327..b57a355 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -479,12 +479,14 @@
NotificationClient(const sp<AudioFlinger>& audioFlinger,
const sp<media::IAudioFlingerClient>& client,
pid_t pid,
- uid_t uid);
+ uid_t uid,
+ std::string_view packageName);
virtual ~NotificationClient();
sp<media::IAudioFlingerClient> audioFlingerClient() const { return mAudioFlingerClient; }
pid_t getPid() const { return mPid; }
uid_t getUid() const { return mUid; }
+ const std::string& getPackageName() const { return mPackageName; }
// IBinder::DeathRecipient
virtual void binderDied(const wp<IBinder>& who);
@@ -495,6 +497,7 @@
const sp<AudioFlinger> mAudioFlinger;
const pid_t mPid;
const uid_t mUid;
+ const std::string mPackageName;
const sp<media::IAudioFlingerClient> mAudioFlingerClient;
};
@@ -694,8 +697,7 @@
DefaultKeyedVector<audio_io_handle_t, sp<IAfRecordThread>> mRecordThreads GUARDED_BY(mutex());
- DefaultKeyedVector<pid_t, sp<NotificationClient>> mNotificationClients
- GUARDED_BY(clientMutex());
+ std::map<pid_t, sp<NotificationClient>> mNotificationClients GUARDED_BY(clientMutex());
// updated by atomic_fetch_add_explicit
volatile atomic_uint_fast32_t mNextUniqueIds[AUDIO_UNIQUE_ID_USE_MAX]; // ctor init