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

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

Double

Int

Double

MutableList<MacAddress!>!

Int

Int

Double

Double

Double

Double

Double

Int

Double

Double

String?

Uri?

Boolean

Int

Returns a hash code value for the object.

Boolean

Boolean

Address?

SparseArray<String!>?

Location

Unit
writeToParcel(parcel: Parcel, flags: Int)

Flatten this object in to a Parcel.

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

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
Value is either 0 or

equals

Added in API level 29
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

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 one of the following:

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 one of the following:

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 one of the following:

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

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
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

Flatten this object in to a Parcel.

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 the following:

Properties

CREATOR

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