1 /*
2  * Copyright (C) 2016 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 package android.location;
18 
19 import java.util.concurrent.Executor;
20 
21 /**
22  * Used for receiving NMEA sentences from the GNSS.
23  * NMEA 0183 is a standard for communicating with marine electronic devices
24  * and is a common method for receiving data from a GNSS, typically over a serial port.
25  * See <a href="http://en.wikipedia.org/wiki/NMEA_0183">NMEA 0183</a> for more details.
26  * You can implement this interface and call
27  * {@link LocationManager#addNmeaListener(Executor, OnNmeaMessageListener)} to receive NMEA data
28  * from the GNSS engine.
29  */
30 public interface OnNmeaMessageListener {
31     /**
32      * Called when an NMEA message is received.
33      * @param message NMEA message
34      * @param timestamp Timestamp of the location fix, as reported by the GNSS chipset. The value
35      *                  is specified in Unix time milliseconds since 1st January 1970, 00:00:00 UTC
36      */
onNmeaMessage(String message, long timestamp)37     void onNmeaMessage(String message, long timestamp);
38 }
39