# PopulateStorageAction

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

*** ** * ** ***


```
class PopulateStorageAction : BackupDeviceAction
```

<br />

*** ** * ** ***

Populates test data inside the application sandbox before a backup.

Reads `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupActionInputKeys#STORAGE_TYPE()` from the incoming arguments and seeds the specified data into `https://developer.android.com/reference/android/content/SharedPreferences.html`, a Preferences DataStore, a SQLite database, or raw file storage. See `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupActionInputKeys` for the keys each storage type consumes.

Once the data is written, `https://developer.android.com/reference/android/app/backup/BackupManager.html#dataChanged()` is called so the platform knows the app has backup-eligible changes pending.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/test/backup/actions/PopulateStorageAction#PopulateStorageAction()()` |

| ### Public functions |
|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/test/backup/BackupDeviceActionResult` | `https://developer.android.com/reference/kotlin/androidx/test/backup/actions/PopulateStorageAction#execute(android.content.Context,androidx.test.backup.BackupDeviceActionArgs)(context: https://developer.android.com/reference/android/content/Context.html, args: https://developer.android.com/reference/kotlin/androidx/test/backup/BackupDeviceActionArgs)` Runs the action payload. |

## Public constructors

### PopulateStorageAction

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/test-backup#1.0.0-alpha04)

```
PopulateStorageAction()
```

## Public functions

### execute

```
open fun execute(context: Context, args: BackupDeviceActionArgs): BackupDeviceActionResult
```

Runs the action payload.

Implementations should report a recoverable problem, such as a missing argument or a failed assertion, by returning `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupDeviceActionResult#failure(kotlin.String,kotlin.collections.Map)` rather than by throwing. The host treats a thrown exception as a crash of the action and reports it with a stack trace.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | application context on the target device |
| `args: https://developer.android.com/reference/kotlin/androidx/test/backup/BackupDeviceActionArgs` | input arguments passed from the host orchestrator, keyed by `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupActionInputKeys` |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupDeviceActionResult` | result returned to the host, keyed by `https://developer.android.com/reference/kotlin/androidx/test/backup/BackupActionOutputKeys` |