# ConnectionMigrationOptions.Builder

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

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/net/http/ConnectionMigrationOptions.Builder "View this page in Java")  

```
class Builder
```

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                             ||
| ↳ | [android.net.http.ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) |

Builder for[ConnectionMigrationOptions](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions).

## Summary

|                                                          Public constructors                                                          ||
|------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#Builder())`()` <br /> |

|                                                                                                                                                                                                                                                                    Public methods                                                                                                                                                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ConnectionMigrationOptions](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions)                  | [build](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#build())`()` Creates and returns the final[ConnectionMigrationOptions](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions)instance, based on the values in this builder.                                                                               |
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | [setAllowNonDefaultNetworkUsage](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#setAllowNonDefaultNetworkUsage(kotlin.Int))`(`state:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets whether connections can be migrated to an alternate network when Cronet detects a degradation of the path currently in use. |
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | [setDefaultNetworkMigration](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#setDefaultNetworkMigration(kotlin.Int))`(`state:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets whether to enable the possibility of migrating connections on default network change.                                               |
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | [setPathDegradationMigration](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#setPathDegradationMigration(kotlin.Int))`(`state:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets whether to enable the possibility of migrating connections if the current path is performing poorly.                              |

## Public constructors

### Builder

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

```
Builder()
```

## Public methods

### build

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

```
fun build(): ConnectionMigrationOptions
```

Creates and returns the final[ConnectionMigrationOptions](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions)instance, based on the values in this builder.

|                                                                        Return                                                                         ||
|--------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [ConnectionMigrationOptions](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions) | This value cannot be`null`. |

### setAllowNonDefaultNetworkUsage

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

```
fun setAllowNonDefaultNetworkUsage(state: Int): ConnectionMigrationOptions.Builder
```

Sets whether connections can be migrated to an alternate network when Cronet detects a degradation of the path currently in use. Requires setting[setPathDegradationMigration(int)](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#setPathDegradationMigration(kotlin.Int))to[MIGRATION_OPTION_ENABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED:kotlin.Int)to have any effect.

Note: This setting can result in requests being sent on non-default metered networks, eating into the users' data budgets and incurring extra costs. Make sure you're using metered networks sparingly.

|                                                                                                                                                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                                                                                                                                                              ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `state` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):one of the MIGRATION_OPTION_\* values Value is[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED:kotlin.Int),[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED:kotlin.Int), or[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED:kotlin.Int) |

|                                                                                              Return                                                                                              ||
|-------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | this builder for chaining This value cannot be`null`. |

### setDefaultNetworkMigration

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

```
fun setDefaultNetworkMigration(state: Int): ConnectionMigrationOptions.Builder
```

Sets whether to enable the possibility of migrating connections on default network change. If enabled, active QUIC connections will be migrated onto the new network when the platform indicates that the default network is changing.

|                                                                                                                                                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                                                                                                                                                              ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `state` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):one of the MIGRATION_OPTION_\* values Value is[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED:kotlin.Int),[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED:kotlin.Int), or[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED:kotlin.Int) |

|                                                                                              Return                                                                                              ||
|-------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | this builder for chaining This value cannot be`null`. |

**See Also**

### setPathDegradationMigration

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

```
fun setPathDegradationMigration(state: Int): ConnectionMigrationOptions.Builder
```

Sets whether to enable the possibility of migrating connections if the current path is performing poorly.

Depending on other configuration, this can result to migrating the connections within the same default network, or to a non-default network.

|                                                                                                                                                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                                                                                                                                                              ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `state` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):one of the MIGRATION_OPTION_\* values Value is[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_UNSPECIFIED:kotlin.Int),[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_ENABLED:kotlin.Int), or[android.net.http.ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions#MIGRATION_OPTION_DISABLED:kotlin.Int) |

|                                                                                              Return                                                                                              ||
|-------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|
| [ConnectionMigrationOptions.Builder](https://developer.android.com/reference/kotlin/android/net/http/ConnectionMigrationOptions.Builder#) | this builder for chaining This value cannot be`null`. |