# TrainingInterval.Builder

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#pubctors)\|[Methods](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#inhmethods)  

# TrainingInterval.Builder

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/adservices/ondevicepersonalization/TrainingInterval.Builder "View this page in Kotlin")\|Java

`
public
static
final

class
TrainingInterval.Builder
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|---------------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.adservices.ondevicepersonalization.TrainingInterval.Builder |

<br />

*** ** * ** ***

A builder for[TrainingInterval](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval)

## Summary

|                                                           ### Public constructors                                                           ||
|------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[Builder](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#Builder())`() ` |

|                                                                                                                                                                                                                                                                                                                                                  ### Public methods                                                                                                                                                                                                                                                                                                                                                   ||
|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[TrainingInterval](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval)                 | ` `[build](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#build())`() ` Builds the instance.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ` `[TrainingInterval.Builder](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder) | ` `[setMinimumInterval](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#setMinimumInterval(java.time.Duration))`(`[Duration](https://developer.android.com/reference/java/time/Duration)` value) ` Sets the minimum time interval between two training runs.                                                                                                                                                                                                                                                  |
| ` `[TrainingInterval.Builder](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder) | ` `[setSchedulingMode](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder#setSchedulingMode(int))`(int value) ` The scheduling mode for this task, either[TrainingInterval.SCHEDULING_MODE_ONE_TIME](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_ONE_TIME)or[TrainingInterval.SCHEDULING_MODE_RECURRENT](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_RECURRENT). |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public Builder ()
```

<br />

<br />

## Public methods

### build

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

```
public TrainingInterval build ()
```

Builds the instance. This builder should not be touched after calling this!

<br />

|                                                                           Returns                                                                           ||
|-------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [TrainingInterval](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval) | This value cannot be`null`. <br /> |

### setMinimumInterval

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

```
public TrainingInterval.Builder setMinimumInterval (Duration value)
```

Sets the minimum time interval between two training runs.

This field will only be used when the scheduling mode is[TrainingInterval.SCHEDULING_MODE_RECURRENT](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_RECURRENT). Only positive values are accepted, zero or negative values will result in IllegalArgumentException.

Please also note this value is advisory, which does not guarantee the job will be run immediately after the interval expired. Federated compute will still enforce a minimum required interval and training constraints to ensure system health. The current training constraints are device on unmetered network, idle and battery not low.

<br />

|                       Parameters                        ||
|---------|------------------------------------------------|
| `value` | `Duration`: This value cannot be`null`. <br /> |

|                                                                                   Returns                                                                                   ||
|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [TrainingInterval.Builder](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder) | This value cannot be`null`. <br /> |

### setSchedulingMode

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

```
public TrainingInterval.Builder setSchedulingMode (int value)
```

The scheduling mode for this task, either[TrainingInterval.SCHEDULING_MODE_ONE_TIME](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_ONE_TIME)or[TrainingInterval.SCHEDULING_MODE_RECURRENT](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_RECURRENT). The default scheduling mode is[TrainingInterval.SCHEDULING_MODE_ONE_TIME](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_ONE_TIME)if unspecified.

<br />

|                                                                                                                                                                                       Parameters                                                                                                                                                                                        ||
|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `value` | `int`: Value is[TrainingInterval.SCHEDULING_MODE_ONE_TIME](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_ONE_TIME), or[TrainingInterval.SCHEDULING_MODE_RECURRENT](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval#SCHEDULING_MODE_RECURRENT) <br /> |

|                                                                                   Returns                                                                                   ||
|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
| [TrainingInterval.Builder](https://developer.android.com/reference/android/adservices/ondevicepersonalization/TrainingInterval.Builder) | This value cannot be`null`. <br /> |