# RepeatModeUtil

# RepeatModeUtil

Artifact:[androidx.media3:media3-common](https://developer.android.com/jetpack/androidx/releases/media3)  
[View Source](https://cs.android.com/search?q=file:androidx/media3/common/util/RepeatModeUtil.java+class:androidx.media3.common.util.RepeatModeUtil)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/common/util/RepeatModeUtil "View this page in Java")

<br />

```
@UnstableApi
class RepeatModeUtil
```

<br />

*** ** * ** ***

Util class for repeat mode handling.

## Summary

|                                                                                                                                                                                                                                                                                                                                                           ### Nested types                                                                                                                                                                                                                                                                                                                                                           |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[Documented](https://developer.android.com/reference/java/lang/annotation/Documented.html) `@`[Retention](https://developer.android.com/reference/java/lang/annotation/Retention.html)`(value = `[RetentionPolicy.SOURCE](https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html#SOURCE)`)` `@`[Target](https://developer.android.com/reference/java/lang/annotation/Target.html)`(value = )` `@`[IntDef](https://developer.android.com/reference/kotlin/androidx/annotation/IntDef)`(flag = true, value = )` `annotation `[RepeatModeUtil.RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes) Set of repeat toggle modes. |

|                                    ### Constants                                    |
|-------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [REPEAT_TOGGLE_MODE_ALL](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil#REPEAT_TOGGLE_MODE_ALL())` = 2` "Repeat All" button enabled.        |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [REPEAT_TOGGLE_MODE_NONE](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil#REPEAT_TOGGLE_MODE_NONE())` = 0` All repeat mode buttons disabled. |
| `const `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | [REPEAT_TOGGLE_MODE_ONE](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil#REPEAT_TOGGLE_MODE_ONE())` = 1` "Repeat One" button enabled.        |

|                                       ### Public functions                                        |
|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `java-static `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)         | `@`[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode) [getNextRepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil#getNextRepeatMode(int,int))`(` ` @`[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)` currentMode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` @`[RepeatModeUtil.RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes)` enabledModes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Gets the next repeat mode out of`enabledModes`starting from`currentMode`.                                                                                                            |
| `java-static `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [isRepeatModeEnabled](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil#isRepeatModeEnabled(int,int))`(` ` @`[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)` repeatMode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`,` ` @`[RepeatModeUtil.RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes)` enabledModes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) `)` Verifies whether a given[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)is enabled in the bitmask of[RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes). |

## Constants

### REPEAT_TOGGLE_MODE_ALL

```
const val REPEAT_TOGGLE_MODE_ALL = 2: Int
```

"Repeat All" button enabled.  

### REPEAT_TOGGLE_MODE_NONE

```
const val REPEAT_TOGGLE_MODE_NONE = 0: Int
```

All repeat mode buttons disabled.  

### REPEAT_TOGGLE_MODE_ONE

```
const val REPEAT_TOGGLE_MODE_ONE = 1: Int
```

"Repeat One" button enabled.  

## Public functions

### getNextRepeatMode

```
@Player.RepeatMode
java-static fun getNextRepeatMode(
    @Player.RepeatMode currentMode: Int,
    @RepeatModeUtil.RepeatToggleModes enabledModes: Int
): Int
```

Gets the next repeat mode out of`enabledModes`starting from`currentMode`.  

|                                                                                                                   Parameters                                                                                                                   |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)` currentMode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                     | The current[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode).                                |
| `@`[RepeatModeUtil.RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes)` enabledModes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The bitmask of enabled[RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes). |

|                                   Returns                                   |
|-----------------------------------------------------------------------------|-----------------------|
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The next repeat mode. |

### isRepeatModeEnabled

```
java-static fun isRepeatModeEnabled(
    @Player.RepeatMode repeatMode: Int,
    @RepeatModeUtil.RepeatToggleModes enabledModes: Int
): Boolean
```

Verifies whether a given[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)is enabled in the bitmask of[RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes).  

|                                                                                                                   Parameters                                                                                                                   |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)` repeatMode: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                      | The[Player.RepeatMode](https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode)to check.                                |
| `@`[RepeatModeUtil.RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes)` enabledModes: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The bitmask of enabled[RepeatToggleModes](https://developer.android.com/reference/kotlin/androidx/media3/common/util/RepeatModeUtil.RepeatToggleModes). |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | `true`if enabled. |