OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / frameworks / base / core / java / android / hardware / Sensor.java
1 /*
2  * Copyright (C) 2008 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
18 package android.hardware;
19
20 /**
21  * Class representing a sensor. Use {@link SensorManager#getSensorList} to get
22  * the list of available Sensors.
23  *
24  * @see SensorManager
25  * @see SensorEventListener
26  * @see SensorEvent
27  *
28  */
29 public class Sensor {
30
31     /**
32      * A constant describing an accelerometer sensor type. See
33      * {@link android.hardware.SensorEvent#values SensorEvent.values} for more
34      * details.
35      */
36     public static final int TYPE_ACCELEROMETER = 1;
37
38     /**
39      * A constant describing a magnetic field sensor type. See
40      * {@link android.hardware.SensorEvent#values SensorEvent.values} for more
41      * details.
42      */
43     public static final int TYPE_MAGNETIC_FIELD = 2;
44
45     /**
46      * A constant describing an orientation sensor type. See
47      * {@link android.hardware.SensorEvent#values SensorEvent.values} for more
48      * details.
49      *
50      * @deprecated use {@link android.hardware.SensorManager#getOrientation
51      *             SensorManager.getOrientation()} instead.
52      */
53     @Deprecated
54     public static final int TYPE_ORIENTATION = 3;
55
56     /** A constant describing a gyroscope sensor type */
57     public static final int TYPE_GYROSCOPE = 4;
58
59     /**
60      * A constant describing an light sensor type. See
61      * {@link android.hardware.SensorEvent#values SensorEvent.values} for more
62      * details.
63      */
64     public static final int TYPE_LIGHT = 5;
65
66     /** A constant describing a pressure sensor type */
67     public static final int TYPE_PRESSURE = 6;
68
69     /** A constant describing a temperature sensor type */
70     public static final int TYPE_TEMPERATURE = 7;
71
72     /**
73      * A constant describing an proximity sensor type. See
74      * {@link android.hardware.SensorEvent#values SensorEvent.values} for more
75      * details.
76      */
77     public static final int TYPE_PROXIMITY = 8;
78
79     /**
80      * A constant describing a gravity sensor type.
81      * See {@link android.hardware.SensorEvent SensorEvent}
82      * for more details.
83      */
84     public static final int TYPE_GRAVITY = 9;
85
86     /**
87      * A constant describing a linear acceleration sensor type.
88      * See {@link android.hardware.SensorEvent SensorEvent}
89      * for more details.
90      */
91     public static final int TYPE_LINEAR_ACCELERATION = 10;
92
93     /**
94      * A constant describing a rotation vector sensor type.
95      * See {@link android.hardware.SensorEvent SensorEvent}
96      * for more details.
97      */
98     public static final int TYPE_ROTATION_VECTOR = 11;
99
100     /** 
101      * A constant describing all sensor types.
102      */
103     public static final int TYPE_ALL = -1;
104
105     /* Some of these fields are set only by the native bindings in
106      * SensorManager.
107      */
108     private String  mName;
109     private String  mVendor;
110     private int     mVersion;
111     private int     mHandle;
112     private int     mType;
113     private float   mMaxRange;
114     private float   mResolution;
115     private float   mPower;
116     private int     mMinDelay;
117     private int     mLegacyType;
118
119
120     Sensor() {
121     }
122
123     /**
124      * @return name string of the sensor.
125      */
126     public String getName() {
127         return mName;
128     }
129
130     /**
131      * @return vendor string of this sensor.
132      */
133     public String getVendor() {
134         return mVendor;
135     }
136
137     /**
138      * @return generic type of this sensor.
139      */
140     public int getType() {
141         return mType;
142     }
143
144     /**
145      * @return version of the sensor's module.
146      */
147     public int getVersion() {
148         return mVersion;
149     }
150
151     /**
152      * @return maximum range of the sensor in the sensor's unit.
153      */
154     public float getMaximumRange() {
155         return mMaxRange;
156     }
157
158     /**
159      * @return resolution of the sensor in the sensor's unit.
160      */
161     public float getResolution() {
162         return mResolution;
163     }
164
165     /**
166      * @return the power in mA used by this sensor while in use
167      */
168     public float getPower() {
169         return mPower;
170     }
171
172     /**
173      * @return the minimum delay allowed between two events in microsecond
174      * or zero if this sensor only returns a value when the data it's measuring
175      * changes.
176      */
177     public int getMinDelay() {
178         return mMinDelay;
179     }
180
181     int getHandle() {
182         return mHandle;
183     }
184
185     void setRange(float max, float res) {
186         mMaxRange = max;
187         mResolution = res;
188     }
189
190     void setLegacyType(int legacyType) {
191         mLegacyType = legacyType;
192     }
193
194     int getLegacyType() {
195         return mLegacyType;
196     }
197 }