Throw UnsupportedOperationException from registerCamera
... in case any of the used EGL extensions is missing.
Bug: 301023410
Bug: 333479608
Test: presubmit
Test: atest CtsVirtualCameraTestCases (on cuttlefish & phys. device)
Change-Id: I9500e332cab075d56a4e23a9b922afaf99b156ba
diff --git a/services/camera/virtualcamera/VirtualCameraService.h b/services/camera/virtualcamera/VirtualCameraService.h
index 63a8c9d..2121d64 100644
--- a/services/camera/virtualcamera/VirtualCameraService.h
+++ b/services/camera/virtualcamera/VirtualCameraService.h
@@ -69,6 +69,12 @@
binder_status_t handleShellCommand(int in, int out, int err, const char** args,
uint32_t numArgs) override;
+ // Do not verify presence on required EGL extensions when registering virtual
+ // camera. Only to be used by unit tests.
+ void disableEglVerificationForTest() {
+ mVerifyEglExtensions = false;
+ }
+
private:
// Create and enable test camera instance if there's none.
binder_status_t enableTestCameraCmd(
@@ -77,7 +83,7 @@
void disableTestCameraCmd(int out);
std::shared_ptr<VirtualCameraProvider> mVirtualCameraProvider;
-
+ bool mVerifyEglExtensions = true;
const PermissionsProxy& mPermissionProxy;
std::mutex mLock;