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

Commit b80734fa authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: Fix condition check for min/max zoom ratios

- minZoomRatio can be larger than 1.0f
- assert both min and max zoom ratios to be greater than 0.
- assert min zoom ratio to be equal or smaller than max zoom ratio.

Test: CTS on Cuttlefish camera
Bug: 153377715
Change-Id: Ia5d3f2ec7a51d4a35f199abe15a90c72cb7f3456
parent fc294e86
Loading
Loading
Loading
Loading
+10 −4
Original line number Original line Diff line number Diff line
@@ -16,8 +16,8 @@


package android.hardware.camera2.params;
package android.hardware.camera2.params;


import static com.android.internal.util.Preconditions.checkArgumentInRange;
import static com.android.internal.util.Preconditions.checkArgumentNonnegative;
import static com.android.internal.util.Preconditions.checkArgumentNonnegative;
import static com.android.internal.util.Preconditions.checkArgumentPositive;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraCharacteristics;
@@ -64,9 +64,15 @@ public final class Capability {
                "maxStreamingWidth must be nonnegative");
                "maxStreamingWidth must be nonnegative");
        mMaxStreamingHeight = checkArgumentNonnegative(maxStreamingHeight,
        mMaxStreamingHeight = checkArgumentNonnegative(maxStreamingHeight,
                "maxStreamingHeight must be nonnegative");
                "maxStreamingHeight must be nonnegative");
        mMinZoomRatio = checkArgumentInRange(minZoomRatio, 0.0f, 1.0f,

                "minZoomRatio must be between 0.0f and 1.0f");
        if (minZoomRatio > maxZoomRatio) {
        mMaxZoomRatio = maxZoomRatio;
            throw new IllegalArgumentException("minZoomRatio " + minZoomRatio
                    + " is greater than maxZoomRatio " + maxZoomRatio);
        }
        mMinZoomRatio = checkArgumentPositive(minZoomRatio,
                "minZoomRatio must be positive");
        mMaxZoomRatio = checkArgumentPositive(maxZoomRatio,
                "maxZoomRatio must be positive");
    }
    }


    /**
    /**