# 1.18 -> 1.19

## **`DeviceService` changes**

Removed enum clas&#x73;**`DeviceService.ActivationMode`**

In DeviceService **activate()** no longer support **`activationMode`**&#x70;arameter

<pre class="language-kotlin"><code class="lang-kotlin"><strong>// SDK 1.18
</strong>DeviceService(identity).activate(DeviceService.ActivationMode.ACTIVATE) {result -> ...}

// SDK 1.19
DeviceService(identity).activate() {result -> ...}

</code></pre>

## `Trip` model changes

**`vehicleId`**&#x66;ield of type **`String?`** has been moved inside **`vehicle`** field of type **`Vehicle`**.

```kotlin
// SDK 1.18
trip.vehicleId

// SDK 1.19
trip.vehicle?.vehicleId
```

## `AppMisuse` changes

* package name changed from **`com.drivesync.android.heartbeat`** to **`com.drivesync.android.imsappmisuse`**

```kotlin
// SDK 1.18
com.drivesync.android.heartbeat

// SDK 1.19
com.drivesync.android.imsappmisuse
```

* API changes

```kotlin
// SDK 1.18
ImsHeartbeatManager.HeartbeatServerType

// enable heartbeat
ImsHeartbeatManager.enableHeartbeat(context, heartbeatServer)

// send login heartbeat
ImsHeartbeatManager.sendLoginHeartbeat(context)

// send logout heartbeat
ImsHeartbeatManager.sendLogoutHeartbeat(context)

// send userAppLaunch heartbeat
ImsHeartbeatManager.sendAppLaunchHeartbeat(context)

// disable heartbeat
ImsHeartbeatManager.disableHeartbeat(context)


// SDK 1.19
AppMisuseManager.AppMisuseServerType

// enable app misuse
AppMisuseManager.enableAppMisuse(context, heartbeatServer)

// send login event
AppMisuseManager.sendLoginEvent(context)

// send logout event
AppMisuseManager.sendLogoutEvent(context)

// send userAppLaunch event
AppMisuseManager.sendAppLaunchEvent(context)

// disable appmisuse
AppMisuseManager.disableAppMisuse(context)

```
