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"