# BackupTransportMode

Artifact: [androidx.test.backup:backup-host](https://developer.android.com/jetpack/androidx/releases/test-backup) [View Source](https://cs.android.com/search?q=file:androidx/test/backup/host/BackupTransportMode.kt+class:androidx.test.backup.host.BackupTransportMode) Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/test-backup#1.0.0-alpha04)

*** ** * ** ***


```
public final class BackupTransportMode
```

<br />

*** ** * ** ***

Represents the platform-transport emulation mode utilized during the backup and restore phases.

This class is designed to be non-exhaustive to allow future transport types to be introduced in a binary-compatible manner. Standard pattern-matching `when` expressions on this type must use an explicit `else` fallback branch.

## Summary

| ### Public fields |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#CLOUD_ENCRYPTED()` Simulates a cloud-based backup utilizing secure client-side end-to-end encryption. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#CLOUD_UNENCRYPTED()` Simulates standard cloud-based backup without client-side encryption bounds. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#DEVICE_TO_DEVICE()` Simulates a physical peer-to-device direct migration (e.g. transfer via USB/Wi-Fi Direct). |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#LOCAL()` Performs a local, low-latency offline filesystem transport backup. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#equals(kotlin.Any)(https://developer.android.com/reference/java/lang/Object.html other)` |
| `int` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#hashCode()()` |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/test/backup/host/BackupTransportMode#toString()()` |

## Public fields

### CLOUD_ENCRYPTED

```
public static final @NonNull BackupTransportMode CLOUD_ENCRYPTED
```

Simulates a cloud-based backup utilizing secure client-side end-to-end encryption.

### CLOUD_UNENCRYPTED

```
public static final @NonNull BackupTransportMode CLOUD_UNENCRYPTED
```

Simulates standard cloud-based backup without client-side encryption bounds.

### DEVICE_TO_DEVICE

```
public static final @NonNull BackupTransportMode DEVICE_TO_DEVICE
```

Simulates a physical peer-to-device direct migration (e.g. transfer via USB/Wi-Fi Direct).

### LOCAL

```
public static final @NonNull BackupTransportMode LOCAL
```

Performs a local, low-latency offline filesystem transport backup.

The backup data stays in the local backup transport of the device. The archive that `https://developer.android.com/reference/androidx/test/backup/host/BackupRestoreController#performBackup(androidx.test.backup.host.BackupTransportMode,java.nio.file.Path,java.time.Duration)` returns only marks the backup, so only the same device can restore it. The archive names the device by its ADB serial number, which can change between runs, for example when an emulator starts on another port.

## Public methods

### equals

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

### hashCode

```
public int hashCode()
```

### toString

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