Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in [U Extensions 21](https://developer.android.com/sdkExtensions) Summary: [Ctors](https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#inhmethods)

# MatchmakingRequest.Builder

*** ** * ** ***


`
public
static
final

class
MatchmakingRequest.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.health.connect.MatchmakingRequest.Builder |

<br />

*** ** * ** ***

Builder class for `https://developer.android.com/reference/android/health/connect/MatchmakingRequest`.

By default, the builder initializes with an empty set of record types, include and exclude
data sources.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#Builder()() ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#addRecordType(java.lang.Class<?%20extends%20android.health.connect.datatypes.Record>)(https://developer.android.com/reference/java/lang/Class<? extends https://developer.android.com/reference/android/health/connect/datatypes/Record> recordType) ` Adds a record type to the request. |
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#addRecordTypes(java.util.Set<java.lang.Class<?%20extends%20android.health.connect.datatypes.Record>>)(https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/Class<? extends https://developer.android.com/reference/android/health/connect/datatypes/Record>> recordTypes) ` Adds a list of record types to the request. |
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest` | ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#build()() ` Builds the `https://developer.android.com/reference/android/health/connect/MatchmakingRequest` instance. |
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setExcludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)(https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin> dataOrigins) ` Sets the `https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin`s to be excluded from matchmaking. |
| ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | ` https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setIncludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)(https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin> dataOrigins) ` Sets the `https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin`s to be considered by matchmaking. |

| ### 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 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in [U Extensions 21](https://developer.android.com/sdkExtensions)

```
public Builder ()
```

<br />

<br />

## Public methods

### addRecordType

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

```
public MatchmakingRequest.Builder addRecordType (Class<? extends Record> recordType)
```

Adds a record type to the request.

<br />

| Parameters ||
|---|---|
| `recordType` | `Class`: The record type to add. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | This builder. This value cannot be `null`. <br /> |

### addRecordTypes

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

```
public MatchmakingRequest.Builder addRecordTypes (Set<Class<? extends Record>> recordTypes)
```

Adds a list of record types to the request.

<br />

| Parameters ||
|---|---|
| `recordTypes` | `Set`: The list of record types to add. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | This builder. This value cannot be `null`. <br /> |

### build

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

```
public MatchmakingRequest build ()
```

Builds the `https://developer.android.com/reference/android/health/connect/MatchmakingRequest` instance.

By default, `MatchmakingRequest.Builder().build()` creates a request with an
empty set of record types, included and excluded data sources. See description at `https://developer.android.com/reference/android/health/connect/HealthConnectManager#createMatchmakingIntent(android.health.connect.MatchmakingRequest)`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/MatchmakingRequest` | A new instance of `https://developer.android.com/reference/android/health/connect/MatchmakingRequest`. This value cannot be `null`. <br /> |

### setExcludedDataSources

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

```
public MatchmakingRequest.Builder setExcludedDataSources (Set<DataOrigin> dataOrigins)
```

Sets the `https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin`s to be excluded from matchmaking. Data sources in this set
will not be considered. Providing an empty set means no specific data sources are
excluded, effectively allowing all data sources to be considered (unless included by
`https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setIncludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)`).

By default, if neither `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setIncludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` nor `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setExcludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` are called, all available data sources will be considered.

<br />

| Parameters ||
|---|---|
| `dataOrigins` | `Set`: The data origins to exclude. An empty set means no specific data sources are excluded. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | This builder. This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setIncludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` has been called with a non-empty set. |

### setIncludedDataSources

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

```
public MatchmakingRequest.Builder setIncludedDataSources (Set<DataOrigin> dataOrigins)
```

Sets the `https://developer.android.com/reference/android/health/connect/datatypes/DataOrigin`s to be considered by matchmaking. Only data sources in this
set will be considered; data sources not in this set will be excluded. Providing an empty
set means no specific data sources are included, effectively allowing all data sources to
be considered (unless excluded by `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setExcludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)`.

By default, if neither `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setIncludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` nor `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setExcludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` are called, all available data sources will be considered.

<br />

| Parameters ||
|---|---|
| `dataOrigins` | `Set`: The data origins to include. An empty set means no specific data sources are included. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder` | This builder. This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalStateException` | if `https://developer.android.com/reference/android/health/connect/MatchmakingRequest.Builder#setExcludedDataSources(java.util.Set<android.health.connect.datatypes.DataOrigin>)` has been called with a non-empty set. |