15d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala/* 25d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * Copyright (C) 2016 The Android Open Source Project 35d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * 45d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License"); 55d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * you may not use this file except in compliance with the License. 65d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * You may obtain a copy of the License at 75d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * 85d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * http://www.apache.org/licenses/LICENSE-2.0 95d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * 105d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * Unless required by applicable law or agreed to in writing, software 115d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS, 125d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * See the License for the specific language governing permissions and 145d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * limitations under the License. 155d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala */ 165d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 175d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalapackage android.hardware.camera2.impl; 185d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 195d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.CAMERA_DISABLED; 205d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.CAMERA_DISCONNECTED; 215d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.CAMERA_IN_USE; 225d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.CAMERA_ERROR; 235d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.MAX_CAMERAS_IN_USE; 245d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport static android.hardware.camera2.CameraAccessException.CAMERA_DEPRECATED_HAL; 255d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 265d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.ICameraService; 275d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.CameraManager; 285d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.CameraAccessException; 295d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.CaptureRequest; 305d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.ICameraDeviceUser; 315d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.impl.CameraMetadataNative; 325d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.params.OutputConfiguration; 335d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.hardware.camera2.utils.SubmitInfo; 34ee46b5831c49e7249e53dc00a17b168a8bc46123Eino-Ville Talvalaimport android.os.IBinder; 355d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.os.RemoteException; 365d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalaimport android.view.Surface; 375d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 385d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala/** 395d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * A wrapper around ICameraDeviceUser. 405d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * 415d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * Mainly used to convert ServiceSpecificExceptions to the correct 425d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * checked / unchecked exception. 435d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * 445d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala * @hide 455d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala */ 465d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvalapublic class ICameraDeviceUserWrapper { 475d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 485d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala private final ICameraDeviceUser mRemoteDevice; 495d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 505d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public ICameraDeviceUserWrapper(ICameraDeviceUser remoteDevice) { 515d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala if (remoteDevice == null) { 525d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new NullPointerException("Remote device may not be null"); 535d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 545d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice = remoteDevice; 555d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 565d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 57ee46b5831c49e7249e53dc00a17b168a8bc46123Eino-Ville Talvala public void unlinkToDeath(IBinder.DeathRecipient recipient, int flags) { 580305624f3d992498128f230c549c2a2c479ce4bbEino-Ville Talvala if (mRemoteDevice.asBinder() != null) { 590305624f3d992498128f230c549c2a2c479ce4bbEino-Ville Talvala mRemoteDevice.asBinder().unlinkToDeath(recipient, flags); 600305624f3d992498128f230c549c2a2c479ce4bbEino-Ville Talvala } 61ee46b5831c49e7249e53dc00a17b168a8bc46123Eino-Ville Talvala } 62ee46b5831c49e7249e53dc00a17b168a8bc46123Eino-Ville Talvala 635d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void disconnect() { 645d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 655d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.disconnect(); 665d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (RemoteException t) { 675d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala // ignore binder errors for disconnect 685d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 695d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 705d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 715d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public SubmitInfo submitRequest(CaptureRequest request, boolean streaming) 725d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throws CameraAccessException { 735d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 745d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.submitRequest(request, streaming); 755d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 765d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 775d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 785d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 795d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 805d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 815d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public SubmitInfo submitRequestList(CaptureRequest[] requestList, boolean streaming) 825d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throws CameraAccessException { 835d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 845d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.submitRequestList(requestList, streaming); 855d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 865d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 875d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 885d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 895d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 905d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 915d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public long cancelRequest(int requestId) throws CameraAccessException { 925d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 935d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.cancelRequest(requestId); 945d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 955d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 965d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 975d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 985d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 995d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1005d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void beginConfigure() throws CameraAccessException { 1015d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1025d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.beginConfigure(); 1035d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1045d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1055d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1065d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1075d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1085d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1090e04e910a6b0d8a7464df9721535dfba21527c37Eino-Ville Talvala public void endConfigure(int operatingMode) throws CameraAccessException { 1105d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1110e04e910a6b0d8a7464df9721535dfba21527c37Eino-Ville Talvala mRemoteDevice.endConfigure(operatingMode); 1125d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1135d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1145d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1155d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1165d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1175d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1185d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void deleteStream(int streamId) throws CameraAccessException { 1195d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1205d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.deleteStream(streamId); 1215d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1225d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1235d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1245d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1255d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1265d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1275d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public int createStream(OutputConfiguration outputConfiguration) 1285d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throws CameraAccessException { 1295d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1305d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.createStream(outputConfiguration); 1315d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1325d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1335d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1345d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1355d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1365d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1375d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public int createInputStream(int width, int height, int format) throws CameraAccessException { 1385d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1395d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.createInputStream(width, height, format); 1405d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1415d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1425d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1435d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1445d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1455d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1465d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public Surface getInputSurface() throws CameraAccessException { 1475d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1485d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.getInputSurface(); 1495d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1505d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1515d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1525d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1535d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1545d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1555d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public CameraMetadataNative createDefaultRequest(int templateId) throws CameraAccessException { 1565d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1575d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.createDefaultRequest(templateId); 1585d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1595d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1605d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1615d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1625d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1635d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1645d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public CameraMetadataNative getCameraInfo() throws CameraAccessException { 1655d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1665d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.getCameraInfo(); 1675d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1685d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1695d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1705d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1715d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1725d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1735d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void waitUntilIdle() throws CameraAccessException { 1745d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1755d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.waitUntilIdle(); 1765d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1775d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1785d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1795d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1805d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1815d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1825d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public long flush() throws CameraAccessException { 1835d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1845d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala return mRemoteDevice.flush(); 1855d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1865d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1875d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1885d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1895d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1905d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 1915d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void prepare(int streamId) throws CameraAccessException { 1925d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 1935d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.prepare(streamId); 1945d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 1955d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 1965d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 1975d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1985d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 1995d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 2005d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void tearDown(int streamId) throws CameraAccessException { 2015d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 2025d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.tearDown(streamId); 2035d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 2045d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 2055d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 2065d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 2075d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 2085d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 2095d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala public void prepare2(int maxCount, int streamId) throws CameraAccessException { 2105d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala try { 2115d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala mRemoteDevice.prepare2(maxCount, streamId); 2125d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } catch (Throwable t) { 2135d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala CameraManager.throwAsPublicException(t); 2145d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala throw new UnsupportedOperationException("Unexpected exception", t); 2155d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 2165d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala } 2175d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 2184bd7abe72a647ceb2175a4fe66aa640815c116f8Shuzhen Wang public void finalizeOutputConfigurations(int streamId, OutputConfiguration deferredConfig) 219c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He throws CameraAccessException { 220c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He try { 2214bd7abe72a647ceb2175a4fe66aa640815c116f8Shuzhen Wang mRemoteDevice.finalizeOutputConfigurations(streamId, deferredConfig); 222c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He } catch (Throwable t) { 223c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He CameraManager.throwAsPublicException(t); 224c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He throw new UnsupportedOperationException("Unexpected exception", t); 225c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He } 226c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dcZhijun He } 2275d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala 2285d2d7788f1759b0f3d2c057af0b3ea61b0354feeEino-Ville Talvala} 229