# SplitPairRule

Artifact: [androidx.window:window](https://developer.android.com/jetpack/androidx/releases/window) [View Source](https://cs.android.com/search?q=file:androidx/window/embedding/SplitPairRule.kt+class:androidx.window.embedding.SplitPairRule) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/window#1.0.0)

*** ** * ** ***

<br />

```
public final class SplitPairRule extends SplitRule
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [androidx.window.embedding.EmbeddingRule](https://developer.android.com/reference/androidx/window/embedding/EmbeddingRule) |||
|   | ↳ | [androidx.window.embedding.SplitRule](https://developer.android.com/reference/androidx/window/embedding/SplitRule) ||
|   |   | ↳ | [androidx.window.embedding.SplitPairRule](https://developer.android.com/reference/androidx/window/embedding/SplitPairRule) |

*** ** * ** ***

Split configuration rules for activity pairs. Define when activities that were launched on top should be placed adjacent to the one below, and the visual properties of such splits. Can be set either by `https://developer.android.com/reference/androidx/window/embedding/RuleController#setRules(kotlin.collections.Set)` or `https://developer.android.com/reference/androidx/window/embedding/RuleController#addRule(androidx.window.embedding.EmbeddingRule)`. The rules are always applied only to activities that will be started from the activity fills the whole parent task container or activity in the primary split after the rules were set.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/window/embedding/SplitPairRule.Builder` Builder for `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule`. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `final boolean` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#getClearTop()()` If there is an existing split with the same primary container, indicates whether the existing secondary container on top and all activities in it should be destroyed when a new split is created using this rule. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/SplitPairFilter>` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#getFilters()()` Filters used to choose when to apply this rule. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#getFinishPrimaryWithSecondary()()` Determines what happens with the primary container when all activities are finished in the associated secondary container. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#getFinishSecondaryWithPrimary()()` Determines what happens with the secondary container when all activities are finished in the associated primary container. |
| `int` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#hashCode()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/window/embedding/SplitPairRule#toString()()` |

### Inherited methods

From [androidx.window.embedding.EmbeddingRule](https://developer.android.com/reference/androidx/window/embedding/EmbeddingRule) `final https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/androidx/window/embedding/EmbeddingRule#getTag()()`

A unique string to identify this `https://developer.android.com/reference/androidx/window/embedding/EmbeddingRule`, which defaults to `null`.
From [androidx.window.embedding.SplitRule](https://developer.android.com/reference/androidx/window/embedding/SplitRule) `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/SplitAttributes` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getDefaultSplitAttributes()()`

The default `https://developer.android.com/reference/androidx/window/embedding/SplitAttributes` to apply on the activity containers pair when the host task bounds satisfy `https://developer.android.com/reference/androidx/window/embedding/SplitRule#(kotlin.String,kotlin.Int,kotlin.Int,kotlin.Int,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.SplitAttributes)`, `https://developer.android.com/reference/androidx/window/embedding/SplitRule#(kotlin.String,kotlin.Int,kotlin.Int,kotlin.Int,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.SplitAttributes)`, `https://developer.android.com/reference/androidx/window/embedding/SplitRule#(kotlin.String,kotlin.Int,kotlin.Int,kotlin.Int,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.SplitAttributes)`, `https://developer.android.com/reference/androidx/window/embedding/SplitRule#(kotlin.String,kotlin.Int,kotlin.Int,kotlin.Int,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.SplitAttributes)` and `https://developer.android.com/reference/androidx/window/embedding/SplitRule#(kotlin.String,kotlin.Int,kotlin.Int,kotlin.Int,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.EmbeddingAspectRatio,androidx.window.embedding.SplitAttributes)` requirements.
`final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/EmbeddingAspectRatio` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getMaxAspectRatioInLandscape()()`

The largest value of the aspect ratio, expressed as `width / height` in decimal form, of the parent window bounds in landscape when the split should be used.
`final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/window/embedding/EmbeddingAspectRatio` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getMaxAspectRatioInPortrait()()`

The largest value of the aspect ratio, expressed as `height / width` in decimal form, of the parent window bounds in portrait when the split should be used.
`final int` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getMinHeightDp()()`

The smallest value of height of the parent task window when the split should be used, in DP.
`final int` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getMinSmallestWidthDp()()`

The smallest value of the smallest possible width of the parent task window in any rotation when the split should be used, in DP.
`final int` `https://developer.android.com/reference/androidx/window/embedding/SplitRule#getMinWidthDp()()`

The smallest value of width of the parent task window when the split should be used, in DP.

## Public methods

### equals

```
public boolean equals(Object other)
```

### getClearTop

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/window#1.0.0)

```
public final boolean getClearTop()
```

If there is an existing split with the same primary container, indicates whether the existing secondary container on top and all activities in it should be destroyed when a new split is created using this rule. Otherwise the new secondary will appear on top by default.

### getFilters

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/window#1.0.0)

```
public final @NonNull Set<@NonNull SplitPairFilter> getFilters()
```

Filters used to choose when to apply this rule. The rule may be used if any one of the provided filters matches.

### getFinishPrimaryWithSecondary

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/window#1.0.0)

```
public final @NonNull SplitRule.FinishBehavior getFinishPrimaryWithSecondary()
```

Determines what happens with the primary container when all activities are finished in the associated secondary container.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#NEVER()` |   |
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#ALWAYS()` |   |
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#ADJACENT()` |   |

### getFinishSecondaryWithPrimary

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/window#1.0.0)

```
public final @NonNull SplitRule.FinishBehavior getFinishSecondaryWithPrimary()
```

Determines what happens with the secondary container when all activities are finished in the associated primary container.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#NEVER()` |   |
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#ALWAYS()` |   |
| `https://developer.android.com/reference/androidx/window/embedding/SplitRule.FinishBehavior#ADJACENT()` |   |

### hashCode

```
public int hashCode()
```

### toString

```
public @NonNull String toString()
```