1b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella/*
2b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * Copyright (C) 2008 The Android Open Source Project
3b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella *
4b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * Licensed under the Apache License, Version 2.0 (the "License");
5b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * you may not use this file except in compliance with the License.
6b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * You may obtain a copy of the License at
7b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella *
8b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella *      http://www.apache.org/licenses/LICENSE-2.0
9b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella *
10b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * Unless required by applicable law or agreed to in writing, software
11b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * distributed under the License is distributed on an "AS IS" BASIS,
12b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * See the License for the specific language governing permissions and
14b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * limitations under the License.
15b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella */
16b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella
17b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akellapackage android.hardware;
18b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella
19b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella/**
20b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella * Used for receiving a notification when a flush() has been successfully completed.
21b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella */
224bdc37d315a6dbdcf2425e70423ec43d7b74e102Aravind Akellapublic interface SensorEventListener2 extends SensorEventListener {
23b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella    /**
241f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * Called after flush() is completed. All the events in the batch at the point when the flush
251f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * was called have been delivered to the applications registered for those sensor events. In
261f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * {@link android.os.Build.VERSION_CODES#KITKAT}, applications may receive flush complete events
271f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * even if some other application has called flush() on the same sensor. Starting with
281f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * {@link android.os.Build.VERSION_CODES#LOLLIPOP}, flush Complete events are sent ONLY to the
291f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * application that has explicitly called flush(). If the hardware FIFO is flushed due to some
301f9b32f006f7c506d9df5bf73294710665746397Aravind Akella     * other application calling flush(), flush complete event is not delivered to this application.
31b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella     * <p>
32b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella     *
33b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella     * @param sensor The {@link android.hardware.Sensor Sensor} on which flush was called.
344bdc37d315a6dbdcf2425e70423ec43d7b74e102Aravind Akella     * @see android.hardware.SensorManager#flush(SensorEventListener)
35b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella     */
36b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella    public void onFlushCompleted(Sensor sensor);
37b4c76b18a369d940f448bcc55d7245b6b30084ddAravind Akella}
38