1cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher/* 2cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * Copyright (C) 2014 The Android Open Source Project 3cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * 4cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * Licensed under the Apache License, Version 2.0 (the "License"), 5cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * you may not use this file except in compliance with the License. 6cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * You may obtain a copy of the License at 7cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * 8cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * http://www.apache.org/licenses/LICENSE-2.0 9cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * 10cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * Unless required by applicable law or agreed to in writing, software 11cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * distributed under the License is distributed on an "AS IS" BASIS, 12cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * See the License for the specific language governing permissions and 14cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher * limitations under the License. 15cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher */ 16cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher 17cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucherpackage com.android.ex.camera2.portability; 18cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher 19cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucherclass CameraActions { 20cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Camera initialization/finalization 21cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int OPEN_CAMERA = 1; 22cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int RELEASE = 2; 23cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int RECONNECT = 3; 24cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int UNLOCK = 4; 25cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int LOCK = 5; 26cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Preview 27cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_PREVIEW_TEXTURE_ASYNC = 101; 28cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int START_PREVIEW_ASYNC = 102; 29cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int STOP_PREVIEW = 103; 30cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_PREVIEW_CALLBACK_WITH_BUFFER = 104; 31cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int ADD_CALLBACK_BUFFER = 105; 32cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_PREVIEW_DISPLAY_ASYNC = 106; 33cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_PREVIEW_CALLBACK = 107; 34cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_ONE_SHOT_PREVIEW_CALLBACK = 108; 35cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Parameters 36cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_PARAMETERS = 201; 37cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int GET_PARAMETERS = 202; 38cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int REFRESH_PARAMETERS = 203; 398097973089420749dcd1ab4974a629c2466b31ccAngus Kong public static final int APPLY_SETTINGS = 204; 40cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Focus, Zoom 41cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int AUTO_FOCUS = 301; 42cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int CANCEL_AUTO_FOCUS = 302; 43cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_AUTO_FOCUS_MOVE_CALLBACK = 303; 44cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_ZOOM_CHANGE_LISTENER = 304; 456a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin public static final int CANCEL_AUTO_FOCUS_FINISH = 305; 46cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Face detection 47cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_FACE_DETECTION_LISTENER = 461; 48cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int START_FACE_DETECTION = 462; 49cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int STOP_FACE_DETECTION = 463; 50cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Presentation 51cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int ENABLE_SHUTTER_SOUND = 501; 52cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int SET_DISPLAY_ORIENTATION = 502; 5325ee73acd2dbd6f60deef5306994fbf3a7997936Senpo Hu public static final int SET_JPEG_ORIENTATION = 503; 54cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher // Capture 55cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher public static final int CAPTURE_PHOTO = 601; 566a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin 576a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin public static String stringify(int action) { 586a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin switch (action) { 596a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case OPEN_CAMERA: 606a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "OPEN_CAMERA"; 616a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case RELEASE: 626a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "RELEASE"; 636a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case RECONNECT: 646a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "RECONNECT"; 656a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case UNLOCK: 666a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "UNLOCK"; 676a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case LOCK: 686a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "LOCK"; 696a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_PREVIEW_TEXTURE_ASYNC: 706a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_PREVIEW_TEXTURE_ASYNC"; 716a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case START_PREVIEW_ASYNC: 726a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "START_PREVIEW_ASYNC"; 736a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case STOP_PREVIEW: 746a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "STOP_PREVIEW"; 756a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_PREVIEW_CALLBACK_WITH_BUFFER: 766a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_PREVIEW_CALLBACK_WITH_BUFFER"; 776a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case ADD_CALLBACK_BUFFER: 786a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "ADD_CALLBACK_BUFFER"; 796a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_PREVIEW_DISPLAY_ASYNC: 806a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_PREVIEW_DISPLAY_ASYNC"; 816a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_PREVIEW_CALLBACK: 826a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_PREVIEW_CALLBACK"; 836a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_ONE_SHOT_PREVIEW_CALLBACK: 846a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_ONE_SHOT_PREVIEW_CALLBACK"; 856a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_PARAMETERS: 866a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_PARAMETERS"; 876a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case GET_PARAMETERS: 886a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "GET_PARAMETERS"; 896a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case REFRESH_PARAMETERS: 906a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "REFRESH_PARAMETERS"; 916a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case APPLY_SETTINGS: 926a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "APPLY_SETTINGS"; 936a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case AUTO_FOCUS: 946a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "AUTO_FOCUS"; 956a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case CANCEL_AUTO_FOCUS: 966a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "CANCEL_AUTO_FOCUS"; 976a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_AUTO_FOCUS_MOVE_CALLBACK: 986a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_AUTO_FOCUS_MOVE_CALLBACK"; 996a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_ZOOM_CHANGE_LISTENER: 1006a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_ZOOM_CHANGE_LISTENER"; 1016a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case CANCEL_AUTO_FOCUS_FINISH: 1026a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "CANCEL_AUTO_FOCUS_FINISH"; 1036a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_FACE_DETECTION_LISTENER: 1046a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_FACE_DETECTION_LISTENER"; 1056a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case START_FACE_DETECTION: 1066a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "START_FACE_DETECTION"; 1076a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case STOP_FACE_DETECTION: 1086a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "STOP_FACE_DETECTION"; 1096a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case ENABLE_SHUTTER_SOUND: 1106a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "ENABLE_SHUTTER_SOUND"; 1116a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case SET_DISPLAY_ORIENTATION: 1126a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "SET_DISPLAY_ORIENTATION"; 1136a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin case CAPTURE_PHOTO: 1146a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "CAPTURE_PHOTO"; 1156a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin default: 1166a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin return "UNKNOWN(" + action + ")"; 1176a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin } 1186a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin } 1196a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin 1206a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin private CameraActions() { 1216a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin throw new AssertionError(); 1226a9babad6eb8ac3e79a5e036d878ed7408e79f26Igor Murashkin } 123cef46862d6937bc98bf1a6b087c5daa22b5239f3Sol Boucher} 124