Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#inhmethods)

# ResponderConfig.Builder

*** ** * ** ***

` public static final class ResponderConfig.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

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

<br />

*** ** * ** ***

Builder class used to construct `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` objects.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#Builder()() ` Default constructor for the Builder. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#Builder(android.net.wifi.rtt.ResponderConfig)(https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig config) ` Creates a new Builder instance, initializing it with the values from an existing `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` object. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#build()() ` Build `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` given the current configurations made on the builder. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#set80211azNtbSupported(boolean)(boolean supports80211azNtb) ` Sets an indication the access point can to respond to the IEEE 802.11az non-trigger based ranging protocol, but, if false, indicates only IEEE 802.11mc or one-sided Wi-Fi RTT is possible. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#set80211mcSupported(boolean)(boolean supports80211mc) ` Sets an indication the access point can to respond to the two-sided Wi-Fi RTT protocol, but, if false, indicates only one-sided Wi-Fi RTT is possible. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setCenterFreq0Mhz(int)(int centerFreq0) ` Sets the center frequency in MHz of the first segment of the channel. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setCenterFreq1Mhz(int)(int centerFreq1) ` Sets the center frequency in MHz of the second segment of the channel, if used. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setChannelWidth(int)(int channelWidth) ` Sets the channel bandwidth in MHz. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setFrequencyMhz(int)(int frequency) ` Sets the frequency of the channel in MHz. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setMacAddress(android.net.MacAddress)(https://developer.android.com/reference/android/net/MacAddress macAddress) ` Sets the Responder MAC Address. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setPeerHandle(android.net.wifi.aware.PeerHandle)(https://developer.android.com/reference/android/net/wifi/aware/PeerHandle peerHandle) ` Sets the Responder Aware Peer handle. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setPreamble(int)(int preamble) ` Sets the preamble encoding for the protocol. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setResponderType(int)(int responderType) ` Sets the responder type, can be `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_AP` or `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_STA` or `https://developer.android.com/` |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setSecureRangingConfig(android.net.wifi.rtt.SecureRangingConfig)(https://developer.android.com/reference/android/net/wifi/rtt/SecureRangingConfig secureRangingConfig) ` Set secure ranging configuration. |
| ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | ` https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setUsdPeerId(int)(int peerId) ` Sets the USD peer ID. |

### 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*.

## Public constructors

### Builder

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

```
public Builder ()
```

Default constructor for the Builder.

<br />

### Builder

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

```
public Builder (ResponderConfig config)
```

Creates a new Builder instance, initializing it with the values from an existing `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` object. This allows for easy modification of an existing configuration.

<br />

| Parameters ||
|---|---|
| `config` | `ResponderConfig`: The ResponderConfig instance to copy values from. This value cannot be `null`. <br /> |

## Public methods

### build

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

```
public ResponderConfig build ()
```

Build `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` given the current configurations made on the builder.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` | an instance of `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig` This value cannot be `null`. <br /> |

### set80211azNtbSupported

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

```
public ResponderConfig.Builder set80211azNtbSupported (boolean supports80211azNtb)
```

Sets an indication the access point can to respond to the IEEE 802.11az non-trigger based ranging protocol, but, if false, indicates only IEEE 802.11mc or one-sided Wi-Fi RTT is possible.

<br />

| Parameters ||
|---|---|
| `supports80211azNtb` | `boolean`: the ability to support the IEEE 802.11az non-trigger based ranging protocol <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### set80211mcSupported

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

```
public ResponderConfig.Builder set80211mcSupported (boolean supports80211mc)
```

Sets an indication the access point can to respond to the two-sided Wi-Fi RTT protocol, but, if false, indicates only one-sided Wi-Fi RTT is possible.

<br />

| Parameters ||
|---|---|
| `supports80211mc` | `boolean`: the ability to support the Wi-Fi RTT protocol <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setCenterFreq0Mhz

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

```
public ResponderConfig.Builder setCenterFreq0Mhz (int centerFreq0)
```

Sets the center frequency in MHz of the first segment of the channel.

Note: The frequency is used as a hint, and the underlying WiFi subsystem may use it, or select an alternate if its own connectivity scans have determined the frequency of the access point has changed.

<br />

<br />

| Parameters ||
|---|---|
| `centerFreq0` | `int`: the center frequency in MHz of first channel segment. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setCenterFreq1Mhz

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

```
public ResponderConfig.Builder setCenterFreq1Mhz (int centerFreq1)
```

Sets the center frequency in MHz of the second segment of the channel, if used.

Note: The frequency is used as a hint, and the underlying WiFi subsystem may use it, or select an alternate if its own connectivity scans have determined the frequency of the access point has changed.

<br />

<br />

| Parameters ||
|---|---|
| `centerFreq1` | `int`: the center frequency in MHz of second channel segment. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setChannelWidth

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

```
public ResponderConfig.Builder setChannelWidth (int channelWidth)
```

Sets the channel bandwidth in MHz.

<br />

| Parameters ||
|---|---|
| `channelWidth` | `int`: the bandwidth of the channel in MHz. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_20MHZ` - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_40MHZ` - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_80MHZ` - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_160MHZ` - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_80MHZ_PLUS_MHZ` - `https://developer.android.com/reference/android/net/wifi/ScanResult#CHANNEL_WIDTH_320MHZ` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setFrequencyMhz

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

```
public ResponderConfig.Builder setFrequencyMhz (int frequency)
```

Sets the frequency of the channel in MHz.

Note: The frequency is used as a hint, and the underlying WiFi subsystem may use it, or select an alternate if its own connectivity scans have determined the frequency of the access point has changed.

<br />

<br />

| Parameters ||
|---|---|
| `frequency` | `int`: the frequency of the channel in MHz. Value is 0 or greater <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setMacAddress

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

```
public ResponderConfig.Builder setMacAddress (MacAddress macAddress)
```

Sets the Responder MAC Address.

A responder must be identified by *either* a `https://developer.android.com/reference/android/net/MacAddress` *or* a `https://developer.android.com/reference/android/net/wifi/aware/PeerHandle` (for Aware peers, set via `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setPeerHandle(android.net.wifi.aware.PeerHandle)`), but not both.

Note: This method sets the MAC address. If a `https://developer.android.com/reference/android/net/wifi/aware/PeerHandle` was previously set using `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setPeerHandle(android.net.wifi.aware.PeerHandle)`, both identifiers might be temporarily present within the builder. The final validation ensuring that only one of these identifiers is exclusively set occurs during the `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#build()` operation. If `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#build()` is called when both a MAC address and a PeerHandle are configured or when neither is set, it will result in an `https://developer.android.com/reference/java/lang/IllegalArgumentException`.

<br />

| Parameters ||
|---|---|
| `macAddress` | `MacAddress`: the physical address of the responder. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setPeerHandle

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

```
public ResponderConfig.Builder setPeerHandle (PeerHandle peerHandle)
```

Sets the Responder Aware Peer handle.

Use this method to identify the responder when it is a Wi-Fi Aware peer. The `https://developer.android.com/reference/android/net/wifi/aware/PeerHandle` is a unique identifier for an Aware peer obtained through Wi-Fi Aware discovery processes.

A responder must be identified by *either* a `https://developer.android.com/reference/android/net/wifi/aware/PeerHandle` (for Aware peers) *or* a `https://developer.android.com/reference/android/net/MacAddress` (for non-Aware peers like Access Points or Wi-Fi Direct devices), but not both.

Note: This method sets the peer handle. If a MAC address was previously set using `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#setMacAddress(android.net.MacAddress)`, both identifiers might be temporarily present within the builder. The final validation ensuring that only one of these identifiers is exclusively set occurs during the `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#build()` operation. If `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder#build()` is called when both a MAC address and a PeerHandle are configured or when neither is set, it will result in an `https://developer.android.com/reference/java/lang/IllegalArgumentException`.

<br />

| Parameters ||
|---|---|
| `peerHandle` | `PeerHandle`: Peer handle of the responder. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setPreamble

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

```
public ResponderConfig.Builder setPreamble (int preamble)
```

Sets the preamble encoding for the protocol.

<br />

| Parameters ||
|---|---|
| `preamble` | `int`: the preamble encoding. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/ScanResult#PREAMBLE_LEGACY` - `https://developer.android.com/reference/android/net/wifi/ScanResult#PREAMBLE_HT` - `https://developer.android.com/reference/android/net/wifi/ScanResult#PREAMBLE_VHT` - `https://developer.android.com/reference/android/net/wifi/ScanResult#PREAMBLE_HE` - `https://developer.android.com/reference/android/net/wifi/ScanResult#PREAMBLE_EHT` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setResponderType

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

```
public ResponderConfig.Builder setResponderType (int responderType)
```

Sets the responder type, can be `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_AP` or `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_STA` or `https://developer.android.com/`

<br />

| Parameters ||
|---|---|
| `responderType` | `int`: the type of the responder, if not set defaults to `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_AP` Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_AP` - `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig#RESPONDER_STA` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setSecureRangingConfig

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

```
public ResponderConfig.Builder setSecureRangingConfig (SecureRangingConfig secureRangingConfig)
```

Set secure ranging configuration. See `https://developer.android.com/reference/android/net/wifi/rtt/SecureRangingConfig` for more details.

Note: Secure ranging will get enabled only if the device and responder support. For device support see `https://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager#getRttCharacteristics()`. Following capabilities needs to be enabled,

- `https://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager#CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR`
- `https://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager#CHARACTERISTICS_KEY_BOOLEAN_SECURE_HE_LTF_SUPPORTED` and/or
- `https://developer.android.com/reference/android/net/wifi/rtt/WifiRttManager#CHARACTERISTICS_KEY_BOOLEAN_RANGING_FRAME_PROTECTION_SUPPORTED`

For the responder support (from scan result),

<!-- -->

- `https://developer.android.com/reference/android/net/wifi/ScanResult#capabilities` string contains PASN and optionally a base AKM
- `https://developer.android.com/reference/android/net/wifi/ScanResult#isSecureHeLtfSupported()`
- `https://developer.android.com/reference/android/net/wifi/ScanResult#isRangingFrameProtectionRequired()`

<br />

<br />

| Parameters ||
|---|---|
| `secureRangingConfig` | `SecureRangingConfig`: Secure ranging configuration. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |

### setUsdPeerId

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

```
public ResponderConfig.Builder setUsdPeerId (int peerId)
```

Sets the USD peer ID.

Use this method to identify the peer when the peer is discovered over USD channel. The peer id is a unique identifier for an USD peer obtained through Wi-Fi USD discovery processes (See obtained from `https://developer.android.com/`.

<br />

| Parameters ||
|---|---|
| `peerId` | `int`: Peer ID of the USD peer <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/wifi/rtt/ResponderConfig.Builder` | the builder to facilitate chaining `builder.setXXX(..).setXXX(..)`. This value cannot be `null`. <br /> |