FLAMINGO Android is Coming Soon!

A library designed to support FLAMINGO interaction with Android.

Flamingo Manager

public class FlamingoManager implements NmeaInitialLocationCallback

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 (ArrayList mFlamingoLocationCallbackList

)

Constructs a flamingo manager with an initial list of callbacks.

Public Methods
boolean isFlamingoRunning();
boolean isFlamingoCallbackRegistered (

FlamingoLocationCallback flamingoLocationCallback

);

void registerFlamingoService (

String applicationId,

String password,

String companyId,

ApplicationType applicationType,

Context context,

FlamingoLocationCallback…flamingoLocationCallback

);

void registerFlamingoService (

String applicationId,

String password,

String companyId,

Context context,

FlamingoLocationCallback… flamingoLocationCallback

) ;

FlamingoRegistration getFlamingoRegistrationStatus();
PositioningSession getPositioningSession();
ApplicationType getApplicationType();
void unregisterFlamingoListener (

FlamingoLocationCallback flamingoLocationCallback

);

void stopFlamingoService();

Public Constructor

FlamingoManager

FlamingoManager (

ArrayList mFlamingoLocationCallbackList

)

Constructs a flamingo manager with an initial list of callbacks.

Public Methods

isFlamingoRunning

public boolean isFlamingoRunning()

Returns the current state of the Flamingo service on the device. True identifies that the user has access to the service and service is running,  false – the flamingo service is not running.

isFlamingoCallbackRegistered

public boolean isFlamingoCallbackRegistered (FlamingoLocationCallback flamingoLocationCallback)

Checks if given FlamingoLocationCallback class has been registered to obtain FlamingoLocation updates from the service.

registerFlamingoService

public register FlamingoService (

String applicationId,

String password,

String companyId,

Context context,

FlamingoLocationCallback…flamingoLocationCallback

)

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 flamingoLocationCallbacks.

registerFlamingoService

public register FlamingoService (

String applicationId,

String password,

String companyId,

ApplicationType applicationType,

Context context,

FlamingoLocationCallback… flamingoLocationCallback

)

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 flamingoLocationCallbacks. Precision of returned data is based on ApplicationType parameter, which defines the default environment for the application.

getRegistrationStatus

public RegistrationStatus getRegistrationStatus()

Returns information about access to the Flamingo service.

getPositioningSession

public PositioningSession getPositioningSession()

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

getApplicationType

public ApplicationType getApplicationType()

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

unregisterFlamingoListener

unregisterFlamingoListener(FlamingoLocationCallback flamingoLocationCallback)

Stops updating location for given flamingoLocationCallback.

stopFlamingoService

stopFlamingoService()

Stops running all Flamingo services.

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,

SIMULATOR

Public Methods
boolean hasUTC()

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

boolean hasLatitude()

returns true if latitude is available, false otherwise

boolean hasDirectionOfLatitude()

returns true if direction of latitude is available, false otherwise

boolean hasLongitude()

returns true if longitude is available, false otherwise

boolean hasDirectionOfLongitude()

returns true if direction of longitude is available, false otherwise

boolean hasModeIndicator()

returns true if  mode indicator is available, false otherwise

boolean hasNumberOfSatellites()

returns true if number of satellites is available, false otherwise

boolean hasHDOP()

returns true if HDOP is available, false otherwise

boolean hasOrthometricHeight()

returns true if orthometric height is available, false otherwise

boolean hasGeoidalSeparation()

returns true if geoidal separation is available, false otherwise

boolean hasAgeOdDifferencialData()

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

boolean hasReferenceStation()

returns true if reference station ID is available, false otherwise

boolean hasRMSOfPseudorangeResiduals()

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 hasErrorEllipseOrientation()

returns true if  ellipse orientation 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 hasErrorHeight();

returns true if height error is available, false otherwise

boolean hasTrackMadeGoodDegreesTrue()

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

boolean hasTrackMadeGoodDegreesMagnetic()

returns true if track made good in degree from magnetic north 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

FlamingoLocation getFlamingoLocation()

returns FlamingoLocation object

String getNmeaGns()

returns full NMEA GNS message

String getNmeaGst()

returns full NMEA GST message

String getNmeaVtg()

returns full NMEA VTG message

double getUtc()
double getUtcSeconds()

returns UTC of position fix

double getLatitude()

returns latitude

char getDirectionOfLatitude()

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

double getLongitude()

returns longitude

char getDirectionOfLongitude()

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

char getModeIndicator()

returns mode indicator

int getNumberOfSatellites()

returns number of satellites in use

double getHDOP()

returns HDOP

double getOrthometricHeight()

returns orthometric height in meters

double getGeoidalSeparation()

returns geoidal separation in meters

double getAgeOfDifferencialData()

returns age of differential data

int getReferenceStation()

returns reference station ID

double getRMSOfPseudorangeResiduals();

returns RMS value of the pseudorange residuals

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 getErrorEllipseOrientation();

returns error ellipse orientation [degrees from true north]

double getErrorLatitude();

returns latitude 1 sigma error  [meters]

double getErrorLongitude();

returns longitude 1 sigma error [meters]

double getErrorHeight();

returns height 1 sigma error [meters]

double getTrackMadeGoodDegreesTrue()

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

char getTrueNorthFlag()

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

double getTrackMadeGoodDegreesMagnetic();

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

char getMagneticNorthFlag()

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

double getSpeedKnots()

returns value of speed in knots [knots]

char getKnotsFlag()

returns speed unit indicator (N: knots)

double getSpeedKPH()

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

char getKphFlag()

returns speed unit indicator (K: kph)

Fields

ModeIndicator

public enum ModeIndicator

DESCRIPTION TBD

Public Methods

hasUTC

public boolean hasUTC()

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

hasLatitude

public boolean hasLatitude()

Returns true if latitude is available, otherwise false.

hasLongitude

public boolean hasLongitude()()

Returns true if longitude is available, otherwise false.

hasDirectionOfLongitude

public boolean hasDirectionOfLongitude()

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

hasModeIndicator/u>

public boolean hasModeIndicator()

Returns true if mode indicator is available, false otherwise.

hasNumberofSatellites

public boolean hasNumberOfSatellites()

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

hasHDOP

public boolean hasHDOP()

Returns true if HDOP is available, false otherwise.

hasOrthometricHeight

public boolean hasOrthometricHeight()

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

hasGeoidalSeparation

public boolean hasGeoidalSeparation()

Returns true if geoidal separation is available, false otherwise.

hasAgeOfDifferencialData

public boolean hasAgeOfDifferencialData()

Returns true if the age of the differential data 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

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

hasErrorEllipseOrientation

public boolean hasErrorEllipseOrientation()

returns true if  ellipse semi-minor axis 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

hasTrackMadeGoodDegreesTrue

public boolean hasTrackMadeGoodDegreesTrue()

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

hasTrackMadeGoodDegreesMagnetic

public boolean hasTrackMadeGoodDegreesMagnetic()

Returns true if track made good in degree from magnetic north 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

getFlamingoLocation

public static FlamingoLocation getFlamingoLocation()

Returns FlamingoLocation object.

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.

getUtc

public double getUtc()

Description TBD!

getUtcSeconds

public double getUtcSeconds()

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

getLatitude

public double getLatitude()

Returns latitude.

getDirectionOfLatitude

public char getDirectionOfLatitude()

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

getLongitude

public double getLongitude()

Returns longitude

getDirectionOfLongitude

public chat getDirectionOfLongitude()

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

getModeIndicator

public ModeIndicator getModeIndicator()

Returns mode indicator

getNumberOfSatellites

public int getNumberOfSatellites()

Returns number of satellites in use.

getHDOP

public double getHDOP()

Returns HDOP.

getOrthometricHeight

public double getOrthometricHeight()

Returns orthometric height in meters.

getGeoidalSeparation

public double getGeoidalSeparation()

Returns geoidal separation in meters.

getAgeOfDifferencialData

public double getAgeOfDifferencialData()

Returns age of differential data.

getReferenceStation

public int getReferenceStation()

Returns reference station ID.

getRMSOfPseudorangeResiduals

public double getRMSOfPseudorangeResiduals()

Returns RMS value of the pseudo-range residuals.

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].

getErrorEllipseOrientation

public double getErrorEllipseOrientation()

Returns error ellipse orientation [degrees from true north].

getErrorLatitude

public double getErrorLatitude()

Returns latitude 1 sigma error  [meters].

getErrorLongitude

public double getErrorLongitude()

Returns longitude 1 sigma error [meters].

getErrorHeight

public double getErrorHeight()

Returns height 1 sigma error [meters].

getTrackMadeGoodDegreesTrue

public double getTrackMadeGoodDegreesTrue()

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).

getTrackMadeGoodDegreesMagnetic

public double getTrackMadeGoodDegreesMagnetic()

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

getMagneticNorthFlag

public char getMagneticNorthFlag()

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

getSpeedKnots

public double getSpeedKnots()

Returns value of speed in knots [knots].

getKnotsFlag

public char getKnotsFlag()

Returns speed unit indicator (N: knots).

getSpeedKPH

public double getSpeedKPH()

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

getKphFlag

public char getKphFlag()

Returns speed unit indicator (K: kph)

Flamingo Location Callback

public interface FlamingoLocationCallback

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 registerFlamingoLocationCallback()
void unregisterFlamingoLocationCallback()
void onFlamingoLocationReceived(FlamingoLocation flamingoLocation)

Public Methods

registerFlamingoLocationCallback

void registerFlamingoLocationCallback()

unregisterFlamingoLocationCallback

void unregisterFlamingoLocationCallback()

onFlamingoLocationReceived

Returns last known FlamingoLocation from positioning service.

Returns last known FlamingoLocation from positioning service.

Application Type

public enum ApplicationType

Summary

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

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.

PositioningSession

public enum PositioningSession

Summary

Enumerated Values
PositioningSession SERVER
PositioningSession CLIENT