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

Commit 1afd0983 authored by Andy Hung's avatar Andy Hung
Browse files

MediaPlayer: Use uid_t for uids

Test: Power manager shows correct uids
Bug: 32713790
Change-Id: Iddf8de5705319ec17c68787efc11e342779660c5
parent 1f12a8ad
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -577,7 +577,7 @@ MediaPlayerService::Client::Client(
    mLoop = false;
    mStatus = NO_INIT;
    mAudioSessionId = audioSessionId;
    mUID = uid;
    mUid = uid;
    mRetransmitEndpointValid = false;
    mAudioAttributes = NULL;

@@ -643,7 +643,7 @@ sp<MediaPlayerBase> MediaPlayerService::Client::createPlayer(player_type playerT
    }

    if (p != NULL) {
        p->setUID(mUID);
        p->setUID(mUid);
    }

    return p;
@@ -1386,7 +1386,7 @@ int Antagonizer::callbackThread(void* user)

#undef LOG_TAG
#define LOG_TAG "AudioSink"
MediaPlayerService::AudioOutput::AudioOutput(audio_session_t sessionId, int uid, int pid,
MediaPlayerService::AudioOutput::AudioOutput(audio_session_t sessionId, uid_t uid, int pid,
        const audio_attributes_t* attr)
    : mCallback(NULL),
      mCallbackCookie(NULL),
@@ -2348,7 +2348,7 @@ void MediaPlayerService::addBatteryData(uint32_t params)
        return;
    }

    int uid = IPCThreadState::self()->getCallingUid();
    uid_t uid = IPCThreadState::self()->getCallingUid();
    if (uid == AID_MEDIA) {
        return;
    }
+3 −3
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ class MediaPlayerService : public BnMediaPlayerService
        class CallbackData;

     public:
                                AudioOutput(audio_session_t sessionId, int uid, int pid,
                                AudioOutput(audio_session_t sessionId, uid_t uid, int pid,
                                        const audio_attributes_t * attr);
        virtual                 ~AudioOutput();

@@ -152,7 +152,7 @@ class MediaPlayerService : public BnMediaPlayerService
        float                   mMsecsPerFrame;
        size_t                  mFrameSize;
        audio_session_t         mSessionId;
        int                     mUid;
        uid_t                   mUid;
        int                     mPid;
        float                   mSendLevel;
        int                     mAuxEffectId;
@@ -402,7 +402,7 @@ private:
                    int32_t                     mConnId;
                    audio_session_t             mAudioSessionId;
                    audio_attributes_t *        mAudioAttributes;
                    uid_t                       mUID;
                    uid_t                       mUid;
                    sp<ANativeWindow>           mConnectedWindow;
                    sp<IBinder>                 mConnectedWindowBinder;
                    struct sockaddr_in          mRetransmitEndpoint;
+13 −13
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ BatteryNotifier::~BatteryNotifier() {
    }
}

void BatteryNotifier::noteStartVideo(int uid) {
void BatteryNotifier::noteStartVideo(uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();
    if (mVideoRefCounts[uid] == 0 && batteryService != nullptr) {
@@ -47,7 +47,7 @@ void BatteryNotifier::noteStartVideo(int uid) {
    mVideoRefCounts[uid]++;
}

void BatteryNotifier::noteStopVideo(int uid) {
void BatteryNotifier::noteStopVideo(uid_t uid) {
    Mutex::Autolock _l(mLock);
    if (mVideoRefCounts.find(uid) == mVideoRefCounts.end()) {
        ALOGW("%s: video refcount is broken for uid(%d).", __FUNCTION__, (int)uid);
@@ -74,7 +74,7 @@ void BatteryNotifier::noteResetVideo() {
    }
}

void BatteryNotifier::noteStartAudio(int uid) {
void BatteryNotifier::noteStartAudio(uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();
    if (mAudioRefCounts[uid] == 0 && batteryService != nullptr) {
@@ -83,7 +83,7 @@ void BatteryNotifier::noteStartAudio(int uid) {
    mAudioRefCounts[uid]++;
}

void BatteryNotifier::noteStopAudio(int uid) {
void BatteryNotifier::noteStopAudio(uid_t uid) {
    Mutex::Autolock _l(mLock);
    if (mAudioRefCounts.find(uid) == mAudioRefCounts.end()) {
        ALOGW("%s: audio refcount is broken for uid(%d).", __FUNCTION__, (int)uid);
@@ -110,11 +110,11 @@ void BatteryNotifier::noteResetAudio() {
    }
}

void BatteryNotifier::noteFlashlightOn(const String8& id, int uid) {
void BatteryNotifier::noteFlashlightOn(const String8& id, uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();

    std::pair<String8, int> k = std::make_pair(id, uid);
    std::pair<String8, uid_t> k = std::make_pair(id, uid);
    if (!mFlashlightState[k]) {
        mFlashlightState[k] = true;
        if (batteryService != nullptr) {
@@ -123,11 +123,11 @@ void BatteryNotifier::noteFlashlightOn(const String8& id, int uid) {
    }
}

void BatteryNotifier::noteFlashlightOff(const String8& id, int uid) {
void BatteryNotifier::noteFlashlightOff(const String8& id, uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();

    std::pair<String8, int> k = std::make_pair(id, uid);
    std::pair<String8, uid_t> k = std::make_pair(id, uid);
    if (mFlashlightState[k]) {
        mFlashlightState[k] = false;
        if (batteryService != nullptr) {
@@ -145,10 +145,10 @@ void BatteryNotifier::noteResetFlashlight() {
    }
}

void BatteryNotifier::noteStartCamera(const String8& id, int uid) {
void BatteryNotifier::noteStartCamera(const String8& id, uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();
    std::pair<String8, int> k = std::make_pair(id, uid);
    std::pair<String8, uid_t> k = std::make_pair(id, uid);
    if (!mCameraState[k]) {
        mCameraState[k] = true;
        if (batteryService != nullptr) {
@@ -157,10 +157,10 @@ void BatteryNotifier::noteStartCamera(const String8& id, int uid) {
    }
}

void BatteryNotifier::noteStopCamera(const String8& id, int uid) {
void BatteryNotifier::noteStopCamera(const String8& id, uid_t uid) {
    Mutex::Autolock _l(mLock);
    sp<IBatteryStats> batteryService = getBatteryService_l();
    std::pair<String8, int> k = std::make_pair(id, uid);
    std::pair<String8, uid_t> k = std::make_pair(id, uid);
    if (mCameraState[k]) {
        mCameraState[k] = false;
        if (batteryService != nullptr) {
@@ -211,7 +211,7 @@ sp<IBatteryStats> BatteryNotifier::getBatteryService_l() {
        // Notify start now if mediaserver or audioserver is already started.
        // 1) mediaserver and audioserver is started before batterystats service
        // 2) batterystats server may have crashed.
        std::map<int, int>::iterator it = mVideoRefCounts.begin();
        std::map<uid_t, int>::iterator it = mVideoRefCounts.begin();
        for (; it != mVideoRefCounts.end(); ++it) {
            mBatteryStatService->noteStartVideo(it->first);
        }
+12 −12
Original line number Diff line number Diff line
@@ -37,17 +37,17 @@ class BatteryNotifier : public Singleton<BatteryNotifier> {
public:
    ~BatteryNotifier();

    void noteStartVideo(int uid);
    void noteStopVideo(int uid);
    void noteStartVideo(uid_t uid);
    void noteStopVideo(uid_t uid);
    void noteResetVideo();
    void noteStartAudio(int uid);
    void noteStopAudio(int uid);
    void noteStartAudio(uid_t uid);
    void noteStopAudio(uid_t uid);
    void noteResetAudio();
    void noteFlashlightOn(const String8& id, int uid);
    void noteFlashlightOff(const String8& id, int uid);
    void noteFlashlightOn(const String8& id, uid_t uid);
    void noteFlashlightOff(const String8& id, uid_t uid);
    void noteResetFlashlight();
    void noteStartCamera(const String8& id, int uid);
    void noteStopCamera(const String8& id, int uid);
    void noteStartCamera(const String8& id, uid_t uid);
    void noteStopCamera(const String8& id, uid_t uid);
    void noteResetCamera();

private:
@@ -58,10 +58,10 @@ private:
    };

    Mutex mLock;
    std::map<int, int> mVideoRefCounts;
    std::map<int, int> mAudioRefCounts;
    std::map<std::pair<String8, int>, bool> mFlashlightState;
    std::map<std::pair<String8, int>, bool> mCameraState;
    std::map<uid_t, int> mVideoRefCounts;
    std::map<uid_t, int> mAudioRefCounts;
    std::map<std::pair<String8, uid_t>, bool> mFlashlightState;
    std::map<std::pair<String8, uid_t>, bool> mCameraState;
    sp<IBatteryStats> mBatteryStatService;
    sp<DeathNotifier> mDeathNotifier;