1b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren/*
2b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * Copyright (C) 2014 The Android Open Source Project
3b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren *
4b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * Licensed under the Apache License, Version 2.0 (the "License");
5b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * you may not use this file except in compliance with the License.
6b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * You may obtain a copy of the License at
7b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren *
8b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren *      http://www.apache.org/licenses/LICENSE-2.0
9b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren *
10b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * Unless required by applicable law or agreed to in writing, software
11b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * distributed under the License is distributed on an "AS IS" BASIS,
12b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * See the License for the specific language governing permissions and
14b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * limitations under the License.
15b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren */
16b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
17b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgrenpackage com.android.camera.hardware;
18b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
19b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren/**
20b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * HardwareSpec is a interface for specifying whether
21b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * high-level features are supported by the camera device
22b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren * hardware limitations.
23b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren */
24b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgrenpublic interface HardwareSpec {
25b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
26b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    /**
27b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * Returns whether a front facing camera is available
28b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * on the current hardware.
29b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     */
30b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    public boolean isFrontCameraSupported();
31b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
32b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    /**
33b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * Returns whether hdr scene mode is supported on the
34b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * current hardware.
35b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     */
36b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    public boolean isHdrSupported();
37b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
38b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    /**
39b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * Returns whether hdr plus is supported on the current
40b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * hardware.
41b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     */
42b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    public boolean isHdrPlusSupported();
43b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren
44b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    /**
45b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * Returns whether flash is supported and has more than
46b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * one supported setting.  If flash is supported but is
47b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     * always off, this method should return false.
48b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren     */
49b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren    public boolean isFlashSupported();
50b1641f5df0cf839b54385ea4d2e43521620fc237Erin Dahlgren}