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

Commit 0fefc974 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala Committed by android-build-merger
Browse files

resolve merge conflicts of 88b736a1 to lmp-dev.

am: 89982396

* commit '89982396':
  Camera: Disallow dumping clients directly
parents a8ac8f61 89982396
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1423,6 +1423,14 @@ void CameraService::BasicClient::disconnect() {
    mClientPid = 0;
}

status_t CameraService::BasicClient::dump(int, const Vector<String16>&) {
    // No dumping of clients directly over Binder,
    // must go through CameraService::dump
    android_errorWriteWithInfoLog(SN_EVENT_LOG_ID, "26265403",
            IPCThreadState::self()->getCallingUid(), NULL, 0);
    return OK;
}

status_t CameraService::BasicClient::startCameraOps() {
    int32_t res;
    // Notify app ops that the camera is not available
@@ -1691,7 +1699,7 @@ status_t CameraService::dump(int fd, const Vector<String16>& args) {
            hasClient = true;
            result = String8::format("  Device is open. Client instance dump:\n");
            write(fd, result.string(), result.size());
            client->dump(fd, args);
            client->dumpClient(fd, args);
        }
        if (!hasClient) {
            result = String8::format("\nNo active camera clients yet.\n");
+7 −1
Original line number Diff line number Diff line
@@ -58,6 +58,9 @@ public:
    class Client;
    class BasicClient;

    // Event log ID
    static const int SN_EVENT_LOG_ID = 0x534e4554;

    // Implementation of BinderService<T>
    static char const* getServiceName() { return "media.camera"; }

@@ -165,7 +168,10 @@ public:
            return mRemoteBinder;
        }

        virtual status_t    dump(int fd, const Vector<String16>& args) = 0;
        // Disallows dumping over binder interface
        virtual status_t      dump(int fd, const Vector<String16>& args);
        // Internal dump method to be called by CameraService
        virtual status_t      dumpClient(int fd, const Vector<String16>& args) = 0;

    protected:
        BasicClient(const sp<CameraService>& cameraService,
+4 −0
Original line number Diff line number Diff line
@@ -162,6 +162,10 @@ Camera2Client::~Camera2Client() {
}

status_t Camera2Client::dump(int fd, const Vector<String16>& args) {
    return BasicClient::dump(fd, args);
}

status_t Camera2Client::dumpClient(int fd, const Vector<String16>& args) {
    String8 result;
    result.appendFormat("Client2[%d] (%p) Client: %s PID: %d, dump:\n",
            mCameraId,
+2 −0
Original line number Diff line number Diff line
@@ -98,6 +98,8 @@ public:

    virtual status_t dump(int fd, const Vector<String16>& args);

    virtual status_t dumpClient(int fd, const Vector<String16>& args);

    /**
     * Interface used by CameraDeviceBase
     */
+4 −0
Original line number Diff line number Diff line
@@ -113,6 +113,10 @@ CameraClient::~CameraClient() {
}

status_t CameraClient::dump(int fd, const Vector<String16>& args) {
    return BasicClient::dump(fd, args);
}

status_t CameraClient::dumpClient(int fd, const Vector<String16>& args) {
    const size_t SIZE = 256;
    char buffer[SIZE];

Loading