blob: 8fa970276c858c5d09340b07dd6e3f6b38df63f7 [file] [log] [blame]
Jaikumar Ganesh9a8df4d2013-02-12 16:31:32 -08001/*
2 * Copyright (C) 2013 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
17package android.hardware;
18
19/**
20 * This class is the listener used to handle Trigger Sensors.
21 * Trigger Sensors are sensors that trigger an event and are automatically
22 * disabled. {@link Sensor#TYPE_SIGNIFICANT_MOTION} is one such example.
23 * <p>
Scott Main06543a42013-06-05 14:29:50 -070024 * {@link SensorManager} lets you access the device's {@link android.hardware.Sensor
25 * sensors}. Get an instance of {@link SensorManager} by calling
Jaikumar Ganesh9a8df4d2013-02-12 16:31:32 -080026 * {@link android.content.Context#getSystemService(java.lang.String)
27 * Context.getSystemService()} with the argument
28 * {@link android.content.Context#SENSOR_SERVICE}.
Scott Main06543a42013-06-05 14:29:50 -070029 * <p>Here's an example setup for a TriggerEventListener:
Jaikumar Ganesh9a8df4d2013-02-12 16:31:32 -080030 *
Scott Main06543a42013-06-05 14:29:50 -070031 * <pre>
Jaikumar Ganesh9a8df4d2013-02-12 16:31:32 -080032 * class TriggerListener extends TriggerEventListener {
33 * public void onTrigger(TriggerEvent event) {
34 * // Do Work.
35 *
36 * // As it is a one shot sensor, it will be canceled automatically.
37 * // SensorManager.requestTriggerSensor(this, mSigMotion); needs to
38 * // be called again, if needed.
39 * }
40 * }
41 * public class SensorActivity extends Activity {
42 * private final SensorManager mSensorManager;
43 * private final Sensor mSigMotion;
44 * private final TriggerEventListener mListener = new TriggerEventListener();
45 *
46 * public SensorActivity() {
47 * mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
48 * mSigMotion = mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION);
49 * }
50 *
51 * protected void onResume() {
52 * super.onResume();
53 * mSensorManager.requestTriggerSensor(mListener, mSigMotion);
54 * }
55 *
56 * protected void onPause() {
57 * super.onPause();
58 * // Call disable to ensure that the trigger request has been canceled.
59 * mSensorManager.cancelTriggerSensor(mListener, mSigMotion);
60 * }
61 *
62 * }
63 * </pre>
64 *
65 * @see TriggerEvent
66 * @see Sensor
67 */
68public abstract class TriggerEventListener {
69 /**
70 * The method that will be called when the sensor
71 * is triggered. Override this method in your implementation
72 * of this class.
73 *
74 * @param event The details of the event.
75 */
76 public abstract void onTrigger(TriggerEvent event);
77}