1 /*
2  * Copyright 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package androidx.camera.camera2.internal.util;
18 
19 import androidx.camera.camera2.internal.Camera2CameraControlImpl;
20 import androidx.camera.camera2.internal.Camera2CameraInfoImpl;
21 import androidx.camera.core.CameraControl;
22 import androidx.camera.core.CameraInfo;
23 import androidx.camera.core.impl.CameraControlInternal;
24 import androidx.camera.core.impl.CameraInfoInternal;
25 
26 public class TestUtil {
getCamera2CameraControlImpl( CameraControl cameraControl)27     public static Camera2CameraControlImpl getCamera2CameraControlImpl(
28             CameraControl cameraControl) {
29         if (cameraControl instanceof CameraControlInternal) {
30             CameraControlInternal impl =
31                     ((CameraControlInternal) cameraControl).getImplementation();
32             return (Camera2CameraControlImpl) impl;
33         }
34         throw new IllegalArgumentException(
35                 "Can't get Camera2CameraControlImpl from the CameraControl");
36     }
37 
getCamera2CameraInfoImpl(CameraInfo cameraInfo)38     public static Camera2CameraInfoImpl getCamera2CameraInfoImpl(CameraInfo cameraInfo) {
39         if (cameraInfo instanceof CameraInfoInternal) {
40             CameraInfoInternal impl = ((CameraInfoInternal) cameraInfo).getImplementation();
41             return (Camera2CameraInfoImpl) impl;
42         }
43         throw new IllegalArgumentException(
44                 "Can't get Camera2CameraInfoImpl from the CameraInfo");
45     }
46 }
47