# 1.24 -> 1.25

\
Trip Service changes <a href="#trip-service-changes" id="trip-service-changes"></a>
-----------------------------------------------------------------------------------

* `geometry` is removed from `Trip.Expansion`. Please use `points` instead. Check [here](https://sdk.ims.tech/releases/1.25.0/android#summary) for more info on newly added expansions.

```kotlin
tripService.fetch(expansions: [.points, .vehicle], { result: Result<Content?>? ->
    if (result?.value == null || result.throwable != null) {
        // failure
    } else {
        // Success
        val content = result.value
    }
})
```

* `TripService.fetch` and `TripService.fetchAll` accepts one more parameter as `roles` to filter roles while fetching trips

```kotlin
tripService.fetch(expansions: [.points, .vehicle],  roles: [.driver], { result: Result<Content?>? ->
    if (result?.value == null || result.throwable != null) {
        // failure
    } else {
        // Success
        val content = result.value
    }
})
```

### Adding Vehicle ID to trip files <a href="#adding-vehicle-id-to-trip-files" id="adding-vehicle-id-to-trip-files"></a>

<pre class="language-kotlin"><code class="lang-kotlin"><strong>val dsDevice = DsDevice(deviceId = "mock-id", vehicleId =  "50")
</strong><strong>DsDeviceManager.associateDevice(context, dsDevice)
</strong></code></pre>

### **AccountRole Enum Expanded:**

* Two new cases have been added to the AccountRole enum:
* namedDriver (for the "`NAMED_DRIVER`" role)
* nonDrivingOwner (for the "`NON_DRIVING_OWNER`" role)
* If you use AccountRole in switch statements, you must handle the new cases (`NAMED_DRIVER` and `NON_DRIVING_OWNER`) to avoid compiler errors or unexpected behavior.

### DsDevice Changes:

* The DsDevice's batteryLevel property type is changed from Float to Int
  * `var batteryLevel: Int?`
