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

Commit 01612a56 authored by Emilian Peev's avatar Emilian Peev Committed by android-build-merger
Browse files

Merge "Camera: Don't advertize zoom in case max digital zoom is 1" into oc-dev

am: 0ba7cd85

Change-Id: I010fc3f3e0e8519662dcd8eb8ce3cd547a1375fa
parents f25b4810 0ba7cd85
Loading
Loading
Loading
Loading
+33 −24
Original line number Diff line number Diff line
@@ -838,13 +838,15 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) {
            "(0,0,0,0,0)");

    zoom = 0;
    params.set(CameraParameters::KEY_ZOOM, zoom);
    params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1);

    zoomAvailable = false;
    camera_metadata_ro_entry_t maxDigitalZoom =
        staticInfo(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, /*minCount*/1, /*maxCount*/1);
    if (!maxDigitalZoom.count) return NO_INIT;

    if (fabs(maxDigitalZoom.data.f[0] - 1.f) > 0.00001f) {
        params.set(CameraParameters::KEY_ZOOM, zoom);
        params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1);

        {
            String8 zoomRatios;
            float zoom = 1.f;
@@ -862,6 +864,11 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) {

        params.set(CameraParameters::KEY_ZOOM_SUPPORTED,
                CameraParameters::TRUE);
        zoomAvailable = true;
    } else {
        params.set(CameraParameters::KEY_ZOOM_SUPPORTED,
                CameraParameters::FALSE);
    }
    params.set(CameraParameters::KEY_SMOOTH_ZOOM_SUPPORTED,
            CameraParameters::FALSE);

@@ -1896,6 +1903,7 @@ status_t Parameters::set(const String8& paramString) {
    }

    // ZOOM
    if (zoomAvailable) {
        validatedParams.zoom = newParams.getInt(CameraParameters::KEY_ZOOM);
        if (validatedParams.zoom < 0
                    || validatedParams.zoom >= (int)NUM_ZOOM_STEPS) {
@@ -1903,6 +1911,7 @@ status_t Parameters::set(const String8& paramString) {
                    __FUNCTION__, validatedParams.zoom);
            return BAD_VALUE;
        }
    }

    // VIDEO_SIZE
    newParams.getVideoSize(&validatedParams.videoWidth,
+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ struct Parameters {
    Vector<Area> meteringAreas;

    int zoom;
    bool zoomAvailable;

    int videoWidth, videoHeight, videoFormat;
    android_dataspace videoDataSpace;