1# Copyright 2013 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import its.caps
16import its.device
17import its.objects
18import pprint
19
20def main():
21    """Basic test to query and print out camera properties.
22    """
23
24    with its.device.ItsSession() as cam:
25        props = cam.get_camera_properties()
26
27        pprint.pprint(props)
28
29        its.caps.skip_unless(its.caps.manual_sensor(props))
30
31        # Test that a handful of required keys are present.
32        assert(props.has_key('android.sensor.info.sensitivityRange'))
33        assert(props.has_key('android.sensor.orientation'))
34        assert(props.has_key('android.scaler.streamConfigurationMap'))
35        assert(props.has_key('android.lens.facing'))
36
37        print "JPG sizes:", its.objects.get_available_output_sizes("jpg", props)
38        print "RAW sizes:", its.objects.get_available_output_sizes("raw", props)
39        print "YUV sizes:", its.objects.get_available_output_sizes("yuv", props)
40
41if __name__ == '__main__':
42    main()
43
44