13651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala/* 23651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * Copyright (C) 2016 The Android Open Source Project 33651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * 43651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License"); 53651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * you may not use this file except in compliance with the License. 63651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * You may obtain a copy of the License at 73651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * 83651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * http://www.apache.org/licenses/LICENSE-2.0 93651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * 103651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * Unless required by applicable law or agreed to in writing, software 113651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS, 123651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * See the License for the specific language governing permissions and 143651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * limitations under the License. 153651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala */ 163651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvalapackage com.android.devcamera; 17a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 18a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.CameraCaptureSession; 19a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.CameraDevice; 20a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.CaptureFailure; 21a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.CaptureRequest; 22a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.CaptureResult; 23a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.hardware.camera2.TotalCaptureResult; 24a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvalaimport android.util.Log; 25a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 26a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala/** 27a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala * Static utility class that logs various camera2 callbacks. 28a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala * 293651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala * The only reason this exists as a separate class is void cluttering up Api2Camera. 30a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala */ 31a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 323651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvalapublic class LoggingCallbacks { 333651aa3f8296eae150590b765fda1d87f49fb5b6Eino-Ville Talvala private static final String TAG = "DevCamera_LOG2"; 34a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala private static final Boolean LOG_EVERY_FRAME = false; 35a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala private static final Boolean LOG_NON_ERRORS = false; 36a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 37a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public static class DeviceStateCallback extends CameraDevice.StateCallback { 38a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 39a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onOpened(CameraDevice camera) { 40a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 41a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Camera opened."); 42a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 43a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 44a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 45a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 46a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onClosed(CameraDevice camera) { 47a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 48a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Camera closed."); 49a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 50a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 51a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 52a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 53a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onDisconnected(CameraDevice camera) { 54a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Camera disconnected."); 55a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 56a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 57a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 58a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onError(CameraDevice camera, int error) { 59a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Camera error: " + error); 60a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 61a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 62a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 63a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public static class SessionStateCallback extends CameraCaptureSession.StateCallback { 64a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 65a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onConfigured(CameraCaptureSession session) { 66a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 67a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture session callback onConfigured("+session+")"); 68a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 69a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 70a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 71a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 72a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onConfigureFailed(CameraCaptureSession session) { 73a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture session callback onConfigureFailed("+session+")"); 74a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onReady(session); 75a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 76a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 77a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 78a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onReady(CameraCaptureSession session) { 79a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 80a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture session callback onReady("+session+")"); 81a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 82a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onReady(session); 83a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 84a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 85a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 86a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onActive(CameraCaptureSession session) { 87a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 88a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture session callback onActive("+session+")"); 89a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 90a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onActive(session); 91a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 92a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 93a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 94a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onClosed(CameraCaptureSession session) { 95a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_NON_ERRORS) { 96a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture session callback onClosed("+session+")"); 97a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 98a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onClosed(session); 99a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 100a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 101a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 102a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public static class SessionCaptureCallback extends CameraCaptureSession.CaptureCallback { 103a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 104a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onCaptureStarted(CameraCaptureSession session, CaptureRequest request, long timestamp, long frameNumber) { 105a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_EVERY_FRAME) { 106a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture started."); 107a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 108a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onCaptureStarted(session, request, timestamp, frameNumber); 109a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 110a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 111a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 112a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onCaptureProgressed(CameraCaptureSession session, CaptureRequest request, CaptureResult partialResult) { 113a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_EVERY_FRAME) { 114a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture progressed."); 115a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 116a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onCaptureProgressed(session, request, partialResult); 117a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 118a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 119a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 120a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) { 121a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala if (LOG_EVERY_FRAME) { 122a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala Log.v(TAG, "Capture completed."); 123a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 124a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onCaptureCompleted(session, request, result); 125a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 126a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 127a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 128a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onCaptureFailed(CameraCaptureSession session, CaptureRequest request, CaptureFailure failure) { 129a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onCaptureFailed(session, request, failure); 130a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 131a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 132a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala @Override 133a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala public void onCaptureSequenceCompleted(CameraCaptureSession session, int sequenceId, long frameNumber) { 134a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala super.onCaptureSequenceCompleted(session, sequenceId, frameNumber); 135a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 136a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala 137a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala } 138a8a96dfce795a6621cdf7b890442fa5ed1252a55Eino-Ville Talvala} 139