Skip to main content

Make the first API call

How to use Vehicle API

The Vehicle API can be used in three ways as shown below.

Please check the example code for each type.

Get Property API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

val door = vehicle.getDoor()
door.getCurrentDoorPosition(
area = DoorArea(DoorValue.ROW_1_LEFT),
onComplete = { pos: Int? ->
// do something
},
onFailed = { e: Exception ->
// do something
}
)

val display = vehicle.getDisplay()
display.getCurrentTemperatureDisplayUnit(
onComplete = { unit: TemperatureUnit? ->
// do something
},
onFailed = { e: Exception ->
// do something
}
)

// End Vehicle
vehicle.release()

Set Property API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

val door = vehicle.getDoor()
door.setDoorPosition(
area = DoorArea(DoorValue.ROW_1_LEFT),
value = 1, // Integer type
onFailed = { e: Exception ->
// do something
}
)

// End Vehicle
vehicle.release()

Callback API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

// Create callback listener
val callbackListener = object : DoorPositionListener {
override fun onPositionUpdated(pos: Int?) {
// do something
}

override fun onFailed(e: Exception) {
// do something
}
}

val door = vehicle.getDoor()

// register callback
door.registerDoorPosition(
doorPositionListener = callbackListener
)
// unregister callback
door.unregisterDoorPosition(
doorPositionListener = callbackListener
)

// End Vehicle
vehicle.release()

API scenario example

To develop an app that monitors vehicle door positions, implement the following scenarios.

1. Initialize

After creating the Vehicle object, call the vehicle.initialize function to initialize the SDK.

val vehicle = Vehicle(context)
vehicle.initialize()

2. Obtain Door API object

To use the Door API, create a Vehicle object and then call the vehicle.getDoor function to obtain the Door object.

val door = vehicle.getDoor()

3. Set area

Create a DoorArea object and set the DoorValue. The following is an example code that sets the HOOD area.

val area = DoorArea(DoorValue.HOOD)

4. Register Door event callback

Implement the DoorPositionListener, then call the registerDoorPosition function to register the event callback.

val listener = object : DoorPositionListener {
override fun onFailed(e: Exception) {
// do something.
}

override fun onPositionUpdated(pos: Int?) {
// do something.
}
}
door.registerDoorPosition(area, listener)

5. Handle Door events

Check the vehicle door position values when the onPositionUpdated event occurs.

6. Unregister Door event callback

Before exiting the app, call the unregisterDoorPosition function to unsubscribe the registered event callback.

door.unregisterDoorPosition(area, listener)

7. Release SDK resources

Call the vehicle.release function to release the resources used by the SDK.

vehicle.release()