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

Commit 6b9e0983 authored by Jeongik Cha's avatar Jeongik Cha Committed by android-build-merger
Browse files

Merge "remove linking against aidl enum" am: 4a084f53

am: b52b64c8

Change-Id: I94246360002ea8aebd3eda80272b6f697d0eeffc
parents 5928ec96 b52b64c8
Loading
Loading
Loading
Loading
+18 −16
Original line number Diff line number Diff line
@@ -1554,6 +1554,24 @@ Status CameraService::setTorchMode(const String16& cameraId, bool enabled,

Status CameraService::notifySystemEvent(int32_t eventId,
        const std::vector<int32_t>& args) {
    const int pid = getCallingPid();
    const int selfPid = getpid();

    // Permission checks
    if (pid != selfPid) {
        // Ensure we're being called by system_server, or similar process with
        // permissions to notify the camera service about system events
        if (!checkCallingPermission(
                String16("android.permission.CAMERA_SEND_SYSTEM_EVENTS"))) {
            const int uid = getCallingUid();
            ALOGE("Permission Denial: cannot send updates to camera service about system"
                    " events from pid=%d, uid=%d", pid, uid);
            return STATUS_ERROR_FMT(ERROR_PERMISSION_DENIED,
                    "No permission to send updates to camera service about system events"
                    " from pid=%d, uid=%d", pid, uid);
        }
    }

    ATRACE_CALL();

    switch(eventId) {
@@ -1955,8 +1973,6 @@ void CameraService::logServiceError(const char* msg, int errorCode) {
status_t CameraService::onTransact(uint32_t code, const Parcel& data, Parcel* reply,
        uint32_t flags) {

    const int pid = getCallingPid();
    const int selfPid = getpid();

    // Permission checks
    switch (code) {
@@ -1984,20 +2000,6 @@ status_t CameraService::onTransact(uint32_t code, const Parcel& data, Parcel* re
            }
            return NO_ERROR;
        }
        case BnCameraService::NOTIFYSYSTEMEVENT: {
            if (pid != selfPid) {
                // Ensure we're being called by system_server, or similar process with
                // permissions to notify the camera service about system events
                if (!checkCallingPermission(
                        String16("android.permission.CAMERA_SEND_SYSTEM_EVENTS"))) {
                    const int uid = getCallingUid();
                    ALOGE("Permission Denial: cannot send updates to camera service about system"
                            " events from pid=%d, uid=%d", pid, uid);
                    return PERMISSION_DENIED;
                }
            }
            break;
        }
    }

    return BnCameraService::onTransact(code, data, reply, flags);