Fix test failures for realtime capture latency API

- requires the presence of the realtime capture latency api in the vendor extension impl
- only run the test if the extension version is at least 1.4 which implies that the realtime capture latency api is present

Test: AdvancedSessionProcessorTest and BasicExtenderSessionProcessorTest on device with existing vendor extensions present
Bug: 290729304
Change-Id: Ib8b9d98c8ad1b3cc51237de3b76282a5ddaadfbd
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
index 0b356f1..bd31f81 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/AdvancedSessionProcessorTest.kt
@@ -230,7 +230,7 @@
     @Test
     fun getRealtimeLatencyEstimate_advancedSessionProcessorInvokesSessionProcessorImpl() =
         runBlocking {
-            ExtensionVersion.injectInstance(FakeExtensionVersion(Version.VERSION_1_4))
+            assumeTrue(ExtensionVersion.isMinimumCompatibleVersion(Version.VERSION_1_4))
             ClientVersion.setCurrentVersion(ClientVersion("1.4.0"))
 
             val fakeSessionProcessImpl = object : SessionProcessorImpl by FakeSessionProcessImpl() {
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt
deleted file mode 100644
index e0bce46..0000000
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/FakeExtensionVersion.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.camera.extensions.internal
-
-import androidx.test.filters.SdkSuppress
-
-/**
- * A fake extension version with a settable version string used for testing
- */
-@SdkSuppress(minSdkVersion = 23) // BasicVendorExtender requires API level 23
-class FakeExtensionVersion(
-    private val version: Version = Version.VERSION_1_3,
-    private val isAdvancedExtenderSupported: Boolean = true
-) : ExtensionVersion() {
-    override fun isAdvancedExtenderSupportedInternal(): Boolean = isAdvancedExtenderSupported
-
-    override fun getVersionObject(): Version = version
-}
diff --git a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
index de57389..c494bd2 100644
--- a/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
+++ b/camera/camera-extensions/src/androidTest/java/androidx/camera/extensions/internal/sessionprocessor/BasicExtenderSessionProcessorTest.kt
@@ -70,7 +70,6 @@
 import androidx.camera.extensions.impl.RequestUpdateProcessorImpl
 import androidx.camera.extensions.internal.ClientVersion
 import androidx.camera.extensions.internal.ExtensionVersion
-import androidx.camera.extensions.internal.FakeExtensionVersion
 import androidx.camera.extensions.internal.Version
 import androidx.camera.lifecycle.ProcessCameraProvider
 import androidx.camera.testing.CameraUtil
@@ -345,7 +344,7 @@
     @Test
     fun getRealtimeCaptureLatencyEstimate_invokesCaptureExtenderImpl(): Unit = runBlocking {
         assumeTrue(hasCaptureProcessor)
-        ExtensionVersion.injectInstance(FakeExtensionVersion(Version.VERSION_1_4))
+        assumeTrue(ExtensionVersion.isMinimumCompatibleVersion(Version.VERSION_1_4))
         ClientVersion.setCurrentVersion(ClientVersion("1.4.0"))
         fakeCaptureExtenderImpl = object : FakeImageCaptureExtenderImpl(hasCaptureProcessor) {
             override fun getRealtimeCaptureLatency(): Pair<Long, Long> = Pair(1000L, 10L)