1d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall/*
2d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * Copyright (C) 2014 The Android Open Source Project
3d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall *
4d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * Licensed under the Apache License, Version 2.0 (the "License");
5d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * you may not use this file except in compliance with the License.
6d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * You may obtain a copy of the License at
7d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall *
8d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall *      http://www.apache.org/licenses/LICENSE-2.0
9d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall *
10d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * Unless required by applicable law or agreed to in writing, software
11d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * distributed under the License is distributed on an "AS IS" BASIS,
12d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * See the License for the specific language governing permissions and
14d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall * limitations under the License.
15d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall */
16d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall
17d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallpackage com.android.camera.one.v2;
18d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall
1966b942a3d20aac65454961ef2bc219ca560b9fbaPuneet Lallimport com.android.camera.FatalErrorHandler;
20386c5b885b99f67f9c0a7380f4be153f28333089Puneet Lallimport com.android.camera.async.MainThread;
21d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallimport com.android.camera.async.Observable;
22b4b27f2c7738cd5e3f31a281d66a33f4698810b3Shashi Shekharimport com.android.camera.burst.BurstFacade;
23d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallimport com.android.camera.one.OneCamera;
24d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallimport com.android.camera.one.OneCameraCharacteristics;
258f51086c8177056345de996963515c4bd3415254Sascha Haeberlingimport com.android.camera.one.config.OneCameraFeatureConfig.CaptureSupportLevel;
26d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallimport com.android.camera.one.v2.camera2proxy.CameraDeviceProxy;
278a09cc29b273e35128a03794e82dd4f329d35cc9Puneet Lallimport com.android.camera.one.v2.imagesaver.ImageSaver;
28d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallimport com.android.camera.util.Size;
29d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall
30d8463954727c9f8b688e69476439830cadb7b45aPuneet Lallpublic interface OneCameraFactory {
31d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall    OneCamera createOneCamera(CameraDeviceProxy cameraDevice,
32d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall            OneCameraCharacteristics characteristics,
338f51086c8177056345de996963515c4bd3415254Sascha Haeberling            CaptureSupportLevel supportLevel,
34386c5b885b99f67f9c0a7380f4be153f28333089Puneet Lall            MainThread mainThread,
35d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall            Size pictureSize,
365aa7eb2930b813c97f3754d93fe7fa978651887bSenpo Hu            ImageSaver.Builder imageSaverBuilder,
37b4b27f2c7738cd5e3f31a281d66a33f4698810b3Shashi Shekhar            Observable<OneCamera.PhotoCaptureParameters.Flash> flashSetting,
38b6c4a314d0a0a185e6d987298ef9b7f4db8a6a2fSenpo Hu            Observable<Integer> exposureSetting,
390db8a2fd5cc02753d42f34a1c858b980c6c277bbPaul Rohde            Observable<Boolean> hdrSceneSetting,
403ad9c9035f8be50f6b2ef8cac9943045f7cf8a74Sascha Haeberling            BurstFacade burstController,
413ad9c9035f8be50f6b2ef8cac9943045f7cf8a74Sascha Haeberling            FatalErrorHandler fatalErrorHandler);
42d8463954727c9f8b688e69476439830cadb7b45aPuneet Lall}
43