diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f330b1f0..5f1a3e9b 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -80,6 +80,7 @@ wearComposeMaterial3 = "1.5.3"
wearOngoing = "1.1.0"
wearToolingPreview = "1.0.0"
webkit = "1.14.0"
+wearInput = "1.2.0"
[libraries]
accompanist-adaptive = "com.google.accompanist:accompanist-adaptive:0.37.3"
@@ -198,6 +199,7 @@ play-services-wearable = { module = "com.google.android.gms:play-services-wearab
validator-push = { module = "com.google.android.wearable.watchface.validator:validator-push", version.ref = "validatorPush" }
wear-compose-material = { module = "androidx.wear.compose:compose-material", version.ref = "wearComposeMaterial" }
wear-compose-material3 = { module = "androidx.wear.compose:compose-material3", version.ref = "wearComposeMaterial3" }
+androidx-wear-input = { group = "androidx.wear", name = "wear-input", version.ref = "wearInput" }
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
diff --git a/wear/build.gradle.kts b/wear/build.gradle.kts
index 4c3c9405..68d64d8d 100644
--- a/wear/build.gradle.kts
+++ b/wear/build.gradle.kts
@@ -55,6 +55,7 @@ dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.media3.exoplayer)
implementation(libs.androidx.media3.ui)
+ implementation(libs.androidx.wear.input)
val composeBom = platform(libs.androidx.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)
diff --git a/wear/src/main/AndroidManifest.xml b/wear/src/main/AndroidManifest.xml
index abde2c71..9fd910e5 100644
--- a/wear/src/main/AndroidManifest.xml
+++ b/wear/src/main/AndroidManifest.xml
@@ -41,6 +41,17 @@
android:name="com.google.android.wearable.standalone"
android:value="true" />
+
+
+
+
+
+
+
{
+ Log.d(TAG, "KEYCODE_STEM_1 pressed")
+ true
+ }
+ KeyEvent.KEYCODE_STEM_2 -> {
+ Log.d(TAG, "KEYCODE_STEM_2 pressed")
+ true
+ }
+ else -> {
+ super.onKeyDown(keyCode, event)
+ }
+ }
+ } else {
+ super.onKeyDown(keyCode, event)
+ }
+ }
+ // [END android_wear_hardware_buttons_events]
+
+ fun hardwareButtonsCount(context: Context, activity: Activity) {
+ // [START android_wear_hardware_buttons_count]
+ val count = WearableButtons.getButtonCount(context)
+
+ if (count > 1) {
+ Log.d(TAG, "More than one button available")
+ }
+
+ val buttonInfo = WearableButtons.getButtonInfo(
+ activity,
+ KeyEvent.KEYCODE_STEM_1
+ )
+
+ if (buttonInfo == null) {
+ // KEYCODE_STEM_1 is unavailable
+ Log.d(TAG, "KEYCODE_STEM_1 not available")
+ } else {
+ // KEYCODE_STEM_1 is present on the device
+ Log.d(TAG, "KEYCODE_STEM_1 is present on the device")
+ }
+ // [END android_wear_hardware_buttons_count]
+ }
+}
+private const val TAG = "HardwareButtons"