OSDN Git Service

Merge "Delete obsolete/unused interface" into ub-camera-haleakala
[android-x86/packages-apps-Camera2.git] / src / com / android / camera / debug / DebugCameraProxy.java
1 /*
2  * Copyright (C) 2014 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 com.android.camera.debug;
18
19 import android.graphics.SurfaceTexture;
20 import android.hardware.Camera;
21 import android.os.Handler;
22 import android.view.SurfaceHolder;
23
24 import com.android.ex.camera2.portability.CameraAgent;
25 import com.android.ex.camera2.portability.CameraCapabilities;
26 import com.android.ex.camera2.portability.CameraDeviceInfo;
27 import com.android.ex.camera2.portability.CameraSettings;
28 import com.android.ex.camera2.portability.CameraStateHolder;
29 import com.android.ex.camera2.portability.DispatchThread;
30
31 /**
32  * A {@link com.android.ex.camera2.portability.CameraAgent.CameraProxy} which wraps the
33  * other and adds logs for all operations.
34  */
35 public class DebugCameraProxy extends CameraAgent.CameraProxy {
36     private final Log.Tag mTag;
37     private final CameraAgent.CameraProxy mProxy;
38
39     /**
40      * Constructor.
41      *
42      * @param tag The tag to be used for logs.
43      * @param proxy The camera proxy to be wrapped.
44      */
45     public DebugCameraProxy(Log.Tag tag, CameraAgent.CameraProxy proxy) {
46         mTag = tag;
47         mProxy = proxy;
48     }
49
50     @Override
51     public Camera getCamera() {
52         log("getCamera");
53         return mProxy.getCamera();
54     }
55
56     @Override
57     public int getCameraId() {
58         log("getCameraId: " + mProxy.getCameraId());
59         return mProxy.getCameraId();
60     }
61
62     @Override
63     public CameraDeviceInfo.Characteristics getCharacteristics() {
64         log("getCharacteristics");
65         return mProxy.getCharacteristics();
66     }
67
68     @Override
69     public CameraAgent getAgent() {
70         log("getAgent");
71         return mProxy.getAgent();
72     }
73
74     @Override
75     public CameraCapabilities getCapabilities() {
76         log("getCapabilities");
77         return mProxy.getCapabilities();
78     }
79
80     @Override
81     public void reconnect(Handler handler, CameraAgent.CameraOpenCallback cb) {
82         log("reconnect");
83         mProxy.reconnect(handler, cb);
84     }
85
86     @Override
87     public void unlock() {
88         log("unlock");
89         mProxy.unlock();
90     }
91
92     @Override
93     public void lock() {
94         log("lock");
95         mProxy.lock();
96     }
97
98     @Override
99     public void setPreviewTexture(SurfaceTexture surfaceTexture) {
100         log("setPreviewTexture");
101         mProxy.setPreviewTexture(surfaceTexture);
102     }
103
104     @Override
105     public void setPreviewTextureSync(SurfaceTexture surfaceTexture) {
106         log("setPreviewTextureSync");
107         mProxy.setPreviewTextureSync(surfaceTexture);
108     }
109
110     @Override
111     public void setPreviewDisplay(SurfaceHolder surfaceHolder) {
112         log("setPreviewDisplay");
113         mProxy.setPreviewDisplay(surfaceHolder);
114     }
115
116     @Override
117     public void startPreview() {
118         log("startPreview");
119         mProxy.startPreview();
120     }
121
122     @Override
123     public void startPreviewWithCallback(Handler h, CameraAgent.CameraStartPreviewCallback cb) {
124         log("startPreviewWithCallback");
125         mProxy.startPreviewWithCallback(h, cb);
126     }
127
128     @Override
129     public void stopPreview() {
130         log("stopPreview");
131         mProxy.stopPreview();
132     }
133
134     @Override
135     public void setPreviewDataCallback(Handler handler,
136             CameraAgent.CameraPreviewDataCallback cb) {
137         log("setPreviewDataCallback");
138         mProxy.setPreviewDataCallback(handler, cb);
139     }
140
141     @Override
142     public void setOneShotPreviewCallback(Handler handler,
143             CameraAgent.CameraPreviewDataCallback cb) {
144         log("setOneShotPreviewCallback");
145         mProxy.setOneShotPreviewCallback(handler, cb);
146     }
147
148     @Override
149     public void setPreviewDataCallbackWithBuffer(Handler handler,
150             CameraAgent.CameraPreviewDataCallback cb) {
151         log("setPreviewDataCallbackWithBuffer");
152         mProxy.setPreviewDataCallbackWithBuffer(handler, cb);
153     }
154
155     @Override
156     public void addCallbackBuffer(byte[] callbackBuffer) {
157         log("addCallbackBuffer");
158         mProxy.addCallbackBuffer(callbackBuffer);
159     }
160
161     @Override
162     public void autoFocus(Handler handler, CameraAgent.CameraAFCallback cb) {
163         log("autoFocus");
164         mProxy.autoFocus(handler, cb);
165     }
166
167     @Override
168     public void cancelAutoFocus() {
169         log("cancelAutoFocus");
170         mProxy.cancelAutoFocus();
171     }
172
173     @Override
174     public void setAutoFocusMoveCallback(Handler handler, CameraAgent.CameraAFMoveCallback cb) {
175         log("setAutoFocusMoveCallback");
176         mProxy.setAutoFocusMoveCallback(handler, cb);
177     }
178
179     @Override
180     public void takePicture(Handler handler, CameraAgent.CameraShutterCallback shutter,
181             CameraAgent.CameraPictureCallback raw, CameraAgent.CameraPictureCallback postview,
182             CameraAgent.CameraPictureCallback jpeg) {
183         log("takePicture");
184         mProxy.takePicture(handler, shutter, raw, postview, jpeg);
185     }
186
187     @Override
188     public void setDisplayOrientation(int degrees) {
189         log("setDisplayOrientation:" + degrees);
190         mProxy.setDisplayOrientation(degrees);
191     }
192
193     @Override
194     public void setZoomChangeListener(Camera.OnZoomChangeListener listener) {
195         log("setZoomChangeListener");
196         mProxy.setZoomChangeListener(listener);
197     }
198
199     @Override
200     public void setFaceDetectionCallback(Handler handler,
201             CameraAgent.CameraFaceDetectionCallback callback) {
202         log("setFaceDetectionCallback");
203         mProxy.setFaceDetectionCallback(handler, callback);
204     }
205
206     @Override
207     public void startFaceDetection() {
208         log("startFaceDetection");
209         mProxy.startFaceDetection();
210     }
211
212     @Override
213     public void stopFaceDetection() {
214         log("stopFaceDetection");
215         mProxy.stopFaceDetection();
216     }
217
218     @Override
219     public void setParameters(Camera.Parameters params) {
220         log("setParameters");
221         mProxy.setParameters(params);
222     }
223
224     @Override
225     public Camera.Parameters getParameters() {
226         log("getParameters");
227         return mProxy.getParameters();
228     }
229
230     @Override
231     public CameraSettings getSettings() {
232         log("getSettings");
233         return mProxy.getSettings();
234     }
235
236     @Override
237     public boolean applySettings(final CameraSettings settings) {
238         log("applySettings");
239         return mProxy.applySettings(settings);
240     }
241
242     @Override
243     public void refreshSettings() {
244         log("refreshParameters");
245         mProxy.refreshSettings();
246     }
247
248     @Override
249     public void enableShutterSound(boolean enable) {
250         log("enableShutterSound:" + enable);
251         mProxy.enableShutterSound(enable);
252     }
253
254     @Override
255     public String dumpDeviceSettings() {
256         log("dumpDeviceSettings");
257         return mProxy.dumpDeviceSettings();
258     }
259
260     @Override
261     public Handler getCameraHandler() {
262         return mProxy.getCameraHandler();
263     }
264
265     @Override
266     public DispatchThread getDispatchThread() {
267         return mProxy.getDispatchThread();
268     }
269
270     @Override
271     public CameraStateHolder getCameraState() {
272         return mProxy.getCameraState();
273     }
274
275     private void log(String msg) {
276         Log.v(mTag, msg);
277     }
278 }