Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.4.0] - [7.1.24.46.2F7651F2] - 2024-11-14

Fixed

  • Fix regarding SDK log size

  • Fixes regarding PositionData: ImprovedPositionData, AccelearationData, RotationData, CameraData objects construction on ARM32 devices

Changed

  • Replaced default GPS arrow

  • Improved navigation on a GPX route

[1.3.0] - [7.1.24.43.11923D7B] - 2024-10-25

Added

  • Added MapView.startTrackPositions(), MapView.getTrackedPositions(), MapView.isTrackedPositions() and MapView.stopTrackPositions() methods

Changed

  • Bug fixing and improvements

[1.2.2] - [7.1.24.39.F5DE2589] - 2024-09-25

Changed

  • Update consumer proguard file of the SDK

[1.2.1] - [7.1.24.37.74598F2D] - 2024-09-10

Added

  • Added a consumer proguard file to the SDK. In this case the optimisation will apply when minify with R8 is enabled in client app’s build settings

[1.2.0] - [7.1.24.35.050EFEB7] - 2024-08-29

Added

  • New ways to construct CircleGeographicArea and Marker objects

Changed

  • Refactor Weather class

[1.1.0] - [7.1.24.34.A27F8A0A] - 2024-08-20

Added

  • Added MarkerCollectionRenderSettings.setCustomMarkerSettings() method

  • Traffic.addPersistentRoadblock() received event ID parameter. Now can add a persistent roadblock using a geographic area

  • Added Traffic.removePersistentRoadblock(id: String) method

Fixed

  • Fixed PermissionsHelper.notifyOnPermissionsStatusChanged() call (it did nothing in previous release)

Changed

  • Optimizations regarding map rendering & touch events handling

[1.0.2] - [7.1.24.30.FB70C514] - 2024-07-24

Added

  • Magic Lane provides the Maps SDK for Android also via Maven. Find more information about how to do this at Maps SDK Android Kotlin Maven Package Registry Wiki

  • Added GemSdk.generateGPSLog() method

  • Added MapView.displaySimplifiedRoute, MapView.displaySimplifiedRouteTurn

  • Added LandmarkStoreService.mapCitiesLandmarkStoreId property, GemUtil.getFormattedWaypointName method

  • Added save(), load(), sketches(), isSketches() methods to MapViewMarkerCollections class. Added MarkerSketches class

  • Added MarkerCollectionRenderSettings.setCustomMarkerSettings() method

  • Provided error codes on LandmarkStore’s add, remove, update operations

Fixed

  • Fix regarding the provided error message for a caught exception

  • Fixed GemUtil.pairFormatLandmarkDetails output for situations in which the input landmark is a city / settlement

  • Fixes regarding missing MapViewListener.onReady() notification, onDefaultMapViewCreated() notification for GemOffscreenSurfaceView, SearchService.searchByFilter() reference point

  • Fixed crash related to GemOffscreenSurfaceView.destroy() call

[7.1.24.20.8B92211B] - 2024-05-15

Fixed

  • Fix related to route simulation

[7.1.24.19.64184A80] - 2024-05-09

Added

  • Added DataBuffer.defalte(), DataBuffer.inflate() methods

  • Added MapView.addRouteGeometry, MapView.removeRouteGeometry(), MapView.addNavigationInstructionGeometry(), MapView.removeNavigationInstructionGeometry(), MapView.removeAllMarkers() methods

  • Added NavigationInstruction.exportAs() method

  • Added RoutePreferences.setBuildConnections(), RoutePreferences.getBuildConnections(), RoutePreferences.getBuildConnectionsMaxLength() methods

Changed

  • RoutePreferences.setEmergencyVehicleMode(value: Boolean, extraFreedom: EEmergencyExtraFreedomLevels) became RoutePreferences.setEmergencyVehicleMode(value: Boolean, extraFreedom: Int = 0)

[7.1.24.16.F295FF8E] - 2024-04-16

Added

  • Added ShowUserImage to ERouteRenderOptions enum

  • Added MapView.getClosestAddress() method

Fixed

  • Fixed regarding reported network connection type

  • Fixed crash inside GemUtil.getDistText() method

[7.1.24.6.9D80705D] - 2024-02-09

Added

  • Added NavigationService.getTurnId32(turnDetails) and NavigationService.getTurnId64(turnDetails)

Fixed

  • Fixed reported crash regarding GPS map matching

[7.1.24.3.AC9A0B85] - 2024-01-18

Added

  • Added support for EV routing

  • Added MapSceneObject.saveState(), MapSceneObject.restoreState() methods

  • Added DataBuffer.fromStr(), DataBuffer.toStr() methods

  • Added FollowPositionPreferences.touchHandlerModifyPersistent property

  • Added support for reading map styles from assets

  • Added MapViewPreferences.mapLabelsFading property

  • Added EVCarModel class, RoutingService.evCarModels property

Fixed

  • Fixed regarding SDK reinitialization

  • Fixed error regarding sound playing notifications (did not receive any notification on the provided sound playing listener)

  • Fixed crash regarding Pair<Double, Double>, Pair<Int, Int> data types usage

Changed

  • Changed min SDK level from 19 from 21

  • PersistentRoadblockListener.onRoadblockExpired(eventId: Int) became PersistentRoadblockListener.onRoadblocksExpired(list: TrafficEventList), PersistentRoadblockListener.onRoadblockActivated(eventId: Int) became PersistentRoadblockListener.onRoadblocksActivated(list: TrafficEventList)

[7.1.23.41.63AB0887] - 2023-10-13

Added

  • Added RouteRenderSettings.lineType property

  • Added GPXThumbnailImage example

  • Added routeRenderSettings parameter to MapView.presentRoute()

Removed

  • Removed zoomLevel parameter from MapView.presentRoute() and MapView.presentRoutes()

[7.1.23.41.CD21BBB5] - 2023-10-11

Added

  • Added GemOffscreenSurfaceView class (for rendering the map inside an offscreen view)

  • Added onStatusChanged lambda to RoutingService (this is the only way in which user can be notified about “Waiting Internet Connection” state)

Fixed

  • Fixed memory leaks. Fixed SDK reinitialization

  • Fixed crash regarding RoutingService.calculateRoute() usage

Removed

  • Removed RoutePreferences.svSortingStrategy

[7.1.23.40.3E31A25A] - 2023-10-04

Changed

  • Bug fixing and improvements.

[7.1.23.34.BD3E9DF4] - 2023-08-22

Added

  • Added RoutePreferences.departureHeading, RoutePreferences.setDepartureHeading(head, accuracy), RouteInstruction.hasRoadInfo, RouteInstruction.roadInfo, RouteInstruction.roadInfoImage

  • Added Hydrants, EmergencyServicesSupport and CivilEmergencyInfrastructure to EGenericCategoriesIDs enum

Changed

  • Documented RoutePreferences.setBuildTerrainProfile()

[7.1.23.33.8BAF5E3B] - 2023-08-18

Changed

  • Bug fixing and improvements.

[7.1.23.29.6D0B6AFC] - 2023-07-22

Added

  • Added GLCall object (to be used for posting calls on GL thread)

Fixed

  • Fixed reported crash regarding markers display

[7.1.23.24.F818CE1B] - 2023-06-14

Changed

  • Bug fixing and improvements.

[7.1.23.21.0B8B1AC2] - 2023-05-25

Changed

  • Bug fixing and improvements.

[7.1.23.20.D1E234B6] - 2023-05-18

Added

  • Added GemUtilImages.setDpi(dpi: Int) method

  • Added RouteSimulationWithoutMap example

Changed

  • MagicADASListener.onVehicleData(timestamp: Long, headway: Float, distance: Float) became MagicADASListener.onVehicleData(timestamp: Long, vehicle: Obstacle)

Fixed

  • Fixed crash inside SetTTSLanguage example

[7.1.23.14.BF4263FC] - 2023-03-30

Added

  • Added RoutePreferences.setEmergencyVehicleMode(Boolean, EEmergencyExtraFreedomLevels) method

  • Added MapViewPreferences.setViewAngle(value: Int, animated: Boolean = false) method

  • Added center parameter to CanvasListener.onPinch() method

Removed

  • Removed CanvasListener.onRotate() method

[7.1.23.13.68D7B4E1] - 2023-03-30

Added

  • Added FollowPositionPreferences.setViewAngle(angle, animated) method

  • Added Inertial to PositionData.EFixQuality enum (this fixes reported crash regarding PositionData.fixQuality usage)

[7.1.23.13.00B7E257] - 2023-03-28

Fixed

  • Fixed issue regarding global reference table overflow

[7.1.23.12.9D4F3B36] - 2023-03-21

Added

  • Added ExternalBattery, ExternalCompass, ExternalAcceleration, ExternalTemperature, ExternalMagneticField, ExternalOrientation, ExternalAttitude, ExternalActivity, ExternalCamera (to be used to push data from corresponding sensors to an external data source)

  • Added RoadSafetyAlerts.createSensorDataLogger(), RoadSafetyAlerts.saveSensorDataLog() methods

  • Added allowOnline parameter to GemSdk.initSdkWithDefaults() method

Changed

  • Renamed SenseDataSource.getLastData() to SenseDataSource.getLatestData()

  • Renamed package aidashcam to adas

  • Moved Recorder from package sensordatasource to new dashcam package

  • Renamed RoadSafetyAlerts to MagicADAS, RoadSafetyAlertsListener to MagicADASListener

Removed

  • Removed SenseDataSource.getFirstData()

[7.1.23.5.0AA862C4] - 2023-02-01

Changed

  • Bug fixing & improvements.

[7.1.23.4.8D1F18B9] - 2023-01-25

Added

  • Format landmark details methods to GemUtil

  • New postLambdasOnMain parameter to GemSurfaceView constructor

  • Support for saving / restoring map state inside surface view, for situations in which surface is recreated

  • New onMapAngleUpdated API method to MapViewListener class

Changed

  • Fix regarding free text search

  • Fix postal code search via address search service

Removed

  • MapView.onTouchRotate() method

[7.1.23.2.F5465C47] - 2023-01-11

Added

  • New viewAngle parameter for MapView.centerOnRouteInstruction(), MapView.centerOnRouteTrafficEvent() methods

  • New initial parameter for MapView.shove() method

Changed

  • Refactored AI Dash Cam CalibrationConfiguration class (some members dissapeared, others have been renamed)

  • Fixed crash regarding Coordinates object usage

  • Fixed crash regarding overlay items handling

  • Fixed crash regarding SDK objects list usage

Removed

  • MapView.onTouchShove() method

[7.1.22.46.8999C03E] - 2022-11-14

Changed

  • Bug fixing & improvements.

[7.1.22.44.2B4D1305] - 2022-11-01

Changed

  • Bug fixing & improvements.

[7.1.22.41.6B0D8D54] - 2022-10-10

Changed

  • Bug fixing & improvements.

[7.1.22.39.4A2FB489] - 2022-09-27

Added

  • SDK log is written to a private file (which can be sent to GM, if something wrong is happening)

  • Added onInitSdk lambda to GemSurfaceView class that allows user to perform a custom SDK initialization (see above)

  • Added sdkToken attribute to GemSurfaceView class (the user can now specify SDK token inside layout xml, as an attribute of GemSurfaceView element)

  • Added SendDebugInfo, SpeedTTSWarning, BLEServer, BLEClient examples

Changed

  • Used Context.getExternalFilesDirs("") output for default app internal / external paths. If the user wants to keep previous default paths, a custom SDK initialization should be done:

gemSurfaceView.onInitSdk = { sdkToken ->
val internalPath = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
{
    dataDir.absolutePath
}
else
{
    filesDir.absolutePath
}

GemSdk.initSdkWithDefaults(this, sdkToken, null, internalPath, getExternalFilesDir("")?.absolutePath)
}
  • PositionService is now an object. Fixed DriverBehavior and VoiceInstrRouteSimulation examples

  • Fixed crash regarding search operation

  • Improved Favourites example behavior

  • Fixed turn appearance inside RouteSimulationWithInstructions example

  • Refactored LocationWikipedia, MapGestures, MapPerspectiveChange, MultipleSurfacesInFragment, MultipleSurfacesInFragmentRecycler examples

[7.1.22.31.A096D237] - 2022-08-04

Added

  • Bug fixes and improvements

  • Add new SDK examples: RangeFinder, SetTTSLanguage

[7.1.22.26.D501C72F] - 2022-06-30

Added

  • Enum: EMarkerLabelingMode, ETouchGestures, ETrafficAvoidance

  • Member: MapViewPreferences.trafficVisibility

    ERouteRenderOptions.ShowHighlights

    MarkerCollectionRenderSettings: labelingMode, labelTextColor, labelTextSize, labelGroupTextColor, labelGroupTextSize, imageSize

    TruckProfile.maxSpeed

  • Methods: MapViewPreferences: enableTouchGestures, isTouchGestureEnabled

Changed

PathCollection had been renamed to MapViewPathCollection

SdkSettings.setAllowMapUpdate renamed to setAllowAutoMapUpdate

MarkerCollection.name is var now.

MapViewPreferences.paths returns MapViewPathCollection now.

RoutePreferences.avoidTraffic is now ETrafficAvoidance instead of Boolean.

Removed

MarkerCollectionRenderSettings.pointsTextSize

MapCamera: getTopographyAltitudeMeters, setCameraPositionAboveTopography, setCameraBoundingBoxCentered

[7.1.22.18.90A12C26] - 2022-05-04

Added

  • Class: ObjectLaneDetector, ObjectLaneDetectorOutput, MapViewRoutesCollection, RouteRenderSettings, MapViewRoute

  • Enum: ERouteRenderOptions

  • Enum Value: EFrameFit.ZoomFill

    EEngineType.ImageProcessing

    EExecutionType.CPU_GPU

  • Method: MapScene.getDefScene

    Path.getCoordinatesAtPercent

    SettingsService.flush

    NavigationListener.onTraveledRouteTrackTrimmed

    PositionData.produceMockPosition

    Datasource: isMockData, setMockData

    MapViewListener: onCursorSelectionUpdatedPath, onCursorSelectionUpdatedMapSceneObject

    MapView: scroll, fling

    MapCamera: setCameraBoundingBoxCentered, setCameraRelativeToTarget, generatePositionAndOrientationRelativeToTarget, setCameraRelativeToCenteredTarget, generatePositionAndOrientationRelativeToCenteredTarget, setCameraTargetCentered, generatePositionAndOrientationTargetCentered, setCameraOrientation, setCameraPositionAboveTopography, getTopographyAltitudeMeters, setCameraPosition, generatePositionAndOrientationWithHeading, generatePositionAndOrientation

    Recorder.isAudioRecording

    Rgba.isLight

  • Method params: SenseDataSource.addListener added preferences as optional

    GemSdk.initSdkWithDefaults added: timer, internalPath, externalPath, language, languageTts, savePolicy, listener, appVariant, useApiExceptions, logger, breakpadCallback

    pos to MapSceneObject.produce

  • Members: MapView.cursorSelectionSceneObject

    MapSceneObject.scaleFactor, MapSceneObject.maxScaleFactor, NavigationInstruction.routeTrack

    SdkSettings.isMapDataReady, CameraConfiguration.rotation, Rgba.luma

    MapScene: scaleFactor, maxScaleFactor

    CameraData.orientation

Changed

Default save policy had been changed to UseBothPreferInternal instead of UseBothPreferExternal

CanvasBufferRenderer.updateImage’s orientation input type is now EOrientationType

CameraData.rotation had been renamed to orientation with data type : EOrientationType

OffboardListener related EStatus, EReason had been renamed to EOffboardListenerStatus, EOffboardListenerReason

NativeRefObj renamed to GemNativeObj

SdkList renamed to GemList

SdkLog renamed to GemLog

UtilGemImages renamed to GemUtilImages

SdkHandler renamed to GemSdkHandler

SdkUtil renamed to GemUtil

SdkMap renamed to GemMap

SdkCall renamed to GemCall

MapViewPreferences.routes will now return MapViewRoutesCollection

MarkerCollectionDisplaySettings renamed to MarkerCollectionRenderSettings

OverlayDisplaySettings renamed to OverlayRenderSettings

Renamed SenseDataSource.get/setConfiguration to get/setPreferences.

Renamed ConfigKey to ESConfigKey

Renamed ESConfigKey.key* to ESConfigKey.*

Refactored EFrameFit’s values.

Removed

ECameraStateExtraData

MapCamera: restoreCameraState/saveCameraState’s extraData param

CanvasBufferRenderer.updateCameraData’s rotation input param

ENavigationStatus.WaitingData

RoutesCollection: getLabel, setLabel, getImages, setImages, hideLabel

RoutesCollection.add input param : label, image

CameraData.rotation

[7.1.22.8.567F8EF8] - 2022-02-21

Added

  • Enum: EFollowPositionMapRotationMode

    ERouteType

    EWheelchairAccessible

    EBikesAllowed

  • Enum member: ESdkCapabilities: Timezone, Sound, Projection

    EHighlightOptions.Bubble

  • Class member: FollowPositionPreferences.mapRotationMode

    IOpenGLContext.textureScaleFactor

    FollowPositionPreferences.accuracyCircleVisible

  • Method: FollowPositionPreferences: setMapRotationMode, isTrackObjectFollowingMapRotation

    OverlayItem: getPreviewData, hasPreviewExtendedData, getPreviewExtendedData, cancelGetPreviewExtendedData, RouteTrafficEvent

    TrafficEvent: getPreviewData, cancelGetPreviewData

  • Method param: startStamp: Time to LogUploaderListener.onLogStatusChanged

    albumName: String to RecorderBookmarks.exportLog

Changed

Renamed RecorderConfiguration.diskSpaceLimit to diskSpaceLimitMb

Renamed SensorDelay to ESensorDelay

Renamed StringIds to EStringIds

Replaced IOpenGLContext.fontScaleFactor with IOpenGLContext.fontModifiers

Removed

  • Class member: MapServiceExtensions.gpsAccuracyCircleEnabled

  • Method: MapViewPreferences.toggle2DWithAltitude

Fixed

  • TTS not playing while navigating.

[7.1.22.6.6BACA322] - 2022-02-08

Added

  • Class: SceneObjectData

  • Methods: MapView.getHighlightArea

    MapView.getOptimalHighlightCenterViewport

  • Enum values to ESdkCapabilities: Content, Dashcam, Weather, Vrp, Sense, Places.

Changed

LandmarkStoreService.createLandmarkStore return type to Pair<LandmarkStore?, ErrorCode>

EExtendedDataType is deprecated now. EExtendedDataType renamed to EPreviewDataType

MapViewPreferences.getMapViewPerspective is used as member MapViewPreferences.mapViewPerspective

MapViewPreferences.getViewAngle is used as member MapViewPreferences.viewAngle

MapViewPreferences.getTiltAngle is used as member MapViewPreferences.tiltAngle

MapViewPreferences.followPositionWithRoutePreferences renamed to followPositionPreferences

  • Moved followings from MapViewPreferences to FollowPositionPreferences: followPositionCameraFocus, setFollowPositionTouchHandlerModifyLimits, getFollowPositionTouchHandlerExitAllow, getFollowPositionTouchHandlerModifyHorizontalAngleLimits, getFollowPositionTouchHandlerModifyVerticalAngleLimits, getFollowPositionTouchHandlerModifyDistanceLimits

    HighlightRenderSettings.iconSz is deprecated now. iconSz renamed to imageSize

    MapView.getZoomLevel is used as member MapView.zoomLevel

    MapView.getSlippyZoomLevel is used as member MapView.slippyZoomLevel

    Renamed enum SceneObjectFileFormat to ESceneObjectFileFormat

    MapSceneObject.produce.. is based now on a SceneObjectData instead of DataBuffer and its format.

    MapSceneObject.customizeDefPositionTracker’s input to SceneObjectDataList

    MapSceneObject.producePositionTracker return type to Pair<MapSceneObject?, ErrorCode>

Removed

enum ECameraFollowMode

FollowPositionPreferences’s default constructor.

param mode: ECameraFollowMode from: MapViewPreferences.setMapViewPerspective and from get.

param mode: ECameraFollowMode from: MapViewPreferences.setViewAngle and from get.

param mode: ECameraFollowMode from: MapViewPreferences.setTiltAngle and from get.

param mode: ECameraFollowMode from: MapView.setZoomLevel, MapView.setSlippyZoomLevel, and from corresponding getters.

field MapView.cameraFollowMode

method MapView.cursorSelectionRouteInstruction

Library dependency: com.google.android.gms:play-services-location

[7.1.22.2.417AD833] - 2022-01-11

Added

  • Class: ImprovedPositionData

  • Enum: GemSdk.ESdkCapabilities

  • Member: ConfigKey.kKeyImprovedPositionUpdateFreq

    ConfigKey.kKeyImprovedPositionDefTransportMode

    OverlayItem.categoryId

    GemSdk.capabilities

    GemError.MissingCapability

    EViewOnlineServiceType.External

Changed

PositionService.addListener and PositionService.position is using ImprovedPosition by default instead of direct sensor Position.

AddressInfo.format allows null inputs as default.

Fixed

GemGlSurfaceCallback zoom in/out in default map view not pan around anymore.

AddressInfo.format works properly now.

[7.1.21.50.7E1BDC39] - 2021-12-16

Added

  • Class: GemSurfaceContainerAdapter

    FollowPositionPreferences

  • Enum: ELandmarkFileFormat

    AcclerationData.EUnitOfMeasurement

  • Method: BasicShapeDrawer.createTexture with image param

    MapView.getOptimalRoutesCenterViewport

    LandmarkStore: importLandmarksBuffer, importLandmarks, cancelImportLandmarks, startFastUpdateMode, stopFastUpdateMode, isFastUpdateMode

    Image.produceWithPath

    RoutePreferences: isAutomaticTimestamp, setIsAutomaticTimestamp

    EnumHelper.fromOrdinal

    MapViewListener and MapView’s lambdas : onHoveredMapLabelHighlightedLandmark, onHoveredMapLabelHighlightedOverlayItem, onHoveredMapLabelHighlightedTrafficEvent, MapView.highlightHoveredMapLabel

  • Member: AccelerationData.unit

    MapView.cursorSelectionPath

  • Auto fetch offline maps from assets. See RouteSimulationOffline example.

Changed

BasicShapeDrawer.renderShapes nullable params

RectF: center and dimensions to Float types.

GemGlSurfaceCallback renamed to GemGlSurfaceAdapter

PermissionsHelper is singleton now. See PermissionsHelper.instance

Removed

Member : LandmarkStore.fastUpdateMode Android Auto direct dependency. End user have to match min sdk requirements for android auto dependency when implementing.

[7.1.21.46.DA24169E] - 2021-11-15

Added

  • Class: ElectricBikeProfile

  • Fields: RoutePreferences: eBikeProfile, defaultEBikeProfile

    AbstractGeometryImage.aspectRatio, Image.aspectRatio

    GemGlSurfaceCallback: onVisibleAreaChanged, visibleArea

    MapViewPreferences: mapDetailsQualityLevel

  • Method: MapViewPreferences: isMapSceneObjectVisible, setMapSceneObjectVisibility

    TruckProfile : constructor with param.

    GeographicArea.convert

  • Method Params: RoutePreferences.setBikeProfile added eProfile: ElectricBikeProfile

  • Enum: EEBikeType, EMapDetailsQualityLevel

  • EnumValue: ERouteType.Economic

Changed

  • TruckProfile.weight renamed to TruckProfile.mass.

  • GemGlSurfaceCallback is available only in minApi 23 SDK.

Removed

GlSurfaceHolderAdapter is internal now.

Fixed

  • Startup crash on Android 8 or lower devices.

[7.1.21.43.0A164E49] - 2021-10-30

Added

  • Class : BrakeDetector

    TrafficSignDetector

    ClassifiedObject

  • Enum: EClassificationFilter

  • Member: NativeRefObj.address

    SocialReportsOverlayCategory: uid, overlayUid, name, image

    IBitmap: width, height

    DetectedObject.classifiedObject

    ObjectDetector.classificationFilter

    Rgba.argbValue, Rgba.bgraValue

    MapCamera.position, MapCamera.orientation

    TrafficSignClassifier.classificationTime

    BrakeClassifier.classificationTime

    ObjectDetector.detectionTime

    LaneDetector.detectionTime

    Landmark.extraImage

    MapDetails.isoCodeForCurrentPosition

  • Method: SocialReportsOverlayCategory.hasSubcategories()

    SdkSettings.setAllowConnection(value: Boolean)

    LogUploaderListener constructor(postOnMain: Boolean = false)

    NavigationListener.create

    AlarmListener.create

    MapView: produce and produceByContext without listener: MapViewListener

    SocialOverlayItemListener.create

    LogUploaderListener.create

    RoadSafetyAlertsListener.create

    LandmarkStoreListener.onLandmarkStoreRegistered

    SdkCall.execute with maxWaitMs

    DataSource.addListener with array ouf EDataType

    TrafficSignClassifier.classifyList

    TrafficSignClassifier.getOutput

    ObjectDetector.updateClassificationFilter

    BrakeClassifier.classifyList

    BrakeClassifier.getOutput

    Rgba: constructor with Color, swapRedBlue, asColor

    MapViewPreferences.setDrawFPS

    SearchPreferences.removeAllCategoryFilters

    MapView.invalidate

    OverlayService: enableOverlayOfflineDataGrabber, disableOverlayOfflineDataGrabber, isOverlayOfflineDataGrabberEnabled, isOverlayOfflineDataGrabberSupported

    MapViewPreferences.getDrawFPS

  • Param: autoInitLiveDataSource to GemSdk.initSdkWithDefaults

    rect to TrafficSignClassifier.classify

    rect to BrakeClassifier.classify

    postLambdasOnMain to MapView.produce, MapView.produceByContext

    allowChargeNetwork, roadMapAutoUpdateListener to SdkSettings.setAllowMapUpdate

    address to NativeRefObj.release

    onStarted to : RoutingService.calculateRoute methods

    critical to TrafficSignClassifier.produce, ObjectDetector.produce, LaneDetector.produce, BrakeClassifier.produce

    completionCallback to RecorderBookmarks.exportLog

Changed

  • SdkError is now considered as Int instead of enum.

  • MainSceneObjects renamed to EMainSceneObjects

  • NNEngineType renamed to EEngineType

  • NNExecutionType renamed to EExecutionType

  • TrafficSignClassifier.detect renamed to classify

  • BrakeClassifier.detect renamed to classify

  • EExtraInfo.AttachedTrainstation renamed to EExtraInfo.AttachedTrainStation

  • OffboardListener.onOnlineWorldMapSupportDisabled renamed to onWorldwideRoadMapSupportDisabled

  • OffboardListener.onOnlineWorldMapSupportEnabled renamed to onWorldwideRoadMapSupportEnabled

  • OffboardListener.onOnlineWorldMapSupportStatus renamed to onWorldwideRoadMapSupportStatus

  • OffboardListener.onWorldMapVersionUpdated renamed to onWorldwideRoadMapVersionUpdated

  • OffboardListener.onOnlineWorldMapUnsupportedCapabilities renamed to onWorldwideRoadMapUnsupportedCapabilities

  • DataSourceListener.onNewData’s SenseData param replaced with EDataType

  • SdkError.ResourcesMissing renamed to SdkError.ResourceMissing

  • SdkError.getDescriptionText renamed to getMessage

  • SdkError renamed to GemError

  • RoadSafetyAlerts.setWindshieldLateralDisplacement renamed to setCameraLateralDisplacement

  • Size, SizeF, Xy, XyF, Tuple4d, Tuple3d, Rect, RectF

  • RoutePreferences.routeResultType used as member instead of method.

  • NavigationListener.canPlayNavigationSound used as member instead of method.

  • SocialOverlay.prepareReporting param reorder.

  • ImageDatabase.import replaced String param with data: DataBuffer, format: EImageFileFormat

  • ImageDatabase.remove replaced Image param with imageId: Int

Removed

  • CameraConfiguration.autoFocusEnabled

  • ELandmarkStoreType.Last

  • EGlobalLandmarkCategory.Base, EGlobalLandmarkCategory.Last

  • EContactInfoFieldType.Last

  • Canvas.isView

  • EMapProviderId.Last

  • GemSurfaceView: getGlContext, getScreen, getDefaultMapView

  • EContentType.First, EContentType.Last

  • MapView.defaultMapViewListener()

  • SocialOverlayItemListener constructor with lambda

  • LogUploaderListener constructors with params

  • Screen.fps

Fixed

  • SearchService not clearing category filters before any search is made.

  • TextState not allocating object.

[7.1.21.38.70F93E78] - 2021-09-20

Added

  • enum ETrackingModeUpdateRequest, ECameraStateExtraData

  • Member: MapSceneObject.visibility

    PTRoute.polygonGeographicArea

    Route.polygonGeographicArea

    LandmarkBrowseSession.settings

  • Param: removeLmkContent to LandmarkStore.removeCategory

    breakpadCallback to GemSdk.initialize

  • Method: MapViewListener: onEnterManuallyAdjustedFollowingPosition, onExitManuallyAdjustedFollowingPosition

    MapView: restoreFollowingPosition, isFollowingPositionTouchHandlerModified

    MapSceneObject: getDefPositionTracker, customizeDefPositionTracker

    MapScene.getDefScene

    IBitmap: produce, produceBgr888, produceAlpha8

    LaneDetector.computeAccuracy

    TrafficSignClassifier.computeAccuracy

    BrakeClassifier.computeAccuracy

    Rect.pointInRectangle

    RectF.pointInRectangle

    MapViewPreferences: setFollowPositionTouchHandlerModifyLimits, getFollowPositionTouchHandlerExitAllow, getFollowPositionTouchHandlerModifyHorizontalAngleLimits, getFollowPositionTouchHandlerModifyVerticalAngleLimits, getFollowPositionTouchHandlerModifyDistanceLimits

    LandmarkStoreListener: onLandmarksUpdated, onLandmarksRemoved

    LandmarkStore: removeAllLandmarks, setLandmarkCategory, getLandmarksByArea

    MapCamera: saveCameraState, restoreCameraState

    ImageDatabase.getTrafficSignImage

Changed

SceneObjectFileFormat’s values.

ETrafficSignType’s values.

MapSceneObject.produce methods require lists of DataBuffer and formats instead of one of each.

LandmarkStore.createLandmarkBrowseSession input params

Preset member images of ImageDatabse are now static. (tollImage, ferryImage, greenBallImage, yellowBallImage, redBallImage)

  • Renamed method: MapViewListener: onEnterManuallyAdjustedFollowingPosition to onEnterTouchHandlerModifyFollowingPosition

    MapViewListener: onExitManuallyAdjustedFollowingPosition to onExitTouchHandlerModifyFollowingPosition

  • Renamed class: SdkIcons to SdkImages

    SdkImages.Other_Engine to SdkImages.Engine_Misc

Removed

  • classes: Bitmap, AdjustableBitmap

  • member: MapView.followingPositionDisplayMode

  • enum : EPositionDisplay

  • method: AbstractGeometryImage.renderInto

    Image.produceWithPath

    LandmarkStore: removeLandmarkFromCategory, removeLandmarkFromAllCategories,

  • Param: blend from Image.render, AbstractGeometryImage.render, AbstractGeometryImage.renderArrow, RoadInfoImage.render, LaneImage.render

  • enum value: ETrafficSignType.All, EBrakeType.All, EObjectType.All

[Unreleased] - 2021-09-01

Added

  • class MapSceneObject

  • enum MainSceneObjects

  • Method: PathCollection.clear

    Rect.center, Rect.dimensions. Same for RectF.

    Screen.needsRender

    MapServiceExtensions.getHighlightGroupItemIndex

    MapView.deactivateAllHighlights

    Marker.setCoordinates

    MarkerCollectionDisplaySettings.setPointMarkerLabelExtractor

    Route.getDominantRoads, PTRoute.getDominantRoads

    CanvasBufferRenderer.updateCameraData, CanvasBufferRenderer.updateImage

  • Property: MarkerCollectionDisplaySettings.pointsTextSize

    Coordinates.sceneObject

  • Method input param: SocialOverlay.report: added categoryId

    highlightId to MapView.activateHighlightLandmarks, MapView.activateOverlayItemsHighlight, MapView.deactivateHighlight

    MapView.startFollowingPosition: navArrow, trackMethod

    MapView.followPosition: navArrow, trackMethod

    parentSceneObject to Coordinates’s constructor, Coordinates.assignValues

Changed

  • Method inputParam: SocialOverlay.prepareReportingWithCoordinates, SocialOverlay.prepareReporting : removed dryRun

  • Renamed class ViewCustomization to MapServiceExtensions

  • Renamed MapView.customization to MapView.extensions

  • EasyAccess: object.getMember changed to object.member for easy access.

  • EasyAccess: object.setMember(value) changed to object.member = value for easy access.

Removed:

  • Method: Image.renderWithMask, AbstractGeometryImage.renderWithMask

    MapServiceExtensions.setCursorTexture

    CanvasBufferRenderer.uploadFrame

[Unreleased] - 2021-08-09

Added

  • Enum Value: EValueType.ListValue

  • Method: Parameter: key, valueList

    SocialOverlay: getReportSnapshot, prepareReportingWithCoordinates, prepareReporting,

    report, confirmReport, denyReport, updateReport, deleteReport, addComment

    SocialReportsOverlayCategory: parameters,

    Time.getTimeZoneMillisecondsTime

    CanvasBufferRenderer: frameFit, scaleFactor, translateFactor

    BasicShapeDrawer: createTexture with image as ByteArray

    Size.isEmpty, SizeF.isEmpty

    GemSdk.produceDefaultLiveDataSource

    SdkCall.lock, SdkCall.unlock

  • Method input param: BasicShapeDrawer.renderShapes: translationFactor: XyF?, scaleFactor: XyF?

    SocialOverlay.cancel: listener: ProgressListener

    GemSdk.initialize: autoInitLiveDataSource: Boolean = false

  • Method output param: In NavigationService added SdkError as Int for startNavigationWithRoute, startSimulation, startSimulationWithRoute

  • Class: SocialUsersOverlayInfo, LaneDetector, LaneDetectorOutput, TrafficSignClassifierOutput, TrafficSignClassifier, Obstacle, CalibrationConfiguration, RoadSafetyAlertsListener, InitializationConfiguration, RoadSafetyAlerts, BrakeClassifierOutput, BrakeClassifier

Changed

  • Renaming: SocialReportsOverlayCategory: getCountry to country, getSubcategories to subcategories

    SocialOverlay: getReportsOverlayInfo to reportsOverlayInfo, getUsersOverlayInfo to usersOverlayInfo, registerIMarkerListener to registerOverlayItemListener, unregisterIMarkerListener to unregisterOverlayItemListener

Removed

  • SocialReportsOverlayCategory: getValidity, getImpactRadius

[7.1.21.30.F7B1DCD6] - 2021-07-27

Added

  • Class:

    SocialReportsOverlayCategory

    SocialReportsOverlayInfo

  • Methods:

    Rect.toRectF for fast conversion

    RectF.toRect for fast conversion

    RectangleGeographicArea.set with coords, horizontal and vertical radius

    MarkerCollectionDisplaySettings.polylineInnerSize and MarkerCollectionDisplaySettings.polylineOuterSize

    OverlayCategory.subcategories and OverlayCategory.hasSubcategories

    OverlayInfo.getCategory and OverlayInfo.hasCategories

    SocialOverlay.getReportsOverlayInfo

    SocialOverlay.getUsersOverlayInfo

    Static in Time: daysFromMilliseconds, hoursFromMilliseconds, minutesFromMilliseconds, secondsFromMilliseconds

  • Method Param: categoryId for OverlayService: enableOverlay, disableOverlay, isOverlayEnabled

Changed

  • Method Param: In OverlayMutableCollection: add, addByCategory, remove, removeByCategory, contains, containsByCategory. Only the overlayId is required insead of whole object.

[7.1.21.29.5996E8AB] - 2021-07-21

Added

  • Class: BasicShapeDrawer for drawing basic things over GemSurfaceView.

  • Methods: GemSurfaceView.onDrawFrameCustom for custom gl drawing support.

  • Other: More predefined colors as static in Rgba

Changed

  • object.getMember changed to object.member for easy access.

  • object.setMember(value) changed to object.member = value for easy access.

  • Renamed: Util.getPhonePath renamed to Util.getAppDirInternalPath

    Util.getSdCardPath renamed to Util.getAppFilesDirExternalPath

Removed

  • ISOCode object replaced with String.

[7.1.21.27.F0A8520E] - 2021-07-08

Added

  • Enum values:

    ERoutingAlgoModifiers.DisableFallbacks

  • Methods:

    Screen.getFPS

    GuidedAddressSearchPreferences.setAllowFuzzyResults

    GuidedAddressSearchPreferences.getAllowFuzzyResults

    SearchPreferences.setAllowFuzzyResults

    SearchPreferences.getAllowFuzzyResults

Changed

  • EBuildingsVisibility’s values

  • SteepSection.getCateg renamed to SteepSection.getCategory

  • SteepSection.setCateg renamed to SteepSection.setCategory

[7.1.21.26.568B4C80] - 2021-07-02

Added

  • Shortcuts:

    PositionListener can be used directly with a lambda instead of extend and override its methods.

    LogUploaderListener can be used directly with a lambda instead of extend and override its methods.

    SocialOverlayItemListener can be used directly with a lambda instead of extend and override its methods.

    MapViewPreferences.landmarkStores can be called instead of MapViewPreferences.lmks

    SearchPreferences.landmarkStores can be called instead of SearchPreferences.lmks

    AlarmService.landmarkStores can be called instead of AlarmService.lmks

    ContentUpdater.getContentType returns enum type. getContentTypeInt returns only an int

    Constructor with nullable params for DetectorConfiguration

    Constructor with nullable params for DetectedObject

    Constructor with nullable params for AbstractGeometryImageRenderSettings

    Constructor with params for ProxyDetails

  • Class:

    SizeF

    AdjustableBitmap

    IAdjustableBitmap

    LaneImageRenderSettings

  • Methods:

    MapView.setEdgeAreaInsets

    GemSurfaceView.hadBeenInitialized

    GemSurfaceView.hadBeenReleased

    AbstractGeometryImage.renderWithMask

    RoadInfoImage.render

    LaneImage.render

    ContentUpdater.isStarted

  • Input parameter:

    isMapReady for SdkSettings.onMapDataReady

    displayMode for MapView.presentRoute(s)

    edgeAreaInsets for MapView.presentRoute(s)

  • Other:

    EMapExtendedCapability.HighPrecisionBuildings

    app:autoReleaseOnDetachedFromWindow attribute to GemSurfaceView for preventing auto release when onDetachedFromWindow is triggered.

Changed

  • Renamed:

    TimerListener renamed to ITimerListener

    Canvas.isView to Canvas.isMapView

Removed

  • Input param:

    type: EDirectBufferType away from CanvasBufferRenderer.uploadFrame

[7.1.21.25.51BBEB8E] - 2021-06-24

Added

  • Shortcuts:

    mapView.defaultMapViewListener lambdas can be set directly in mapView. E.g.: mapView.onRender instead of mapView.defaultMapViewListener.onRender.

    When providing null Coordinates for SearchService.searchAroundPosition it will use current position instead.

  • Helper methods:

    AlarmService.startAlarmForOverlay(s)

    AlarmService.stopAlarmForOverlay(s)

    MapView.presentPath

    MapView.displayPaths

    OverlayService.getOverlaysById with inputs: ECommonOverlayId and onCompleted

    Animation constructor with lambdas.

  • Classes:

    OverlayMutableCollection

    OverlayDisplaySettings

    MapViewOverlayCollection

  • Enums:

    IOpenGLContext.EOutputBufferType

    ECameraFollowMode

  • Input parameter:

    zoomLevel for MapView.presentRoute(s)

    mode for MapViewPreferences: setMapViewPerspective, getMapViewPerspective, getViewAngle, setViewAngle, getTiltAngle, setTiltAngle

    mode for MapView: setZoomLevel, setSlippyZoomLevel, getZoomLevel, getSlippyZoomLevel

    restoreCameraMode for MapView.stopFollowingPosition

  • Methods:

    IOpenGLContext.getOutputBufferType

    DataBuffer.empty

    ContentStoreItem.setProgressListener

    OverlayService.getAvailableOverlays only with onCompleted trigger as input.

    OverlayMutableCollection.getOverlayByUid with enum type input.

    OverlayMutableCollection.add with ArrayList<OverlayInfo> input.

    OverlayMutableCollection.remove with ArrayList<OverlayInfo> input.

    SdkSettings.isMapDataReady

    MapView.getCameraFollowMode

Changed

  • Method signature:

    AlarmService: external fun overlays(): ArrayList<OverlayInfo>? to external fun overlays(): OverlayMutableCollection?

    MapViewPreferences: external fun overlays(): ArrayList<OverlayInfo>? to external fun overlays(): MapViewOverlayCollection?

    MapView.setZoomLevel allows null xy input.

    MapView.setSlippyZoomLevel allows null xy input.

Removed

  • Methods:

    MapViewPreferences: enableMapRenderingFeature, isMapRenderingFeatureEnabled, setMapRenderingFeaturePosition, setMapRenderingFeatureRect, getMapRenderingFeatureRect

Fixed

  • Issue regarding SdkSettings when releasing the sdk then recreate it again.

  • Touch events not triggered.

[7.1.21.24.F957BE25] - 2021-06-15

Added

  • Easy searching methods for SearchService.

  • Methods: in MapDetails: getCountryNameByIndex, getCountryImageByIndex, getCountryIsoByIndex.

  • Methods: Route.getInstructions

  • Methods: ContentStore.checkForUpdate, OffboardListener.onAvailableContentUpdate

  • Methods: MapView.presentRoutes, MapView.hideRoutes

  • Methods: in ImageDatabase: getTollImage, getFerryImage, getGreenBallImage

  • Enum: EGenericCategoriesIDs and afferent methods in GenericCategories

  • Methods: getCurrentPosition, getCurrentImprovedPosition

  • Interface: INetworkListener

  • Methods: MapView.defaultMapViewListener if no listener was provided when view had been created.

  • SDK token can also be passed through GemSurfaceView’s constructor or through surface’s xml tag: app:sdkToken="YOUR_TOKEN"

  • Methods: ContentStore’s methods related to EContentType.

  • Methods: produce for Path.

  • Methods: in MapViewListener:

    onEnterFollowingPosition, onExitFollowingPosition, onCursorSelectionUpdatedLandmarks, onCursorSelectionUpdatedOverlayItems

    onCursorSelectionUpdatedTrafficEvents, onCursorSelectionUpdatedRoutes, onCursorSelectionUpdatedMarkerMatch

  • ContentStore.asyncGetStoreContent will return the list on complete trigger (OnContentStoreAsyncCompleted)

  • Methods: ContentStoreItem.asyncDownload with lambda onStarted, onProgress and onCompleted.

  • Methods: in SearchPreferences: addCategoriesFilter, removeCategoriesFilter for fast adding category filters.

  • Methods: produce for Image.

  • Default animation for MapView center on or follow position methods.

  • Landmark constructor with name, latitude, longitude for fast writing.

  • Methods: NavigationService.startNavigation only with destination Landmark.

  • Methods: RoutingService.calculateRoute only with destination Landmark.

  • Methods: Path.toLandmark to avoid using RouteBookmarks.setWaypointTrackData as conversion.

  • Methods: MapView.display, MapView.hidePath

  • Methods: Rgba.red, Rgba.green, Rgba.blue

  • Methods: PTRouteInstruction.isCommon, RouteInstruction.isCommon

  • Methods: PTRouteSegment.isCommon, RouteSegment.isCommon

  • RouteSegment.isPublicTransportSegment which is an alias for RouteSegment.isCommon

  • Methods: PTRouteSegment.isStationWalk

  • Methods: Easy search in current visible area on a map. see SearchService

  • Category filters can be passed directly to SearchService methods.

  • MapView.transformScreenToWgsListArea allows null input.

  • Methods: DataBuffer constructor with ByteBuffer input.

  • Methods: MapView.activateHighlight method only for an element.

  • MarkerCollectionDisplaySettings builder constructor, all inputs are null by default.

  • Methods: Marker.add, Marker.update with latitude and longitude for fast writing.

  • Methods: PositionService.getImprovedPosition

Changed

  • ETurnInfoType, ETurnType, ETurnWaypointType merged into ETurnEvent

  • MarkerCollection.getGroupHeadMarker renamed to MarkerCollection.getPointsGroupHead

  • MarkerCollectionDisplaySettings.groupingMaxZoomLevel renamed to pointsGroupingZoomLevel

  • MarkerCollectionDisplaySettings.lowDensityGroupImage renamed to MarkerCollectionDisplaySettings.lowDensityPointsGroupImage

  • MarkerCollectionDisplaySettings.mediumDensityGroupImage renamed to MarkerCollectionDisplaySettings.mediumDensityPointsGroupImage

  • Route.exportGPX renamed to Route.exportAs

  • EPathImportFormat renamed to EPathFileFormat

  • Parameters order for: NavigationService.startSimulation

  • RouteBookmarks’s members setWaypointTrackData, getWaypointTrackData, waypointHasTrackData, reverseWaypointTrackData, setWaypointTrackDepartureAndDestination moved as statics since they are helper methods.

  • Renamed EAnimation.AnimationLinear to EAnimation.Linear. Same for rest of members.

  • Removed method input parameter for PositionService.getPosition.

Removed

  • TurnDetails.getInfoType

  • ERouteSegmentType

  • PTRouteInstruction/RouteInstruction.getInstructionType

  • PTRouteSegment/RouteSegment.getSegmentType

  • RouteSegment.isSignificant

[7.1.21.22.98275CBE] - 2021-06-02

Added

  • GemSdk.initWithDefaults(context, token). Token is optional. Initializes the Sdk in a easy to use manner by providing default: Timer Service, Application Paths, Language, Network Provider. Also if the token is not provided it will finally attempt to retrieve it from AndroidManifest.xml as seen in examples before. Initializes the DefaultSoundSession

  • Ease of use constructors for : SearchService, RoutingService. Allows user to provide directly onStarted and onCompleted lambdas.

  • ProgressListener.onComplete’s reason code is now directly a SdkError instead of Int.

  • GemSurfaceView will init GemSdk if not already initialized by calling GemSdk.initWithDefaults

  • By default GemSurfaceView will create a MapView. To disable this please use the attribute app:createDefaultMapView="false"

  • Exposed access to the default MapView created by the GemSurfaceView. see getDefaultMapView(), releaseDefaultMapView()

  • GemSdk.release is called by default on SdkCall.execute{ }

[7.1.21.18.0D3FDE9D] - 2021-05-06

Added

  • Method: PositionData.isValid

  • Methods: PermissionHelper: hasPermission, hasPermissions, requestPermissions, onRequestPermissionsResult

Removed

  • Enums: EApiCustomer, EApiProduct, EApiHosting, EApiFlavor

  • Class: AppVariant

Fixed

  • Bad method name: getTruckProfile(value) to setTruckProfile(value)

[7.1.21.17.B6FA7F67] - 2021-04-26

Added

  • Enum value: EContentUpdaterStatus.CheckForUpdate.

  • Method: CommonSettings.setLanguageAsString.

  • Value: FeatureIds.MapDebugDetalisFeatureId.

  • Methods: MapView.getNorthFixedFlag, MapView.setNorthFixedFlag.

  • Methods: MapViewPreferences.getsetRotationAngle, MapViewPreferences.setRotationAngle.

  • Method: MapViewPreferences.setMapStyleByDataBuffer.

  • Method: MapViewPreferences.setMapStyleByContentStoreItem.

  • Method: MapViewMarkerCollections.removeCollection.

  • Class: OverlayCategory.

  • Method: OverlayInfo.getCategories.

  • Class: TruckProfile.

  • Methods: RoutePreferences.getsetTruckProfile, RoutePreferences.setTruckProfile

  • EnumValues: EDataInterruptionReason: AudioDeviceInUseByAnotherClient, VideoDeviceInUseByAnotherClient

Changed

  • Renamed class MapService to MapView.

  • Renamed class MapServiceConfiguration to MapSceneConfiguration.

  • Renamed class MapServiceConfigurationListener to MapSceneConfigurationListener.

  • Renamed EImagePixelFormat.UNKNOWNto EImagePixelFormat.Unknown.

  • Renamed enum value: EAnimation.Fly to EAnimation.AnimationLinear.

[7.1.21.15.B5218653] - 2021-04-14

Added

  • Method: ProgressListener.create based on provided lambdas

  • Method: CommonSettings.setDefaultNetworkProvider

Changed

  • CommonSettings is object now instead of class

  • No longer need to manually create the DefaultNetworkManager. Use CommonSettings.setDefaultNetworkProvider method instead.

  • Renamed d3scene.GemMapSurface to core.GemSurfaceView.

  • Simplified APIS for: SearchService, RoutingService, SocialOverlay, CommonSettings , ContentStore, GuidedAddressSearchService.

[7.1.21.14.7762644] - 2021-04-05

Added

  • Param: GemSdk.initialize needs ISO3 language string and TTS language string or use defaults.

  • Method: MapView.transformScreenToWgsListArea.

  • Method: SdkCall.postAsync and SdkCall.postSync.

  • Method: Screen.getOpenGLContext.

  • Method: GemSdk.getAppVariant.

  • Enum Value: EMapExtendedCapability.TrimmedHeader

Changed

  • Renamed class VectorItem to Marker.

  • Renamed class VectorDataSource to MarkerCollection.

  • Renamed class VectorMatch to MarkerMatch.

  • Renamed class VectorDataSourceCollection to MapViewMarkerCollections.

  • Renamed class VectorItemCustomRenderData to MarkerCustomRenderData.

  • Renamed class VectorDataSourceDisplaySettings to MarkerCollectionDisplaySettings.

  • Renamed enum EVectorDataType to EMarkerType

  • Renamed enum EVectorMatchType to EMarkerMatchType

  • Renamed package routingandnavigation to routesandnavigation.

  • Renamed package searching to places.

  • Renamed package datasource to sensordatasource.

  • Renamed method SignpostImageRenderSettings.setBorderSizePx to SignpostImageRenderSettings.setBorderSize, analog for get

  • Renamed enum EEntranceLocationsType to EEntranceLocationType

  • Renamed method LandmarkStoresCollection.getCategoriesCount to LandmarkStoresCollection.getCategoryCount.

  • Renamed method LandmarkBrowseSession.getLandmarksCount to LandmarkBrowseSession.getLandmarkCount.

  • Renamed method LandmarkStore.getLandmarkStoreId to LandmarkStore.getId.

  • Renamed method LandmarkStore.getLandmarkStoreType to LandmarkStore.getType.

  • Renamed method LandmarkStore.getLandmarkStoreName to LandmarkStore.getName.

  • Renamed method MapView.activateMarkersHighlight to MapView.activateOverlayItemsHighlight.

  • Renamed method MapView.cursorSelectionMarkers to MapView.cursorSelectionOverlayItems.

  • Renamed method MapServiceConfiguration.setMapServiceConfigurationListener to MapServiceConfiguration.setListener.

  • Renamed method MapServiceConfiguration.loadConfiguration to MapServiceConfiguration.load.

  • Renamed method MapServiceConfiguration.saveConfiguration to MapServiceConfiguration.save.

  • Renamed method MapViewPreferences.markers to MapViewPreferences.overlays.

  • Reorganized classes in the new packages.

Fixed

  • Android plays iOS recorded Log and vice versa.

[7.1.21.10.A60EFE2C] - 2021-03-11

Added

  • ApiCallLogger.onUseSytemLogging

  • Canvas.getViewportF

  • GemSdk.getDataSavePolicy and GemSdk.setDataSavePolicy

  • GeographicArea.makeIntersection and GeographicArea.makeUnion`

  • MarkerOverlaysService.enableOverlay, MarkerOverlaysService.disableOverlay and MarkerOverlaysService.isOverlayEnabled

  • RecorderConfiguration.deviceModel and set for it.

  • SdkList of LandmarkPosition and MarkerPosition.

  • SocialOverlay.searchAroundPOIAndReports, searchAround, searchAlongRoute, searchReportsForPOIs, refreshReports

  • Time.getLocalTime and Time.getUniversalTime

Changed

  • Animation.getMethod renamed to Animation.getType

  • Animation.getFly renamed to Animation.getFlyType

[7.1.21.10.39CEC079] - 2021-03-09

Added

  • constructor to GemMapSurface

  • AlarmListener insideCityArea flag for: onHighSpeed, onNormalSpeed, onSpeedLimit

  • default implementation for: NetworkManager, NetworkProvider, TimerService

Removed

  • AlarmListener.onLowSpeed

  • AlarmService.setHighSpeedThreshold and AlarmService.getHighSpeedThreshold

  • AlarmService.setLowSpeedThreshold and AlarmService.getLowSpeedThreshold

Fixed

  • Dealloc of SDK, surface.

[7.1.21.8.95555709] - 2021-02-26

Added

  • Added missing doc

  • isReference method to NativeRefObj. Will tell if a certain object is Ref or not.

Changed

  • Renamed all enums starting with T* to E*. ex: TRouteType to ERouteType

  • Renamed some non upper camel case classes to met upper camel case

  • Sdk packages

Removed

  • Duplicate classes that hold Ref. ex: RouteInstructionRef merged into RouteInstruction.

Fixed

  • Map not working well when put in fragment

  • Crash due to bad handling of gem::ApiRef<T>

[7.1.21.8.ECCB3B03] - 2021-02-22

Added

  • Param: CanvasBufferRenderer.uploadFrame added bufferType: EDirectBufferType

Changed

  • Renamed class: View to MapView

  • Renamed class: ViewListener to MapViewListener

  • Renamed class: Camera to MapCamera

  • Renamed class: ViewPreferencesRef to MapViewPreferencesRef

  • Renamed class: Scene to MapScene

  • Renamed method: GuidedAddressSearchService.cancelRequest to GuidedAddressSearchService.cancelSearch

  • Renamed method: SearchPreferences.maxMatches to SearchPreferences.getMaxMatches

[7.1.21.6.3S80B91A] - 2021-02-12

Added

  • new enum: TViewCameraTransitionStatus

  • new param: ViewListener.onViewRendered, camStatus: TViewCameraTransitionStatus

  • new method: ViewListener.onMarkerItemRender

  • new methods: RectangleGeographicArea: intersects, contains, setIntersection, setUnion

  • new method: ViewPreferencesRef.vectors

  • new param: Recorder.addUserData, dataTypeIdentifier: Long

  • constructor: MarkerCollection

  • MountInformationData and EDataType.MountInformation

Changed

  • TPositionDisplay’s values changed from EPosition* to EPD_*

  • TRouteDisplayMode’s values changed from ERouteDisplay* to ERDI_*

  • TPathImportFormat’s values changed from E* to EPI_*

  • renamed: TViewTransitionStatus to TViewDataTransitionStatus

  • renamed: TTransportMode to TRouteTransportMode

  • renamed: TResultDetails to TRouteResultDetails

  • renamed: TAlternativesSchema to TRouteAlternativesSchema

  • renamed: TPathAlgorithm to TRoutePathAlgorithm

  • renamed: TSortOrder to TRouteBookmarksSortOrder

  • renamed: DataSourceListener.onDataInterruption to DataSourceListener.onDataInterruptionEvent and added param ended: Boolean

Removed

  • method: TRgba.defaultColor

  • param: MarkerCollection.add’s param name: String

  • method: OrientationData.isMountedForCameraUse

  • methods: ViewListener: onMarkerRender, onMarkerItemRender

[7.1.21.3.E776B859] - 2021-01-18

Added

  • Weather Service. See Weather.kt

  • TimeDistanceCoordinate strcture

  • Marker methods: getId, getPartCount, delPart, getPartArea and part param to add, del, update, getCoordinates

  • SenseData.getTime method

  • OrientationData.isMountedForCameraUse method

  • RouteBase.getTimeDistanceCoordinates method

  • TSoundMark structure and LogMetadata.getSoundMarks

  • LogMetadata.getLogSize method

  • View.cursorSelectionVectors and View.isCameraMoving methods

  • TExtraInfo enum and Landmark.getExtraInfo method based on enum.

  • Debug.getAllWeatherConditions and Debug.getResourceUpdaterTransferStats` methods

Changed

  • All timestamps are now expressed in Long UTC milliseconds instead of Double seconds.

  • Some return types or input params are not ArrayList<Abc> they are now AbcList.

  • TPathAlgorithm.EPA_Osrm changed into TPathAlgorithm.EPA_ExternalCH.

  • Renamed SenseData.getTimestamp to SenseData.getAcquisitionTimestamp.

Removed

  • ERecorderStatus.Saving.

  • TWgsRectangle structure.

  • MarkerOverlayInfoRef.getNearbyInfoUrl.

  • RectangleGeographicArea.set(value: TWgsRectangle).

[7.1.20.51.E4F23422] - 2020-12-23

Added

  • LogMetadata.produce.

  • TProxyDetails.

Changed

  • TRecorderConfiguration.recordingAudio renamed to TRecorderConfiguration.enableAudio.

  • Recorder.setAudioMuted splitted into Recorder.startAudioRecorder, Recorder.stopAudioRecorder .

  • NetworkListener.onConnectDidFinished and NetworkListener.onConnectFinished signature.

  • DataSource.addListener signature.

Removed

  • DataSource.startNotifyCameraBuffers, DataSource.stopNotifyCameraBuffers.

Fixed

  • Crash when using PTRouteInstructionRef.

[7.1.20.51.BD965DE6] - 2020-12-16

Added

  • CanvasListener: onPointerDown, onPointerMove, onPointerUp, onPinchSwipe.

  • TCameraConfiguration, get/set for: focalLength, physicalSensorWidth, physicalSensorHeight.

  • TMarkerMatchType.EVMT_CoordinateGroup.

  • TMarkerCollectionDisplaySettings.

  • MarkerCollection.getArea.

  • TTSLocalization.

  • FeatureIds.TTS_LOCALIZATION_FEATURE_ID.

Changed

  • CanvasListener’s onRotate signature.

[7.1.20.50.9977856E] - 2020-12-09

Added

  • DataSource: getConfiguration and setConfiguration(dataType).

  • DataSource: configuration param to addListener, default null.

  • TRecorderConfiguration: keepMinimumSeconds, diskSpaceLimit, recordingAudio and setters.

  • Recorder: setKeepMinimumSeconds, setDiskSpaceLimit, getConfiguration, setChunkDurationInSeconds, setMinimumBatteryPercent, setContinuousRecording.

  • TLandmarkBrowseSessionSettings: coordinates and setCoordinates.

  • Playback: step.

Changed

  • TRecorderConfiguration: renamed tempDir to logsDir.

[7.1.20.48.F5AF9EE2] - 2020-11-23

Added

  • BatteryData.EPluggedType.

  • BatteryData.getLowBatteryNoticed.

  • BatteryData.getPluggedType.

  • BatteryData.getVoltage.

  • BatteryData.getTemperature.

  • PositionData.getLocationTime.

  • TLandmarkBrowseSessionSettings object.

  • TLandmarkOrder enum.

Changed

  • ActivityData.EType.

  • BatteryData.EState.

  • BatteryData.EHealth.

  • CompassData.EAccuracy.Unreliable renamed to Unknown.

  • return type of startNotifyCameraBuffers.

  • createLandmarkBrowseSession input param.

  • renamed camera frame’s field recordedAngle to rotationAngle.

  • merged EVideoQuality, Resolutions and CameraResolutions enums into EResolution.

[7.1.20.47.F1A369D1] - 2020-11-16

Added

  • PermissionsHelper and PermissionsListener.

  • LandmarkStoreListener.onBrowseSessionInvalidated.

  • DataSource.startNotifyCameraBuffers.

  • DataSource.stopNotifyCameraBuffers.

  • SenseDataSource enum EPlayingStatus.

  • DataSourceListener.onPlayingStatusChanged.

Changed

  • LandmarkStore’s methods: registerBrowseSession, unregisterBrowseSession, getBrowseSessionLandmarksCount, getBrowseSessionLandmarks merged into LandmarkBrowseSession object.

Fixed

  • Recorded video’s orientation for external players like VLC.

Removed

  • DataSource.getLastUpdateTimestamp.

  • ViewPreferences.enableAutomaticZooming.

  • ViewPreferences.isAutomaticZoomingEnabled.

Issues

  • DataSource Pause/Resume might go into deadlock.

[7.1.20.44.4215D8A2] - 2020-11-1

Added

  • CommonSettings.verifyAppAuthorization.

Fixed

  • Datasource’s getPlayback() not returning null.

[7.1.20.44.4FA0F84F] - 2020-10-26

Added

  • RecorderBookmarks.markLogProtected.

  • TRecorderConfiguration.continuousRecording.

  • MarkerCollectionCollectionRef.indexOf.

  • MarkerMatch.getItemIndex.

  • MarkerCollection.indexOf.

  • RouteBookmarks.getFilePath.

  • EnumHelp to cast easier an int to a specific enum type.

  • Added TFrameFit enum and used into CanvasBufferRenderer.

  • recordedAngle in TCameraConfiguration.

  • PermissionsHelper to notify when permissions status has been changed.

Changed

  • GEMSdk renamed “mmc” naming to “sdcard”.

  • RecorderBookmarks “saved logs” renamed to “protected logs”.

  • Input parameters of RouteBookmarks.Produce.

  • EVideoQuality enum values.

  • RecorderListener replaced with ProgressListener.

  • TEncoding, EPixelFormat, ImageFormat all replaced with EImagePixelFormat.

Removed

  • Recorder.saveRecording

  • TRecorderConfiguration.loopRecordingSeconds

  • LandmarkStoreService.getGenericCategoriesLandmarkStoreId

  • Removed buffer type from CameraData.getDirectBuffer.

Fixed

  • Crash when releasing CanvasBufferRenderer.

  • Blueish image when recording/play video log.

  • Video rotation when playing a log.

  • Bad TCameraConfiguration when playing a log.

[Unreleased]

  • [7.1.20.43.693001B4]: Update demo apps for SDK v7.1.20.43.693001B4

  • [7.1.20.42.AF307B1F]: Update demo apps for SDK v7.1.20.42.AF307B1F

  • [7.1.20.41.37C8C713]: Update demo apps for SDK v7.1.20.41.37C8C713

  • [7.1.20.40.76465CE8]: Update demo apps for SDK v7.1.20.40.76465CE8

  • [7.1.20.39.5E1A0550]: Initial release