# WatchFaceConfigIntentHelper

Artifact: [androidx.wear:wear-remote-interactions](https://developer.android.com/jetpack/androidx/releases/wear) [View Source](https://cs.android.com/search?q=file:androidx/wear/remote/interactions/WatchFaceConfigIntentHelper.kt+class:androidx.wear.remote.interactions.WatchFaceConfigIntentHelper) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear#1.0.0)

*** ** * ** ***


```
public final class WatchFaceConfigIntentHelper
```

<br />

*** ** * ** ***

Helper functions for use by watch face configuration activities. In general, there are two distinct users:

- ones creating Intents

- ones receiving and responding to those Intents.

To register a configuration activity for a watch face, add a `<meta-data>` entry to the watch face component in its Android Manifest file with an intent action to be fired to start the activity. The following meta-data will register the `androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR` action to be started when configuring a watch face on the wearable device:

```
<meta-data
android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
android:value="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" />
```

To register a configuration activity to be started on a companion phone, add the following alternative meta-data entry to the watch face component:

```
<meta-data
android:name="com.google.android.wearable.watchface.companionConfigurationAction"
android:value="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" />
```

The activity should have an intent filter which lists the action specified in the meta-data block above, in addition to the two categories present in the following example:

```
<activity android:name=".MyWatchFaceConfigActivity">
<intent-filter>
<action android:name="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" />
<category android:name=
"com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
```

For phone side configuration activities, substitute the category `com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION` for `com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION`.

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#getPeerIdExtra(android.content.Intent)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent)` This method is for retrieving the ID of the currently connected device from the given `https://developer.android.com/reference/android/content/Intent.html`. |
| `static final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/content/ComponentName.html` | `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#getWatchFaceComponentExtra(android.content.Intent)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent)` This method is for retrieving the extended data of watch face `https://developer.android.com/reference/android/content/ComponentName.html` from the given `https://developer.android.com/reference/android/content/Intent.html`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html` | `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#putPeerIdExtra(android.content.Intent,kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html peerId)` This method is adding the ID of the currently connected device to the given `https://developer.android.com/reference/android/content/Intent.html`. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html` | `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#putWatchFaceComponentExtra(android.content.Intent,android.content.ComponentName)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/ComponentName.html componentName )` This method is for adding the extended data of watch face `https://developer.android.com/reference/android/content/ComponentName.html` to the given `https://developer.android.com/reference/android/content/Intent.html`. |

## Public methods

### getPeerIdExtra

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

```
public static final @Nullable String getPeerIdExtra(@NonNull Intent watchFaceIntent)
```

This method is for retrieving the ID of the currently connected device from the given `https://developer.android.com/reference/android/content/Intent.html`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent` | The intent holding config activity launch. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | the value of an item previously added with `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#putPeerIdExtra(android.content.Intent,kotlin.String)`, or null if no value was found. |

### getWatchFaceComponentExtra

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

```
public static final @Nullable ComponentName getWatchFaceComponentExtra(@NonNull Intent watchFaceIntent)
```

This method is for retrieving the extended data of watch face `https://developer.android.com/reference/android/content/ComponentName.html` from the given `https://developer.android.com/reference/android/content/Intent.html`. `https://developer.android.com/reference/android/content/ComponentName.html` is being used to identify the APK and the class of the watch face service.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent` | The intent holding config activity launch. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/content/ComponentName.html` | the value of an item previously added with `https://developer.android.com/reference/androidx/wear/remote/interactions/WatchFaceConfigIntentHelper#putWatchFaceComponentExtra(android.content.Intent,android.content.ComponentName)`, or null if no value was found. |

### putPeerIdExtra

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

```
public static final @NonNull Intent putPeerIdExtra(@NonNull Intent watchFaceIntent, @NonNull String peerId)
```

This method is adding the ID of the currently connected device to the given `https://developer.android.com/reference/android/content/Intent.html`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent` | The intent holding config activity launch. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html peerId` | The string representing peer ID to be added as an extra. |

### putWatchFaceComponentExtra

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

```
public static final @NonNull Intent putWatchFaceComponentExtra(
    @NonNull Intent watchFaceIntent,
    @NonNull ComponentName componentName
)
```

This method is for adding the extended data of watch face `https://developer.android.com/reference/android/content/ComponentName.html` to the given `https://developer.android.com/reference/android/content/Intent.html`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Intent.html watchFaceIntent` | The intent holding config activity launch. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/ComponentName.html componentName` | The component name of the watch face to be added as an extra. |