Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#constants) \| [Inherited Constants](https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#inhconstants) \| [Fields](https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#lfields) \| [Methods](https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#inhmethods)

# ResponderLocation

*** ** * ** ***

` public final class ResponderLocation `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/os/Parcelable `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.net.wifi.rtt.ResponderLocation |

<br />

*** ** * ** ***

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.

<br />

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_FLOORS` Responder Altitude is measured in floors. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_METERS` Responder Altitude is measured in meters. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_UNDEFINED` Altitude is not defined for the Responder. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_NAD83_MLLW` Datum used is NAD83 MLLW. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_NAD83_NAV88` Datum used is NAD83 NAV88. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_UNDEFINED` Datum is not defined. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_WGS84` Datum used is WGS84. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LCI_VERSION_1` Version of the LCI protocol is 1.0, the only defined protocol at this time. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_FIXED` Location of responder is fixed (does not move) |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_MOVEMENT_UNKNOWN` Location of the responder is not known to be either fixed or variable. |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_RESERVED` Location of the responder status is a reserved value |
| `int` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_VARIABLE` Location of the responder is variable, and may move |

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation>` | `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#CREATOR` <br /> |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getAltitude()() ` |
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getAltitudeType()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getAltitudeUncertainty()() ` |
| ` https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/net/MacAddress>` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getColocatedBssids()() ` |
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getDatum()() ` |
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getExpectedToMove()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getFloorNumber()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getHeightAboveFloorMeters()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getHeightAboveFloorUncertaintyMeters()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getLatitude()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getLatitudeUncertainty()() ` |
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getLciVersion()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getLongitude()() ` |
| ` double` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getLongitudeUncertainty()() ` |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getMapImageMimeType()() ` |
| ` https://developer.android.com/reference/android/net/Uri` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getMapImageUri()() ` |
| ` boolean` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#getRegisteredLocationAgreementIndication()() ` |
| ` int` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#hashCode()() ` Returns a hash code value for the object. |
| ` boolean` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()() ` |
| ` boolean` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isZaxisSubelementValid()() ` |
| ` https://developer.android.com/reference/android/location/Address` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#toCivicLocationAddress()() ` |
| ` https://developer.android.com/reference/android/util/SparseArray<https://developer.android.com/reference/java/lang/String>` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#toCivicLocationSparseArray()() ` |
| ` https://developer.android.com/reference/android/location/Location` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#toLocation()() ` |
| ` void` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel parcel, int flags) ` Flatten this object in to a Parcel. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.

## Constants

### ALTITUDE_FLOORS

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int ALTITUDE_FLOORS
```

Responder Altitude is measured in floors.

<br />

Constant Value: 2 (0x00000002)

### ALTITUDE_METERS

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int ALTITUDE_METERS
```

Responder Altitude is measured in meters.

<br />

Constant Value: 1 (0x00000001)

### ALTITUDE_UNDEFINED

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int ALTITUDE_UNDEFINED
```

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

<br />

Constant Value: 0 (0x00000000)

### DATUM_NAD83_MLLW

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DATUM_NAD83_MLLW
```

Datum used is NAD83 MLLW.

<br />

Constant Value: 3 (0x00000003)

### DATUM_NAD83_NAV88

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DATUM_NAD83_NAV88
```

Datum used is NAD83 NAV88.

<br />

Constant Value: 2 (0x00000002)

### DATUM_UNDEFINED

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DATUM_UNDEFINED
```

Datum is not defined.

<br />

Constant Value: 0 (0x00000000)

### DATUM_WGS84

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DATUM_WGS84
```

Datum used is WGS84.

<br />

Constant Value: 1 (0x00000001)

### LCI_VERSION_1

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int LCI_VERSION_1
```

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

<br />

Constant Value: 1 (0x00000001)

### LOCATION_FIXED

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int LOCATION_FIXED
```

Location of responder is fixed (does not move)

<br />

Constant Value: 0 (0x00000000)

### LOCATION_MOVEMENT_UNKNOWN

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int LOCATION_MOVEMENT_UNKNOWN
```

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

<br />

Constant Value: 2 (0x00000002)

### LOCATION_RESERVED

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int LOCATION_RESERVED
```

Location of the responder status is a reserved value

<br />

Constant Value: 3 (0x00000003)

### LOCATION_VARIABLE

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int LOCATION_VARIABLE
```

Location of the responder is variable, and may move

<br />

Constant Value: 1 (0x00000001)

## Fields

### CREATOR

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<ResponderLocation> CREATOR
```

<br />

<br />

## Public methods

### describeContents

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int describeContents ()
```

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 `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`, the return value of this method must include the `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object obj)
```

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.

<br />

| Parameters ||
|---|---|
| `obj` | `Object`: the reference object with which to compare. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### getAltitude

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getAltitude ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Altitude in units defined by the altitude type. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. |

### getAltitudeType

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getAltitudeType ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | the Altitude type. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_UNDEFINED` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_METERS` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#ALTITUDE_FLOORS` |

### getAltitudeUncertainty

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getAltitudeUncertainty ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Altitude uncertainty in meters. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. An unknown uncertainty is indicated by 0. <br /> |

### getColocatedBssids

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public List<MacAddress> getColocatedBssids ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/net/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](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getDatum ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | the Datum used for the LCI positioning information. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_UNDEFINED` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_WGS84` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_NAD83_NAV88` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#DATUM_NAD83_MLLW` |

### getExpectedToMove

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getExpectedToMove ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | an integer representing the mobility of the responder. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isZaxisSubelementValid()` returns true, or will throw an exception. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_FIXED` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_VARIABLE` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_MOVEMENT_UNKNOWN` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#LOCATION_RESERVED` |

### getFloorNumber

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getFloorNumber ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Z sub element Floor Number. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#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. . <br /> |

### getHeightAboveFloorMeters

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getHeightAboveFloorMeters ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Z subelement Height above the floor in meters. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isZaxisSubelementValid()` returns true, or will throw an exception. This value can be positive or negative. <br /> |

### getHeightAboveFloorUncertaintyMeters

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getHeightAboveFloorUncertaintyMeters ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Z subelement Height above the floor uncertainty in meters. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isZaxisSubelementValid()` returns true, or will throw an exception. An unknown uncertainty is indicated by 0. <br /> |

### getLatitude

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getLatitude ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the latitude in degrees Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. |

### getLatitudeUncertainty

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getLatitudeUncertainty ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the latitude uncertainty in degrees. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. An unknown uncertainty is indicated by 0. <br /> |

### getLciVersion

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getLciVersion ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | a value greater or equal to 1, indicating the current version number of the LCI protocol. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. |

### getLongitude

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getLongitude ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Longitude in degrees.. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. |

### getLongitudeUncertainty

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public double getLongitudeUncertainty ()
```

<br />

<br />

| Returns ||
|---|---|
| `double` | the Longitude uncertainty in degrees. Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. An unknown uncertainty is indicated by 0. <br /> |

### getMapImageMimeType

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getMapImageMimeType ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the Map Image file Mime type, referred to by getMapImageUrl(). This value may be `null`. <br /> |

### getMapImageUri

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Uri getMapImageUri ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/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](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean getRegisteredLocationAgreementIndication ()
```

<br />

<br />

| Returns ||
|---|---|
| `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 `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. |

### hashCode

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `https://developer.android.com/reference/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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` 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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` 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.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### isLciSubelementValid

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isLciSubelementValid ()
```

<br />

<br />

| Returns ||
|---|---|
| `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. <br /> |

### isZaxisSubelementValid

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isZaxisSubelementValid ()
```

<br />

<br />

| Returns ||
|---|---|
| `boolean` | if the Z subelement (containing mobility, Floor, Height above floor) is valid. <br /> |

### toCivicLocationAddress

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Address toCivicLocationAddress ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/Address` | the civic location represented as an `https://developer.android.com/reference/android/location/Address` object (best effort). Will return a `null` when there is no Civic Location defined. |

### toCivicLocationSparseArray

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SparseArray<String> toCivicLocationSparseArray ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/util/SparseArray<https://developer.android.com/reference/java/lang/String>` | the civic location represented as a `https://developer.android.com/reference/android/util/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](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Location toLocation ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/location/Location` | the LCI location represented as a `https://developer.android.com/reference/android/location/Location` object (best effort). Only valid if `https://developer.android.com/reference/android/net/wifi/rtt/ResponderLocation#isLciSubelementValid()` returns true, or will throw an exception. This value cannot be `null`. |

### writeToParcel

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel parcel, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `parcel` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |