Added in API level 29

ResponderLocation


class ResponderLocation : Parcelable
kotlin.Any
   ↳ android.net.wifi.rtt.ResponderLocation

ResponderLocation is both a Location Configuration Information (LCI) decoder and a Location Civic Report (LCR) decoder for information received from a Wi-Fi Access Point (AP) during Wi-Fi RTT ranging process.

This is based on the IEEE P802.11-REVmc/D8.0 spec section 9.4.2.22, under Measurement Report Element. Subelement location data-fields parsed from separate input LCI and LCR Information Elements are unified in this class.

Note: The information provided by this class is broadcast by a responder (usually an Access Point), and passed on as-is. There is no guarantee this information is accurate or correct, and as a result developers should carefully consider how this information should be used and provide corresponding advice to users.

Summary

Constants
static Int

Responder Altitude is measured in floors.

static Int

Responder Altitude is measured in meters.

static Int

Altitude is not defined for the Responder.

static Int

Datum used is NAD83 MLLW.

static Int

Datum used is NAD83 NAV88.

static Int

Datum is not defined.

static Int

Datum used is WGS84.

static Int

Version of the LCI protocol is 1.

static Int

Location of responder is fixed (does not move)

static Int

Location of the responder is not known to be either fixed or variable.

static Int

Location of the responder status is a reserved value

static Int

Location of the responder is variable, and may move

Inherited constants
Public methods
Int

Boolean
equals(other: Any?)

Double

Int

Double

MutableList<MacAddress!>!

Int

Int

Double

Double

Double

Double

Double

Int

Double

Double

String?

Uri?

Boolean

Int

Boolean

Boolean

Address?

SparseArray<String!>?

Location

Unit
writeToParcel(parcel: Parcel, flags: Int)

Properties
static Parcelable.Creator<ResponderLocation!>

Constants

ALTITUDE_FLOORS

Added in API level 29
static val ALTITUDE_FLOORS: Int

Responder Altitude is measured in floors.

Value: 2

ALTITUDE_METERS

Added in API level 29
static val ALTITUDE_METERS: Int

Responder Altitude is measured in meters.

Value: 1

ALTITUDE_UNDEFINED

Added in API level 29
static val ALTITUDE_UNDEFINED: Int

Altitude is not defined for the Responder. The altitude and altitude uncertainty should not be used: see section 2.4 of IETF RFC 6225.

Value: 0

DATUM_NAD83_MLLW

Added in API level 29
static val DATUM_NAD83_MLLW: Int

Datum used is NAD83 MLLW.

Value: 3

DATUM_NAD83_NAV88

Added in API level 29
static val DATUM_NAD83_NAV88: Int

Datum used is NAD83 NAV88.

Value: 2

DATUM_UNDEFINED

Added in API level 29
static val DATUM_UNDEFINED: Int

Datum is not defined.

Value: 0

DATUM_WGS84

Added in API level 29
static val DATUM_WGS84: Int

Datum used is WGS84.

Value: 1

LCI_VERSION_1

Added in API level 29
static val LCI_VERSION_1: Int

Version of the LCI protocol is 1.0, the only defined protocol at this time.

Value: 1

LOCATION_FIXED

Added in API level 29
static val LOCATION_FIXED: Int

Location of responder is fixed (does not move)

Value: 0

LOCATION_MOVEMENT_UNKNOWN

Added in API level 29
static val LOCATION_MOVEMENT_UNKNOWN: Int

Location of the responder is not known to be either fixed or variable.

Value: 2

LOCATION_RESERVED

Added in API level 29
static val LOCATION_RESERVED: Int

Location of the responder status is a reserved value

Value: 3

LOCATION_VARIABLE

Added in API level 29
static val LOCATION_VARIABLE: Int

Location of the responder is variable, and may move

Value: 1

Public methods

describeContents

Added in API level 29
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 29
fun equals(other: Any?): Boolean
Parameters
obj the reference object with which to compare.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getAltitude

Added in API level 29
fun getAltitude(): Double
Return
Double the Altitude in units defined by the altitude type.

Only valid if isLciSubelementValid() returns true, or will throw an exception.

getAltitudeType

Added in API level 29
fun getAltitudeType(): Int
Return
Int the Altitude type.

Only valid if isLciSubelementValid() returns true, or will throw an exception. Value is android.net.wifi.rtt.ResponderLocation#ALTITUDE_UNDEFINED, android.net.wifi.rtt.ResponderLocation#ALTITUDE_METERS, or android.net.wifi.rtt.ResponderLocation#ALTITUDE_FLOORS

getAltitudeUncertainty

Added in API level 29
fun getAltitudeUncertainty(): Double
Return
Double the Altitude uncertainty in meters.

Only valid if isLciSubelementValid() returns true, or will throw an exception.

An unknown uncertainty is indicated by 0.

getColocatedBssids

Added in API level 29
fun getColocatedBssids(): MutableList<MacAddress!>!
Return
MutableList<MacAddress!>! the Immutable list of colocated BSSIDs at the responder.

Will return an empty list when there are no bssids listed.

getDatum

Added in API level 29
fun getDatum(): Int
Return
Int the Datum used for the LCI positioning information.

Only valid if isLciSubelementValid() returns true, or will throw an exception. Value is android.net.wifi.rtt.ResponderLocation#DATUM_UNDEFINED, android.net.wifi.rtt.ResponderLocation#DATUM_WGS84, android.net.wifi.rtt.ResponderLocation#DATUM_NAD83_NAV88, or android.net.wifi.rtt.ResponderLocation#DATUM_NAD83_MLLW

getExpectedToMove

Added in API level 29
fun getExpectedToMove(): Int
Return
Int an integer representing the mobility of the responder.

Only valid if isZaxisSubelementValid() returns true, or will throw an exception. Value is android.net.wifi.rtt.ResponderLocation#LOCATION_FIXED, android.net.wifi.rtt.ResponderLocation#LOCATION_VARIABLE, android.net.wifi.rtt.ResponderLocation#LOCATION_MOVEMENT_UNKNOWN, or android.net.wifi.rtt.ResponderLocation#LOCATION_RESERVED

getFloorNumber

Added in API level 29
fun getFloorNumber(): Double
Return
Double the Z sub element Floor Number.

Only valid if isZaxisSubelementValid() returns true, or will throw an exception.

Note: this number can be positive or negative, with value increments of +/- 1/16 of a floor.

.

getHeightAboveFloorMeters

Added in API level 29
fun getHeightAboveFloorMeters(): Double
Return
Double the Z subelement Height above the floor in meters.

Only valid if isZaxisSubelementValid() returns true, or will throw an exception.

This value can be positive or negative.

getHeightAboveFloorUncertaintyMeters

Added in API level 29
fun getHeightAboveFloorUncertaintyMeters(): Double
Return
Double the Z subelement Height above the floor uncertainty in meters.

Only valid if isZaxisSubelementValid() returns true, or will throw an exception.

An unknown uncertainty is indicated by 0.

getLatitude

Added in API level 29
fun getLatitude(): Double
Return
Double the latitude in degrees

Only valid if isLciSubelementValid() returns true, or will throw an exception.

getLatitudeUncertainty

Added in API level 29
fun getLatitudeUncertainty(): Double
Return
Double the latitude uncertainty in degrees.

Only valid if isLciSubelementValid() returns true, or will throw an exception.

An unknown uncertainty is indicated by 0.

getLciVersion

Added in API level 29
fun getLciVersion(): Int
Return
Int a value greater or equal to 1, indicating the current version number of the LCI protocol.

Only valid if isLciSubelementValid() returns true, or will throw an exception.

getLongitude

Added in API level 29
fun getLongitude(): Double
Return
Double the Longitude in degrees..

Only valid if isLciSubelementValid() returns true, or will throw an exception.

getLongitudeUncertainty

Added in API level 29
fun getLongitudeUncertainty(): Double
Return
Double the Longitude uncertainty in degrees.

Only valid if isLciSubelementValid() returns true, or will throw an exception.

An unknown uncertainty is indicated by 0.

getMapImageMimeType

Added in API level 29
fun getMapImageMimeType(): String?
Return
String? the Map Image file Mime type, referred to by getMapImageUrl(). This value may be null.

getMapImageUri

Added in API level 29
fun getMapImageUri(): Uri?
Return
Uri? a URI referencing a map-file showing the local floor plan.

Will return a null when there is no URI defined.

getRegisteredLocationAgreementIndication

Added in API level 29
fun getRegisteredLocationAgreementIndication(): Boolean
Return
Boolean true if the station is operating within a national policy area or an international agreement area near a national border, otherwise false (see 802.11REVmc Section 11.12.3 - Registered STA Operation).

Only valid if isLciSubelementValid() returns true, or will throw an exception.

hashCode

Added in API level 29
fun hashCode(): Int
Return
Int a hash code value for this object.

isLciSubelementValid

Added in API level 29
fun isLciSubelementValid(): Boolean
Return
Boolean true if the LCI subelement (containing Latitude, Longitude and Altitude) is valid.

This method tells us if the responder has provided its Location Configuration Information (LCI) directly, and is useful when an external database of responder locations is not available

If isLciSubelementValid() returns true, all the LCI values provided by the corresponding getter methods will have been set as described by the responder, or else if false, they should not be used and will throw an IllegalStateException.

isZaxisSubelementValid

Added in API level 29
fun isZaxisSubelementValid(): Boolean
Return
Boolean if the Z subelement (containing mobility, Floor, Height above floor) is valid.

toCivicLocationAddress

Added in API level 29
fun toCivicLocationAddress(): Address?
Return
Address? the civic location represented as an Address object (best effort).

Will return a null when there is no Civic Location defined.

toCivicLocationSparseArray

Added in API level 29
fun toCivicLocationSparseArray(): SparseArray<String!>?
Return
SparseArray<String!>? the civic location represented as a SparseArray

Valid keys to access the SparseArray can be found in CivicLocationKeys.

Will return a null when there is no Civic Location defined.

toLocation

Added in API level 29
fun toLocation(): Location
Return
Location the LCI location represented as a Location object (best effort).

Only valid if isLciSubelementValid() returns true, or will throw an exception. This value cannot be null.

writeToParcel

Added in API level 29
fun writeToParcel(
    parcel: Parcel,
    flags: Int
): Unit
Parameters
dest The Parcel in which the object should be written. This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

Added in API level 29
static val CREATOR: Parcelable.Creator<ResponderLocation!>