Google is committed to advancing racial equity for Black communities. See how.

WearableButtonsProvider

public interface WearableButtonsProvider

androidx.wear.input.WearableButtonsProvider


A provider interface to allow WearableButtons to query for information on the device's buttons from the platform. This exists to allow for the button provider to be switched out for testing, for example, by using androidx.wear.input.testing.TestWearableButtonsProvider.

Summary

Public methods

abstract int[] getAvailableButtonKeyCodes(Context context)

Get the keycodes of available hardware buttons on device.

abstract Bundle getButtonInfo(Context context, int keycode)

Returns a bundle containing the metadata of a specific button.

Public methods

getAvailableButtonKeyCodes

public abstract int[] getAvailableButtonKeyCodes (Context context)

Get the keycodes of available hardware buttons on device. This function based on key's locations from system property. This count includes the primary stem key as well as any secondary stem keys available.

Parameters
context Context: The context of the current activity

Returns
int[] An int array of available button keycodes, or null if no keycodes could be read.

getButtonInfo

public abstract Bundle getButtonInfo (Context context, 
                int keycode)

Returns a bundle containing the metadata of a specific button. Currently, only location is supported. Use with WearableInputDevice.X_KEY and WearableInputDevice.Y_KEY. The key will not be present if the information is not available for the requested keycode.

The location returned is a Cartesian coordinate where the bottom left corner of the screen is the origin. The unit of measurement is in pixels. The coordinates do not take rotation into account and assume that the device is in the standard upright position.

Parameters
context Context: The context of the current activity

keycode int: The keycode associated with the hardware button of interest

Returns
Bundle A Bundle containing the metadata for the given keycode