1d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala/*
2d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * Copyright (C) 2013 The Android Open Source Project
3d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala *
4d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License");
5d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * you may not use this file except in compliance with the License.
6d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * You may obtain a copy of the License at
7d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala *
8d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala *      http://www.apache.org/licenses/LICENSE-2.0
9d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala *
10d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * Unless required by applicable law or agreed to in writing, software
11d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS,
12d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * See the License for the specific language governing permissions and
14d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala * limitations under the License.
15d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala */
16d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
17d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvalapackage android.hardware;
18d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
19d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala/** @hide */
20d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvalainterface ICameraServiceListener
21d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala{
22d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
23d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    /**
24d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * Initial status will be transmitted with onStatusChange immediately
25d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * after this listener is added to the service listener list.
26d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
27d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * Allowed transitions:
28d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
29d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     (Any)               -> NOT_PRESENT
30d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     NOT_PRESENT         -> PRESENT
31d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     NOT_PRESENT         -> ENUMERATING
32d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     ENUMERATING         -> PRESENT
33d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     PRESENT             -> NOT_AVAILABLE
34d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *     NOT_AVAILABLE       -> PRESENT
35d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
36d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * A state will never immediately transition back to itself.
37d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
38d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * The enums must match the values in
39d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * include/hardware/camera_common.h when applicable
40d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     */
41d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // Device physically unplugged
42d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int STATUS_NOT_PRESENT      = 0;
43f51fca277eb5b86bd0b2e3fc90ecb2b63089de29Eino-Ville Talvala    // Device physically has been plugged in and the camera can be used exclusively
44d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int STATUS_PRESENT          = 1;
45d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // Device physically has been plugged in but it will not be connect-able until enumeration is
46d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // complete
47d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int STATUS_ENUMERATING      = 2;
48d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // Camera is in use by another app and cannot be used exclusively
49d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int STATUS_NOT_AVAILABLE    = -2;
50d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
51d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // Use to initialize variables only
52d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int STATUS_UNKNOWN          = -1;
53d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
54f51fca277eb5b86bd0b2e3fc90ecb2b63089de29Eino-Ville Talvala    oneway void onStatusChanged(int status, String cameraId);
55d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
56d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    /**
57d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * The torch mode status of a camera.
58d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
59d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * Initial status will be transmitted with onTorchStatusChanged immediately
60d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * after this listener is added to the service listener list.
61d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     *
62d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * The enums must match the values in
63d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     * include/hardware/camera_common.h
64d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala     */
65d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // The camera's torch mode has become not available to use via
66d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // setTorchMode().
67d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int TORCH_STATUS_NOT_AVAILABLE = 0;
68d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // The camera's torch mode is off and available to be turned on via
69d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // setTorchMode().
70d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int TORCH_STATUS_AVAILABLE_OFF = 1;
71d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // The camera's torch mode is on and available to be turned off via
72d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // setTorchMode().
73d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int TORCH_STATUS_AVAILABLE_ON  = 2;
74d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
75d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    // Use to initialize variables only
76d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    const int TORCH_STATUS_UNKNOWN = -1;
77d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala
78d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala    oneway void onTorchStatusChanged(int status, String cameraId);
79d56db1d2bee182d1851097a9c712712fc094d117Eino-Ville Talvala}
80