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

Commit 006a15b8 authored by Shuzhen Wang's avatar Shuzhen Wang Committed by Android (Google) Code Review
Browse files

Merge "Camera: Add user tag to camera action event" into tm-dev

parents 960ea451 d26b1860
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -375,6 +375,12 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
        return err;
    }

    String16 userTag;
    if ((err = parcel->readString16(&userTag)) != OK) {
        ALOGE("%s: Failed to read user tag!", __FUNCTION__);
        return BAD_VALUE;
    }

    mCameraId = id;
    mFacing = facing;
    mNewCameraState = newCameraState;
@@ -389,6 +395,7 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    mResultErrorCount = resultErrorCount;
    mDeviceError = deviceError;
    mStreamStats = std::move(streamStats);
    mUserTag = userTag;

    return OK;
}
@@ -471,6 +478,10 @@ status_t CameraSessionStats::writeToParcel(android::Parcel* parcel) const {
        return err;
    }

    if ((err = parcel->writeString16(mUserTag)) != OK) {
        ALOGE("%s: Failed to write user tag!", __FUNCTION__);
        return err;
    }
    return OK;
}

+22 −0
Original line number Diff line number Diff line
@@ -146,6 +146,20 @@ status_t CaptureRequest::readFromParcel(const android::Parcel* parcel) {
        mSurfaceIdxList.push_back(surfaceIdx);
    }

    int32_t hasUserTag;
    if ((err = parcel->readInt32(&hasUserTag)) != OK) {
        ALOGE("%s: Failed to read user tag availability flag", __FUNCTION__);
        return BAD_VALUE;
    }
    if (hasUserTag) {
        String16 userTag;
        if ((err = parcel->readString16(&userTag)) != OK) {
            ALOGE("%s: Failed to read user tag!", __FUNCTION__);
            return BAD_VALUE;
        }
        mUserTag = String8(userTag).c_str();
    }

    return OK;
}

@@ -213,6 +227,14 @@ status_t CaptureRequest::writeToParcel(android::Parcel* parcel) const {
            return err;
        }
    }

    if (mUserTag.empty()) {
        parcel->writeInt32(0);
    } else {
        parcel->writeInt32(1);
        parcel->writeString16(String16(mUserTag.c_str()));
    }

    return OK;
}

+1 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ public:
    // Whether the device runs into an error state
    bool mDeviceError;
    std::vector<CameraStreamStats> mStreamStats;
    String16 mUserTag;

    // Constructors
    CameraSessionStats();
+2 −0
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ struct CaptureRequest : public Parcelable {

    void*                   mContext; // arbitrary user context from NDK apps, null for java apps

    std::string             mUserTag; // The string representation of object passed into setTag.

    /**
     * Keep impl up-to-date with CaptureRequest.java in frameworks/base
     */
+6 −1
Original line number Diff line number Diff line
@@ -518,6 +518,10 @@ binder::Status CameraDeviceClient::submitRequestList(

        metadataRequestList.push_back(physicalSettingsList);
        surfaceMapList.push_back(surfaceMap);

        if (!request.mUserTag.empty()) {
            mUserTag = request.mUserTag;
        }
    }
    mRequestIdCounter++;

@@ -1964,7 +1968,8 @@ void CameraDeviceClient::notifyIdle(
    if (remoteCb != 0) {
        remoteCb->onDeviceIdle();
    }
    Camera2ClientBase::notifyIdle(requestCount, resultErrorCount, deviceError, streamStats);
    Camera2ClientBase::notifyIdleWithUserTag(requestCount, resultErrorCount, deviceError,
            streamStats, mUserTag);
}

void CameraDeviceClient::notifyShutter(const CaptureResultExtras& resultExtras,
Loading