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

Commit 1f692ead authored by Austin Borger's avatar Austin Borger Committed by Android (Google) Code Review
Browse files

Merge "Add new onUidProcAdjChanged callback to be consumed by the camera service." into tm-dev

parents c626cebf 5144233d
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -57,8 +57,7 @@ public:
    }

    virtual void onUidStateChanged(uid_t uid, int32_t procState, int64_t procStateSeq,
            int32_t capability)
    {
                                   int32_t capability) {
        Parcel data, reply;
        data.writeInterfaceToken(IUidObserver::getInterfaceDescriptor());
        data.writeInt32((int32_t) uid);
@@ -67,6 +66,12 @@ public:
        data.writeInt32(capability);
        remote()->transact(ON_UID_STATE_CHANGED_TRANSACTION, data, &reply, IBinder::FLAG_ONEWAY);
    }

    virtual void onUidProcAdjChanged(uid_t uid) {
        Parcel data, reply;
        data.writeInt32((int32_t)uid);
        remote()->transact(ON_UID_PROC_ADJ_CHANGED_TRANSACTION, data, &reply, IBinder::FLAG_ONEWAY);
    }
};

// ----------------------------------------------------------------------
@@ -102,6 +107,7 @@ status_t BnUidObserver::onTransact(
            onUidIdle(uid, disabled);
            return NO_ERROR;
        } break;

        case ON_UID_STATE_CHANGED_TRANSACTION: {
            CHECK_INTERFACE(IUidObserver, data, reply);
            uid_t uid = data.readInt32();
@@ -111,6 +117,14 @@ status_t BnUidObserver::onTransact(
            onUidStateChanged(uid, procState, procStateSeq, capability);
            return NO_ERROR;
        } break;

        case ON_UID_PROC_ADJ_CHANGED_TRANSACTION: {
            CHECK_INTERFACE(IUidObserver, data, reply);
            uid_t uid = data.readInt32();
            onUidProcAdjChanged(uid);
            return NO_ERROR;
        } break;

        default:
            return BBinder::onTransact(code, data, reply, flags);
    }
+8 −7
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ namespace android {
class ActivityManager
{
public:

    enum {
        // Flag for registerUidObserver: report uid state changed
        UID_OBSERVER_PROCSTATE = 1 << 0,
@@ -45,6 +44,8 @@ public:
        UID_OBSERVER_CACHED = 1 << 4,
        // Flag for registerUidObserver: report uid capability has changed
        UID_OBSERVER_CAPABILITY = 1 << 5,
        // Flag for registerUidObserver: report pid oom adj has changed
        UID_OBSERVER_PROC_OOM_ADJ = 1 << 6,
    };

    // PROCESS_STATE_* must come from frameworks/base/core/java/android/app/ProcessStateEnum.aidl.
+4 −2
Original line number Diff line number Diff line
@@ -34,12 +34,14 @@ public:
    virtual void onUidIdle(uid_t uid, bool disabled) = 0;
    virtual void onUidStateChanged(uid_t uid, int32_t procState, int64_t procStateSeq,
                                   int32_t capability) = 0;
    virtual void onUidProcAdjChanged(uid_t uid) = 0;

    enum {
        ON_UID_GONE_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION,
        ON_UID_ACTIVE_TRANSACTION,
        ON_UID_IDLE_TRANSACTION,
        ON_UID_STATE_CHANGED_TRANSACTION
        ON_UID_STATE_CHANGED_TRANSACTION,
        ON_UID_PROC_ADJ_CHANGED_TRANSACTION
    };
};

+6 −4
Original line number Diff line number Diff line
@@ -257,11 +257,13 @@ private:

            bool isUidActive(uid_t uid);

            void onUidGone(uid_t uid, bool disabled);
            void onUidActive(uid_t uid);
            void onUidIdle(uid_t uid, bool disabled);
            void onUidGone(uid_t uid, bool disabled) override;
            void onUidActive(uid_t uid) override;
            void onUidIdle(uid_t uid, bool disabled) override;
            void onUidStateChanged(uid_t uid __unused, int32_t procState __unused,
                                   int64_t procStateSeq __unused, int32_t capability __unused) {}
                                   int64_t procStateSeq __unused,
                                   int32_t capability __unused) override {}
            void onUidProcAdjChanged(uid_t uid __unused) override {}

            void addOverrideUid(uid_t uid, bool active);
            void removeOverrideUid(uid_t uid);