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.one;
18 
19 import android.os.Handler;
20 
21 import com.android.camera.FatalErrorHandler;
22 import com.android.camera.SoundPlayer;
23 import com.android.camera.async.MainThread;
24 import com.android.camera.burst.BurstFacade;
25 import com.android.camera.device.CameraId;
26 import com.android.camera.one.OneCamera.OpenCallback;
27 import com.android.camera.one.v2.photo.ImageRotationCalculator;
28 
29 /**
30  * The camera manager is responsible for instantiating {@link OneCamera}
31  * instances.
32  */
33 public interface OneCameraOpener {
34     /**
35      * Attempts to open the given camera with the provided parameters and
36      * settings.
37      * <p>
38      * Exactly one call will always be made to a single method in the provided
39      * {@link OpenCallback}.
40      *
41      * @param cameraId the specific camera to open.
42      * @param captureSetting the related settings to configure the camera for
43      *            capture.
44      * @param handler the handler on which callback methods are invoked.
45      * @param mainThread Main thread executor
46      * @param imageRotationCalculator Image rotation calculator required for
47      *            Camera Factory initialization
48      * @param burstController the burst facade to configure
49      * @param soundPlayer the sound player.
50      * @param openCallback this listener is called when the camera was opened or
51      *            when it failed to open.
52      * @param fatalErrorHandler the fatal error handler to use for indicating
53      *            fatal errors
54      */
open( CameraId cameraId, OneCameraCaptureSetting captureSetting, Handler handler, MainThread mainThread, ImageRotationCalculator imageRotationCalculator, BurstFacade burstController, SoundPlayer soundPlayer, OpenCallback openCallback, FatalErrorHandler fatalErrorHandler)55     public abstract void open(
56             CameraId cameraId,
57             OneCameraCaptureSetting captureSetting,
58             Handler handler,
59             MainThread mainThread,
60             ImageRotationCalculator imageRotationCalculator,
61             BurstFacade burstController,
62             SoundPlayer soundPlayer,
63             OpenCallback openCallback,
64             FatalErrorHandler fatalErrorHandler);
65 
66 }
67