[**Added in Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  
Summary: [Ctors](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder#pubctors) \| [Methods](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder#inhmethods)  

# TrainingInterval.Builder


`
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/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval)

## Summary

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

|                                                                                                                                                                                                                                                    ### Public methods                                                                                                                                                                                                                                                    ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[TrainingInterval](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval)                 | ` `[build](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder#build())`() ` Builds the instance.                                                                                                                                                                |
| ` `[TrainingInterval.Builder](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder) | ` `[setMinimumInterval](https://developer.android.com/design-for-safety/privacy-sandbox/reference/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/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder) | ` `[setSchedulingMode](https://developer.android.com/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder#setSchedulingMode(int))`(int value) `                                                                                                                                                 |

| ### 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 Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  

```
public Builder ()
```

<br />

<br />

## Public methods

### build

[**Added in Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  

```
public TrainingInterval build ()
```

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

<br />

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

### setMinimumInterval

[**Added in Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  

```
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/design-for-safety/privacy-sandbox/reference/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/design-for-safety/privacy-sandbox/reference/adservices/ondevicepersonalization/TrainingInterval.Builder) | This value cannot be `null`. <br /> |

### setSchedulingMode

[**Added in Android UpsideDownCakePrivacySandbox**](https://developer.android.com/preview)  

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

<br />

<br />

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

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