FLAMINGO Android

A library designed to support FLAMINGO interaction with Android.

Flamingo Manager

public class FlamingoManager

This class handles the authentication procedure to run the Flamingo location service. After successful registration, it allows the user to obtain updates of the precise location (FlamingoLocation) of the device.

Flamingo service requires permission to ACCESS_FINE_LOCATION.

Summary

Public Constructors
FlamingoManager(Context context, ArrayList mFlamingoLocationListenerList)

Constructs a flamingo manager with an initial list of callbacks.

Public Methods
void
addFlamingoListener(
FlamingoLocationListener flamingoLocationListener)
ApplicationType
getApplicationType()
PositioningSession
getPositioningSession()
RegistrationStatus
getRegistrationStatus()
void
registerFlamingoService(
String applicationId, 
String password, 
String companyId, 
FlamingoLocationListener... flamingoLocationListener)
void
registerFlamingoService(
String applicationId, 
String password,
String companyId, 
ApplicationType applicationType, 
FlamingoLocationListener... flamingoLocationListener)
void
stopFlamingoService()
void
unregisterFlamingoListener(
FlamingoLocationListener flamingoLocationListener)

Public Constructor

FlamingoManager

FlamingoManager (Context context, ArrayList <FlamingoLocationListener> mFlamingoLocationListenerList)

Flamingo Manager with an initial list of callbacks.

Public Methods

getApplicationType

public ApplicationType getApplicationType()

Returns ApplicationType used by positioning engine. If FlamingoManager is registered with registerFlamingoService. ApplicationType.TRACKING is set as default.

getPositioningSession

public PositioningSession getPositioningSession()

Returns side of data processing used by positioning engine (SERVER or CLIENT).

getRegistrationStatus

public RegistrationStatus getRegistrationStatus()

Returns information about access to the Flamingo service.

registerFlamingoService

public register FlamingoService (

String applicationId,

String password,

String companyId,

Context context,

FlamingoLocationListener… flamingoLocationListener

)

Initialization of Flamingo services. After successful authentication procedures (based on applicationId, password and companyId), Flamingo positioning engine starts processing and sending  location information to registered FlamingoLocationListener.

registerFlamingoService

public register FlamingoService (

String applicationId,

String password,

String companyId,

ApplicationType applicationType,

Context context,

FlamingoLocationListener… flamingoLocationListener

)

Initialization of Flamingo services. After successful authentication procedures (based on applicationId, password and companyId), Flamingo positioning engine starts processing and sending location information to registered FlamingoLocationListeners. Precision of returned data is based on ApplicationType parameter, which defines the default environment for the application.

stopFlamingoService

stopFlamingoService()

Stops running all Flamingo processes.

unregisterFlamingoListener

unregisterFlamingoListener(FlamingoLocationListener flamingoLocationListener)

Stops updating location for given FlamingoLocationListener.

Flamingo Location

public class FlamingoLocation

The class contains information about the last location of the device retrieved by Flamingo service. Data provided by FlamingoLocation is equivalent to information included in three types of NMEA messages: GNS, GST and VTG.

Summary

Fields
enum
MODE INDICATOR,
NO_FIX,
AUTONOMOUS,
DIFFERENTIAL,
PRECISE,
RTK,
PPP,
FLOAT_RTK,
ESTIMATED,
MANUAL,
SINGLE
Public Methods
boolean
hasAgeOfDifferencialData()

returns true if age of differential data is available, false otherwise

boolean
hasDirectionOfLatitude()

returns true if direction of latitude is available, false otherwise

boolean
hasDirectionOfLongitude()

returns true if direction of longitude is available, false otherwise

boolean
hasErrorEllipseOrientation()

returns true if  ellipse orientation error is available, false otherwise

boolean
hasErrorHeight()

returns true if height error is available, false otherwise

boolean
hasErrorLatitude()

returns true if latitude error is available, false otherwise

boolean
hasErrorLongitude()

returns true if longitude error is available, false otherwise

boolean
hasErrorSemiMajorAxis()

returns true if  ellipse semi-major axis error is available, false otherwise

boolean
hasErrorSemiMinorAxis()

returns true if  ellipse semi-minor axis error is available, false otherwise

boolean
hasGeoidalSeparation()

returns true if geoidal separation is available, false otherwise

boolean
hasHDOP()

returns true if HDOP is available, false otherwise

boolean
hasLatitude()

returns true if latitude is available, false otherwise

boolean
hasLongitude()

returns true if longitude is available, false otherwise

boolean
hasModeIndicator()

returns true if  mode indicator is available, false otherwise

boolean
hasNmeaGns()

returns true if  mode indicator is available, false otherwise

boolean
hasNmeaGst()

returns true if  mode indicator is available, false otherwise

boolean
hasNmeaVtg()

returns true if  mode indicator is available, false otherwise

boolean
hasNumberOfSatellites()

returns true if number of satellites is available, false otherwise

boolean
hasOrthometricHeight()

returns true if orthometric height is available, false otherwise

boolean
hasReferenceStation()

returns true if reference station ID is available, false otherwise

boolean
hasRMSOfPseudorangeResiduals()

is available, false otherwise

boolean
hasSpeedKnots()

returns true if the speed in knots is available, false otherwise

boolean
hasSpeedKPH()

returns true if the speed in kilometers/hour  knots is available, false otherwise

boolean
hasTrackMadeGoodDegreesMagnetic()

returns true if track made good in degree from magnetic north is available, false otherwise

boolean
hasTrackMadeGoodDegreesTrueNorth()

returns true if track made good in degree from true north is available, false otherwise

boolean
hasUTC()

returns true if UTC of position fix is available, false otherwise

double
getAgeOfDifferencialData()

returns age of differential data

char
getDirectionOfLatitude()

returns direction of latitude: N (North) or S (South)

char
getDirectionOfLongitude()

returns direction of longitude: E (East) or W (West)

double
getErrorEllipseOrientation()

returns error ellipse orientation [degrees from true north]

double
getErrorHeight()

returns height 1 sigma error [meters]

double
getErrorLatitude()

returns latitude 1 sigma error  [meters]

double
getErrorLongitude()

returns longitude 1 sigma error [meters]

double
getErrorSemiMajorAxis()

returns error ellipse semi-major axis 1 sigma error [meters]

double
getErrorSemiMinorAxis()

returns error ellipse semi-minor axis 1 sigma error [meters]

double
getGeoidalSeparation()

returns geoidal separation in meters

double
getHDOP()

returns HDOP

char
getKnotsFlag()

returns speed unit indicator (N: knots)

char
getKphFlag()

returns speed unit indicator (K: kph)

double
getLatitude()

returns latitude

double
getLongitude()

returns longitude

char
getMagneticNorthFlag()

returns unit indicator of track mode good (M: reltive to magnetic north)

ModeIndicator
getModeIndicator()

returns mode indicator

String
getNmeaGns()

returns full NMEA GNS message

String
getNmeaGst()

returns full NMEA GST message

String
getNmeaVtg()

returns full NMEA VTG message

int
getNumberOfSatellites()

returns number of satellites in use

double
getOrthometricHeight()

returns orthometric height in meters

int
getReferenceStation()

returns reference station ID

double
getRMSOfPseudorangeResiduals()

returns RMS value of the pseudorange residuals

double
getSpeedKnots()

returns value of speed in knots [knots]

double
getSpeedKPH()

returns value of speed over ground in kilometers/hour [kph]

double
getTrackMadeGoodDegreesMagnetic()

returns track made good in degrees from mangetic north [degree]

double
getTrackMadeGoodDegreesTrueNorth()

returns track made good in degrees from true north [degree]

char
getTrueNorthFlag()

returns unit indicator of track mode good (T: relative to true north)

String
getUtc()
double
getUtcSeconds()

Fields

ModeIndicator

public enum ModeIndicator

DESCRIPTION TBD

Public Methods

hasAgeOfDifferencialData

public boolean hasAgeOfDifferencialData()

Returns true if the age of the differential data is available, false otherwise.

hasDirectionOfLatitude

public boolean hasDirectionOfLatitude()

Returns true if direction of latitude is available, false otherwise.

hasDirectionOfLongitude

public boolean hasDirectionOfLongitude()

Returns true if direction of longitude is available, false otherwise.

hasErrorEllipseOrientation

public boolean hasErrorEllipseOrientation()

returns true if  ellipse orientation error is available, false otherwise

hasErrorLatitude

public boolean hasErrorLatitude()

returns true if latitude error is available, false otherwise

hasErrorLongitude

public boolean hasErrorLongitude()

returns true if longitude error is available, false otherwise

hasErrorHeight

public boolean hasErrorHeight()

returns true if height error is available, false otherwise

hasErrorSemiMajorAxis

public boolean hasErrorSemiMajorAxis()

returns true if ellipse semi-major axis error is available, false otherwise

hasErrorSemiMinorAxis

public boolean hasErrorSemiMinorAxis()

returns true if  ellipse semi-minor axis error is available, false otherwise

hasGeoidalSeparation

public boolean hasGeoidalSeparation()

Returns true if the age of the differential data is available, false otherwise.

hasHDOP

public boolean hasHDOP()

Returns true if HDOP is available, false otherwise.

hasLatitude

public boolean hasLatitude()

Returns true if latitude is available, otherwise false.

hasLongitude

public boolean hasLongitude()

Returns true if longitude is available, otherwise false.

hasModeIndicator

public boolean hasModeIndicator()

Returns true if mode indicator is available, false otherwise.

hasNmeaGns

public boolean hasNmeaGns()

Returns true if NMEA GNS message is available, false otherwise.

hasNmeaGst

public boolean hasNmeaGst()

Returns true if NMEA GST message is available, false otherwise.

hasNmeaVtg

public boolean hasNmeaVtg()

Returns true if NMEA VTG message is available, false otherwise.

hasNumberofSatellites

public boolean hasNumberOfSatellites()

Returns true if a number of satellites are available, false otherwise.

hasOrthometricHeight

public boolean hasOrthometricHeight()

Returns true if the orthometric height is available, false otherwise.

hasReferenceStation

public boolean hasReferenceStation()

returns true if reference station ID is available, false otherwise.

hasRMSOfPseudorangeResiduals

public boolean hasRMSOfPseudorangeResiduals()

Returns true if is available, false otherwise

hasSpeedKnots

public boolean hasSpeedKnots()

Returns true if the speed in knots is available, false otherwise

hasSpeedKPH

public boolean hasSpeedKPH()

returns true if the speed in kilometres/hour knots is available, false otherwise

hasTrackMadeGoodDegreesMagnetic

public boolean hasTrackMadeGoodDegreesMagnetic()

Returns true if track made good in degree from magnetic north is available, false otherwise

hasTrackMadeGoodDegreesTrueNorth

public boolean hasTrackMadeGoodDegreesTrueNorth()

Returns true if track made good in degree from true north is available, false otherwise

hasUTC

public boolean hasUTC()

Returns true if UTC of position fix is available, otherwise false.

getAgeOfDifferencialData

public double getAgeOfDifferencialData()

Returns age of differential data.

getDirectionOfLatitude

public char getDirectionOfLatitude()

Returns direction of latitude: N (North) or S (South).

getDirectionOfLongitude

public chat getDirectionOfLongitude()

Returns direction of longitude: E (East) or W (West).

getErrorEllipseOrientation

public double getErrorEllipseOrientation()

Returns error ellipse orientation [degrees from true north].

getErrorHeight

public double getErrorHeight()

Returns height 1 sigma error [meters].

getErrorLatitude

public double getErrorLatitude()

Returns latitude 1 sigma error  [meters].

getErrorLongitude

public double getErrorLongitude()

Returns longitude 1 sigma error [meters].

getErrorSemiMajorAxis

public double getErrorSemiMajorAxis()

Returns error ellipse semi-major axis 1 sigma error [meters].

getErrorSemiMinorAxis

public double getErrorSemiMinorAxis()

Returns error ellipse semi-minor axis 1 sigma error [meters].

getGeoidalSeparation

public double getGeoidalSeparation()

Returns geoidal separation in meters.

getHDOP

public double getHDOP()

Returns HDOP.

getKnotsFlag

public char getKnotsFlag()

Returns speed unit indicator (N: knots).

getKphFlag

public char getKphFlag()

Returns speed unit indicator (K: kph)

getLatitude

public double getLatitude()

Returns latitude.

getLongitude

public double getLongitude()

Returns longitude

getMagneticNorthFlag

public char getMagneticNorthFlag()

Returns unit indicator of track mode good (M: relative to magnetic north).

getModeIndicator

public ModeIndicator getModeIndicator()

Returns mode indicator

getNmeaGns

public String getNmeaGns()

Returns full NMEA GNS message.

getNmeaGst

public String getNmeaGst()

Returns full NMEA GST message.

getNmeaVtg

public String getNmeaVtg()

Returns full NMEA VTG message.

getNumberOfSatellites

public int getNumberOfSatellites()

Returns number of satellites in use.

getOrthometricHeight

public double getOrthometricHeight()

Returns orthometric height in meters.

getReferenceStation

public int getReferenceStation()

Returns reference station ID.

getRMSOfPseudorangeResiduals

public double getRMSOfPseudorangeResiduals()

Returns RMS value of the pseudo-range residuals.

getSpeedKnots

public double getSpeedKnots()

Returns value of speed in knots [knots].

getSpeedKPH

public double getSpeedKPH()

Returns value of speed over ground in kilometres/hour [kph].

getTrackMadeGoodDegreesMagnetic

public double getTrackMadeGoodDegreesMagnetic()

Returns track made good in degrees from magnetic north [degree].

getTrackMadeGoodDegreesTrueNorth

public double getTrackMadeGoodDegreesTrueNorth()

Returns track made good in degrees from true north [degree].

getTrueNorthFlag

public char getTrueNorthFlag()

Returns unit indicator of track mode good (T: relative to true north).

getUtc

public double getUtc()

getUtcSeconds

public double getUtcSeconds()

Returns UTC of position fix in milliseconds since January 1, 1970.

Flamingo Location Listener

public interface FlamingoLocationListener

The interface enables to receive FlamingoLocation object from Flamingo service. Classes which implement the interface get real-time information about the last location of the device.

Summary

Public Methods
void
onRegistrationStatusChanged(ReferenceStationStatus referenceStationStatus)
void
onFlamingoLocation(FlamingoLocation flamingoLocation)
void
registerFlamingoLocationListener()
void
unregisterFlamingoLocationListener()

Public Methods

onFlamingoLocation

void onFlamingoLocation(FlamingoLocation flamingoLocation)

Returns last known FlamingoLocation from positioning service.

onReferenceStationStatusChanged

void onReferenceStationStatusChanged(ReferenceStationStatus referenceStationStatus)

Informs if the user is within the range of a reference station.

registerFlamingoLocationListener

void registerFlamingoLocationListener()

unregisterFlamingoLocationListener

 void unregisterFlamingoLocationListener()

Application Type

public enum ApplicationType

Summary

Enumerated Values
ApplicationType
FITNESS
ApplicationType
TRACKING
ApplicationType
VEHICLE_NAVIGATION
ApplicationType
PEDESTRIAN_NAVIGATION
ApplicationType
AUGMENTED_REALITY
ApplicationType
SURVEYING

PositioningSession

public enum PositioningSession

Summary

Enumerated Values
PositioningSession
SERVER
PositioningSession
CLIENT

RegistrationStatus

public enum RegistrationStatus

Summary

Enumerated Values
RegistrationStatus
FULL_ACCESS
RegistrationStatus
USER_APPROVED
RegistrationStatus
SERVER_AVAILABLE
RegistrationStatus
NOT_AVAILABLE

Enum Values

FULL_ACCESS

User has full access to Flamingo service.

USER_APPROVED

The authentication procedure was successful.

SERVER_AVAILABLE

Flamingo server availability.

NOT_AVAILABLE

Flamingo service is not available.

ReferenceStationStatus

public enum ReferenceStationStatus

Summary

Enumerated Values
ReferenceStationStatus
AVAILABLE
ReferenceStationStatus
NOT_AVAILABLE

Enum Values

AVAILABLE

User is within the range of the reference station.

NOT_AVAILABLE

User is outside the range of the reference station.