API reference

MockDeviceKit Class

Modifiers: final
Main entry point for managing simulated Meta Wearables devices.
Use MockDeviceKit in testing and development scenarios to simulate real hardware behavior without requiring physical devices. The kit integrates with the Wearables SDK through ACDC fake implementations, making simulated devices appear as real devices to your application.
Example:
// Get the singleton instance and enable mock environment
val mockKit = MockDeviceKit.getInstance(context)
mockKit.enable()
// Create and configure a mock device
mockKit.pairGlasses(GlassesModel.RAYBAN_META).fold(
    onSuccess = { glasses ->
        glasses.powerOn()
        glasses.unfold()
        glasses.services.camera.setCameraFeed(testVideoUri)
    },
    onFailure = { error, _ -> throw IllegalStateException("$error") },
)
// Device is now available via Wearables.devices
val session = Wearables.startStreamSession(context, AutoDeviceSelector())
// Clean up after tests
mockKit.disable()

See Also

Signature

class MockDeviceKit : MockDeviceKitInterface

Properties

isEnabled : Boolean
[Get]
Whether MockDeviceKit is currently enabled with fake implementations attached.
Signature
open override var isEnabled: Boolean
pairedDevices : Collection
[Get]
List of currently paired mock devices.
Signature
open override val pairedDevices: Collection<MockDevice>
permissions : MockPermissions
[Get]
Controls mock permission behavior for Wearables.checkPermissionStatus and Wearables.RequestPermissionContract.
Signature
open override val permissions: MockPermissions

Methods

disable ()
Disable MockDeviceKit. Detaches fake implementations, unpairs all mock devices, and restores real registration and device connectivity stack.
Signature
open override fun disable()
enable ( config )
Enable MockDeviceKit. Attaches fake implementations for registration and device connectivity.
By default, Wearables.registrationState will transition to RegistrationState.Registered. Pass MockDeviceKitConfig with MockDeviceKitConfig.initiallyRegistered set to false to start in an unregistered state instead.
Safe to call regardless of whether Wearables.initialize has been called — MockDeviceKit will auto-initialize Wearables if needed.
Signature
open override fun enable(config: MockDeviceKitConfig)
Parameters
config: MockDeviceKitConfig  Configuration controlling initial mock behavior. Defaults to registered start.
pairGlasses ( model )
Pairs a simulated glasses device of the given model.
Signature
open override fun pairGlasses(model: GlassesModel): DatResult<MockGlasses, MockDeviceKitError>
Parameters
model: GlassesModel  The glasses model to simulate
Returns
DatResult DatResult containing the paired MockGlasses, or MockDeviceKitError.NotEnabled if MockDeviceKit has not been enabled
unpairDevice ( device )
Unpairs and removes a simulated device from the mock environment.
Signature
open override fun unpairDevice(device: MockDevice)
Parameters
device: MockDevice  The mock device to unpair

Companion Object

Methods

getInstance ( context )
Returns a singleton instance of MockDeviceKit.
Call MockDeviceKit.enable after obtaining the instance to attach fake implementations and transition to the registered state.
Signature
fun getInstance(context: Context): MockDeviceKitInterface
Parameters
context: Context  The Android context used for initialization
Returns
MockDeviceKitInterface  MockDeviceKit singleton instance