A class containing information about the version of CoPilot and map data that is currently loaded on a device. This includes software version, map data version, year and quarter.
Supported on Android Since Version
9.6.0.821
Type
Class
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getAppVersion()
string
Returns the CoPilot application version.
getDataVersion()
string
Returns the CoPilot map data version.
getDataYear()
Int
Returns the year of the map data version.
getDataQuarter()
Int
Returns the quarter of the map data version.
Sample Code
// Print out information about a CopilotVersion.try{CopilotVersioncurrVersion=CopilotMgr.getVersionInfo();System.out.println("Application version: "+currVersion.getAppVersion());System.out.println("Map data version: "+currVersion.getDataVersion());System.out.println("Map data year: "+String.valueOf(currVersion.getDataYear()));System.out.println("Map data quarter: "+String.valueOf(currVersion.getDataQuarter()));}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
CopilotVersion.getAppVersion
Overview
Description
Returns the CoPilot application version currently installed on the device.
Supported Since CoPilot Version
9.6.0.867
Supported in following Platforms
Android
Type
Method
Package
com.alk.cpik
Syntax
StringgetAppVersion()
Return Value
String object containing the application version.
Sample Code
// Print out CopilotVersion application version.try{CopilotVersioncurrVersion=CopilotMgr.getVersionInfo();System.out.println("Application version: "+currVersion.getAppVersion());}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
CopilotVersion.getDataVersion
Overview
Description
Returns the CoPilot map data version that is downloaded on the device.
Returns an integer representing the year of the map data version that is currently in use on the device (e.g. 2014).
Supported Since Version
9.6.0.867
Platforms Supported
Android
Type
Method
Package
com.alk.cpik
Syntax
intgetDataYear()
Return Value
Integer value of the year of the map data version.
Sample Code
// Print out CopilotVersion map data year.try{CopilotVersioncurrVersion=CopilotMgr.getVersionInfo();System.out.println("Map data year: "+String.valueOf(currVersion.getDataYear()));}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
CopilotVersion.getDataQuarter
Overview
Description
Returns an integer representing the quarter that the map data version was released (1, 2, 3, or 4).
Supported Since Version
9.6.0.867
Platforms Supported
Android
Type
Method
Package
com.alk.cpik
Syntax
IntgetDataQuarter()
Return Value
Integer value of the quarter of the map data version.
Sample Code
// Print out CopilotVersion map data year.try{CopilotVersioncurrVersion=CopilotMgr.getVersionInfo();System.out.println("Map data quarter: "+String.valueOf(currVersion.getDataQuarter()));}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
Sets the way CoPilot will geocode a stop depending on whether the stop is entered as an address, latitude/longitude coordinates, or both.
setID(String)
StopBuilder
Sets a custom ID for the stop. *Available in version 10.9 and greater
setNote(String)
StopBuilder
Sets a custom note against the stop that will be shown on the stop details screen within the CoPilot UI.*Available in version 10.9 and greater
setEarliestArrivalTime(ArrivalTimeWindowInfo)
StopBuilder
Sets the Earliest acceptable Arrival Time when the stop can be reached. If no date is given, the current date will be used. Requires Additional License. (Optional, but if used setLatestArrivalTime and setPlannedDuration need to be used also.) *Available in version 10.9 and greater
setLatestArrivalTime(ArrivalTimeWindowInfo)
StopBuilder
Sets the Latest Arrival Time for Time Window the stop should be reached. If no date is given, the current date will be used. Requires Additional License.*Available in version 10.9 and greater
setPlannedDuration(int)
StopBuilder
Sets the planned duration for the stop. This should reflect all the non-driving (dwell) time at the destination. Requires Additional License. *Available in version 10.9 and later
setSideOfStreetAdherence(StopSideAdherenceLevel)
StopBuilder
Sets Side of Street Adherence for the stop.*Available in version 10.9 and greater
Sets Custom Field for the stop that is used when providing a custom chevron display to the driver. Please note, to use this field the configuration setting for custom chevron display must also be set. This field should never be used to add a unique identifier to the stop, setID can be used for this purpose. Further details on the configuration setting which must be set can be found within ConfigurationSettings.*Available in version 10.9 and greater
setIcon
string
Sets stop icon image. The name of the image should be passed. Image of the matching name must be saved within CoPilot.*Available in version 10.9 and greater
getNearbyStreets
string
Returns list of nearby streets relative to the coordinates passed to CoPilot, returned as StreetSearchResult
StreetSearchResult
string
Provides list of nearby streets relative to the coordinates passed to CoPilot via getNearbyStreets.
Notes
To build a waypoint rather than a stop, call the setDestinationFlag() method with a false parameter. (Stops are the default.) Waypoints are locations added only to guide the route along desired roads. CoPilot will tell drivers to stop at a stop or to drive through a waypoint.
Sample Code
//StopBuilder to add stops{try{doublelatitude=40.367709;doublelongitude=-74.655784;// Construct a stop from coordinatesStopBuilderlatLonStop=StopBuilder.fromLatLon(newCoordinate(latitude,longitude)).setName("Trimble Maps");StopsampleStopA=latLonStop.geocode(GeocodeSearchType.BEST_MATCH).get(0);// Construct a stop from city and stateStopBuildercityState=StopBuilder.fromCityAndState("Princeton","NJ").setName("Princeton NJ Stop");StopsampleStopC=cityState.geocode(GeocodeSearchType.BEST_MATCH).get(0);// Construct a stop from country and postal codeStopBuildercountryPostalCode=StopBuilder.fromCountryAndPostalCode("United States","08540").setName("Princeton NJ");StopListsampleStopList=countryPostalCode.geocode(GeocodeSearchType.MULTI_MATCH);//add the created stopsRouteMgr.addStop(RouteEnums.AddStopPurpose.NEW_CURRENT_DESTINATION,sampleStopA,false);RouteMgr.addStop(RouteEnums.AddStopPurpose.AFTER_FINAL_DESTINATION,sampleStopC,false);// adding the stops listRouteMgr.addStops(RouteEnums.AddStopPurpose.NEW_TRIP,sampleStopList,false);}catch(CopilotException\|RouteException\|GeocodingExceptione){System.out.println("Exception! : "+e.toString());}}// StopBuilder with v10.9 enhanced fieldsStopBuilderlatLonStop=StopBuilder.fromLatLon(newCoordinate(40.368420,-74.655036));ArrivalTimeWindowInfostartWindow=newArrivalTimeWindowInfo(22,5,2018,780);ArrivalTimeWindowInfoendWindow=newArrivalTimeWindowInfo(22,5,2018,840);latLonStop.setEarliestArrivalTime(startWindow);latLonStop.setLatestArrivalTime(endWindow);latLonStop.setPlannedDurationMinutes(12);latLonStop.setSideOfStreetAdherence(StopSideAdherenceLevel.MODERATE);latLonStop.setID("This is ID");latLonStop.setNote("This is note");HashMap<String,String>customFields=newHashMap<String,String>();customFields.put("CUSTOMCHEVRONDISPLAY","This is custom chevron message");latLonStop.setCustomFields(customFields);latLonStop.setIcon("myStopIcon");try{StopsampleStopA=latLonStop.setName("Trimble Maps").geocode(GeocodeSearchType.BEST_MATCH).get(0);}catch(GeocodingExceptione){e.printStackTrace();}
Stop
Overview
Description
The Stop object provides data related to a specific location. CoPilot uses this information to geocode an address and add it as a stop on a route. Depending on the information provided, CoPilot will endeavor to populate as much of the remaining information about the stop as possible. Stop objects have many optional parameters and should be created via a StopBuilder object.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Class
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
isDestination()
Boolean
Returns true if the stop is a destination.
getName()
string
Gets the name of the object.
getAddress()
string
Gets the address of the object.
getCity()
string
Gets the city in which the object resides.
getState()
string
Gets the state in which the object resides.
getCountry()
string
Gets the country in which the object resides.
getCounty()
string
Gets the county in which the object resides.
getZip()
string
Gets the postal code in which the object resides.
getCoordinate()
Coordinate
Gets the coordinate object.
getID()
string
Gets the Stop ID for the the stop object.This is an optional field.*Available in version 10.9 and greater
getNote()
string
Gets the note associated with the stop object. This is an optional field. *Available in version 10.9 and greater
getEarliestArrivalTime()
ArrivalTimeWindowInfo
Gets the optional early time for the time window where a stop should be reached. *Available in version 10.9 and greater
getLatestArrivalTime()
ArrivalTimeWindowInfo
Gets the latest time for the time window where a stop should be reached. This is an optional field.*Available in version 10.9 and greater
getPlannedDurationMinutes()
Int
Gets the expected Dwell/Wait time that is added to a stop. This is an optional field. *Please note Planned Duration will be updated to Seconds in a release of CoPilot. *Available in version 10.9 and greater
getSideOfStreet()
StopSide
Gets the side of the street that the stop is on. *Available in version 10.9 and greater
getSideOfStreetAdherence()
StopSideAdherenceLevel
Gets the side of street adherence level that the routing uses to calculate its route to this stop. *Available in version 10.9 and greater
getETA()
string
Gets the current ETA for this stop. *Available in version 10.9 and greater
getCustomFields()
Hashmap<String,String>
Gets a Hashmap of the optional custom fields for this stop. *Available in version 10.9 and greater
getIcon()
string
Get the stop icon image name for the stop object. *Available in version 10.9 and greater
getTimeZoneOffset()
Int
Get time zone offset for the stop object. *Available in version 10.9 and greater
Example Output
Name: myStop
Address: Hallenstraat 19
City: Brussels
State:
Zip: 1000
Country: BE
Waypoint: false
Location:
Coordinates:50.85N, 4.35E
ID: This is id
Note: This is a note
Earliest Arrival Time:5/22/2018:13:0
Latest Arrival Time: 5/22/2018:14:0
Delivery Status:EARLY
Planned Duration:12
TimeZoneOffset:240
Side Of Street:UNKNOWN
Side Of Street Adherence:MODERATE
Advanced ETA:2018-05-31T14:32:20-04:00
Icon:myStopIcon
Custom Field : (CUSTOMCHEVRONDISPLAY:chevronmessage)
Vehicle Restricted: False
stop.isVehicleRestricted
Overview
Description
Returns true if the stop is mapped to a Vehicle Restricted Road (only allows pedestrians or bicycles). If this is true, CoPilot will route to closest road that allows vehicles.
This API will return a list of nearby streets relative to the coordinates passed to CoPilot. All nearby street names within the configurable distance, set as a maximum of 1 mile, will be returned. The number of streets returned can be set up to a maximum of 10. Streets will be returned sorted in order of distance.
This API will return a list of nearby streets relative to the coordinates passed to CoPilot. All nearby street names within the configurable distance, set as a maximum of 1 mile will be returned. The number of streets returned can be limited within the request which will be returned sorted in order of distance.
An enum that allows different types of geocoding. Geocoding attempts to match user input with actual locations in the CoPilot map database.
Supported on Android Since Version
9.6.0.1000
Type
Enum
Package
com.alk.cpik
Values
Value
Description
EXACT_MATCH_ONLY
Return only one stop. Will only return a stop that is an exact match to the input.
MULTI_MATCH
Will return a list of stops which are closest to the given information.
BEST_MATCH
Returns the best match geocoded stop from the given information.
GeocodeType
Overview
Description
An enum for the ways CoPilot will geocode a stop depending on whether the stop is entered as an address, latitude/longitude coordinates, or both.
Supported on Android Since Version
10.19.4.348
Type
Enum
Package
com.alk.cpik
Values
Value
Description
DEFAULT
If a user provides an address only, CoPilot will geocode the address (latitude/longitude coordinates will be generated). CoPilot will navigate to the closest road link to the coordinates and display the address entered.
If a user provides latitude/longitude coordinates only, CoPilot will reverse geocode the coordinates (an address will be generated). CoPilot will navigate to the closest road link to the coordinates and display the geocoded address.
If a user provides both an address and coordinates, CoPilot will:
Geocode the address and compare the air distance between the geocoded address coordinates and the input latitude/longitude coordinates.
If the street name in the address is within 1 mile of the input latitude/longitude coordinates, then CoPilot will navigate to the closest road link to the coordinates—on the road that matches the input street name. The input address is displayed in CoPilot.
If the street name in the address is not within 1 mile of the input latitude/longitude coordinates, then CoPilot will send the error, “ERROR_STREET_NOT_FOUND.” It will navigate to the closest road link to the input latitude/longitude coordinates, and display the input address.
ADDRESS_ONLY
If latitude/longitude coordinates are provided, they will not be considered.
LAT_LON_ONLY
If an address is provided, it will not be considered. However, it will be displayed in CoPilot.
StopSideAdherenceLevel
Overview
Description
An enumerated value that defines the Side of Street adherence level, which defines the extent to which CoPilot will try to route to the side of the street where a stop is located. For further details on how this can affect a route, please see the Side of Street explanation document.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
OFF
Will not reroute according to side of the street.
MINIMAL
Will increase the route by up to a maximum of 1⁄4 mile to avoid ending up on the wrong side of the street.
MODERATE
Will increase the route by up to a maximum of 1/2 mile to avoid ending up on the wrong side of the street.
AVERAGE
Will increase the route by up to a maximum of 1 mile to avoid ending up on the wrong side of the street.
STRICT
Will increase the route by up to a maximum of 5 miles to avoid ending up on the wrong side of the street.
ADHERE
Will increase the route by up to a maximum of 10 miles to avoid ending up on the wrong side of the street.
STRONGLY_ADHERE
Will route the driver by any possible means to reach the correct side of the street.
StopSide
Overview
Description
An enumerated value that represents whether the side of street of the specified stop is known. If it is known, the value will indicate if it is on the left-hand side of the road or right.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
UNKNOWN
Stop Side Unknown
LEFT
Stop Side Left
RIGHT
Stop Side Right
StopArrivalStatus
Overview
Description
An enumerated value that indicates the status of the stop relative to the defined time window.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
UNKNOWN
Arrival window status unknown
EARLY
Stop arrival time early and expected before the defined window
ON_TIME
On time with the defined arrival time window
AT_RISK
Current ETA is at risk of the arrival time window
LATE
Current ETA is later than the defined window
StopClickedInfo
Overview
Description
The StopClickedInfo class is used within the onMapStopClicked callback, which is called when a user clicks on a location on the map.
StopClickedInfo can be used to replicate the UI functionality in CoPilot, and it is specifically useful if using the CPIK No_Widget views and a custom UI. This would allow the integration application to replicate the pop up information based on a user tapping on the map screen.
Supported Since Version
10.14
Platforms Supported
Android, iOS Linux
Type
Class
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getClickedStop()
Stop
Gets information about the stop that was clicked.
getClickType()
StopClickType
Lets you distinguish whether a click on the map was a road, origin, destination, waypoint or intermediate stop.
toString()
String
Returns the string representation of the Stop object.
getClickType
Overview
Description
Lets you distinguish whether a click on the map was a road, origin, destination, waypoint or intermediate stop.
ArrivalTimeWindowInfo is a class that is used to assign a time window. Date information (i.e., day, month and year) are optional, but minutes from midnight is required. If user only specifies minutes from midnight, CoPilot will use today’s date. Minutes from midnight is the time since midnight in minutes. For example, if minutes from midnight is set to 960, this equates to a time of 4:00PM.
Favorite objects have many optional parameters, and should be built via this FavoriteBuilder class. Favorites are CoPilot’s list of a user’s favorite locations.
For example: Favorite myFavorite = new FavoriteBuilder.setName(“MyFavorite”).setCountry(“US”).build();
Constructs and returns a new favorite object with the information that has been set using a FavoriteBuilder object.
Sample Code
doublelatitude=40.367709;doublelongitude=-74.655784;// Creating the favorite GeneralFavoritefavoriteGeneral=newFavoriteBuilder().setName("Favorite A").setCoordinates(newCoordinate(latitude,longitude)).setFavoriteType(Favorite.FavoriteType.GENERAL).build();// Creating the favorite HomeFavoritefavoriteHome=newFavoriteBuilder().setStreetAddress("457 N Harrison St").setCity("Princeton").setState("NJ").setFavoriteType(Favorite.FavoriteType.HOME).build();// Creating the favorite WorkFavoritefavoriteWork=newFavoriteBuilder().setStreetAddress("457 N Harrison St").setCity("Princeton").setState("NJ").setFavoriteType(Favorite.FavoriteType.WORK).build();// adding created Favorites in CopilotCopilotMgr.addFavorite(favoriteGeneral);CopilotMgr.addFavorite(favoriteHome);CopilotMgr.addFavorite(favoriteWork);
Favorite objects contain information to be used in CoPilot’s list of a user’s favorite locations. Favorite objects have many optional parameters and cannot be constructed by themselves. They should be created via a FavoriteBuilder object.
A class containing static methods for setting and checking various CoPilot features and settings.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Class
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
enableMotionLock(boolean) Deprecated, use setMotionLockMode.
void
Enables or disables Motion Lock, which locks the navigation map when the vehicle is in motion.
getMotionLockEnabled() Deprecated, use getMotionLockMode
Boolean
Returns whether Motion Lock is enabled or disabled.
setMotionLockMode(MotionLockMode)
void
Motion lock will lock the CoPilot UI once traveling above a specified speed. The UI can be locked down over a different range of modes, restricting more or less of the UI based on integration needs.
Returns a CopilotVersion object containing information about CoPilot’s application version number and map data version.
setTurnInstructionCallbackDelay(int)
void
Sets the time between when turn instruction callbacks onReadyToSpeakTurnInstruction and onSpeakTurnInstructionComplete are fired when CoPilot starts speaking.
getTurnInstructionCallbackDelay()
Int
Retrieves the current delay between when the turn instruction callbacks onReadyToSpeakTurnInstruction and onSpeakTurnInstructionComplete.
getView() [Android only]
View
Retrieves the view associated with the CoPilot service.
isActive() [Android only]
Boolean
Determines if CoPilot can receive API calls. APIs can only be called after the onCPStartup callback is sent and before the onCPShutdown callback returns.
enableGPS() [Android only]
void
Restarts the CoPilot GPS Service and resumes all suspended GPS activities including listening, and processing.
disableGPS() [Android only]
void
Suspends background GPS/routing processing and deregister the CoPilot GPS Service. Background Navigation will not work after this API call.
Sets the CopilotStartupParams object that contains overridden methods used during CoPilot Startup.
addFavorite(Favorite)
void
Adds a new favorite to CoPilot’s favorites list.
removeFavorite(int)
void
Removes a favorite from CoPilot.
getFavoritesList()
List<Favorite>
Returns the list of favorites currently stored in CoPilot’s favorites list.
CoPilotMgr.singleSearchInit
Overview
Description
This API initiates single search. This includes several HTTP requests and requires internet connection. Once the initialization has successfully finished, a callback onSingleSearchReady will be returned indicating that the other Single Search APIs are available to use. Note: This API must be called and the onSingleSearchReady callback received before Single Search APIs can be used.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Method
Package
com.alk.cpik
Sample Code
CopilotMgr.singleSearchInit();// In your CopilotListener file@OverridepublicvoidonSingleSearchReady(){// Single search is ready}
SingleSearchError
Overview
Description
A response enum from a request to the Single Search web service. Responses will provide information on the result of the request including specific reasons if a request fails.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
OK
Successfully get the single search response
FAILURE_INIT
Failed to initialize single search
FAILURE_WEBSERVICE
Single Search Web Service returns errors
FAILURE_CONNECT
There are network connection issues
FAILURE_INVALID_JSON
While using singleSearchJSON API, the JSON parameter user passes in is invalid
FAILURE_DATA_NOT_LICENSED_OR_NOT_INSTALLED
You requested data is either not licensed or not installed
FAILURE_DATA_NOT_AVAILABLE_FOR_RESULT
The stop results returned from single search web service are not valid in CoPilot installed data
FAILURE_GENERIC
Unknown errors
CopilotMgr.singleSearch
Overview
Description
This API is used for a Single Search query. It will send user’s query string together with all default search settings to the Single Search web service. This API is not synchronous. A callback onSingleSearchFinished will be returned once web service gives the response back.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Method
Package
com.alk.cpik
Syntax - static void singleSearch(String query)
Parameters
String: Single search query string. Can be address, POI name, street name, city name, zip.
Sample Code
CopilotMgr.singleSearch("1 independence way princeton nj");// In your CopilotListener file@OverridepublicvoidonSingleSearchFinished(StopListstopList,SingleSearchErrorerror){if(SingleSearchError.OK==error){// Do something with stopList}else{// Do something with error}}
CopilotMgr.singleSearchJSON
Overview
Description
This API is used for Single Search query. User needs to pass a JSON string containing the query with the customized search settings. This API is not synchronous. A callback onSingleSearchFinished will be fired once web service gives the response back.
Parameters
String: A json string that contains query string as well as search settings. Below is an example:
{"Query":"1 independence way princeton nj","MaxResults":20,"Location":{"Address":{"StreetAddress":"1 independence way","City":"Princeton","State":"NJ","Zip":"08540","County":"Mercer","Country":""},"Coords":{"Lat":"40.361076","Lon":"-74.601515"}},"Searchtype":1,// Searchtype filters search results so that the API only returns certain types of matching locations.
// Possible values are: 0 - ALL (Default), 1- ADDRESS_ONLY, 2- POI_ONLY, 3- CITY_ONLY, 4- CUSTOM_PLACE_ONLY
"PoiCategories":["Airport","bank","CAT scales"],"Countries":["CA","US","GL"],"States":["NJ","NM"]
Sample Code
// Assuming you formed the json into queryJSONCopilotMgr.singleSearchJSON(queryJSON);// In your CopilotListener file@OverridepublicvoidonSingleSearchFinished(StopListstopList,SingleSearchErrorerror){if(SingleSearchError.OK==error){// Do something with stopList}else{// Do something with error}}
CopilotMgr.getSingleSearchPOICategories
Overview
Description
This API is used to get a list of POI categories that can be recognized by Single Search web service. This is used to form the json string for singleSearchJSON API, specifically the “PoiCategories” field.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Method
Package
com.alk.cpik
Syntax - static List getSingleSearchPOICategories()
Return Values - List
Sample Code
List<String>poiCategories=CopilotMgr.getSingleSearchPOICategories();Stringresult="";for(Stringpoi:poiCategories){// Do something with poi}
CopilotMgr.getSingleSearchCountries
Overview
Description
This API will return the list of countries the user is able to search within. User may need it to form the json string (the “Countries” field) for singleSearchJSON API. Please note the countries that are returned must have been licensed, map data present on the device and those countries supported by the Single Search Web service.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Package
com.alk.cpik
Syntax - static List getSingleSearchCountries ()
Return Values - List
Sample Code
List<String>countries=CopilotMgr.getSingleSearchCountries();Stringresult="";for(Stringcountry:countries){// Do something with country}
CopilotMgr.getSingleSearchStates
Overview
Description
This API will return the list of states the user is able to search within. User may need it to form the json string (the “States” field) for singleSearchJSON API. Please note the states that are returned are those within regions that have been licensed, appropriate map data is present on the device and those states supported by the Single Search Web service.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Method
Package
com.alk.cpik
Sample Code
List<String>states=CopilotMgr.getSingleSearchStates();Stringresult="";for(Stringstate:states){// Do something with state}
Motion Lock
Motion Lock is a safety feature within CoPilot which limits access to the CoPilot UI once traveling above a threshold speed. This feature has been enhanced to increase the amount of interaction that is available through multiple modes available.
CoPilotMgr.setMotionLockMode
Overview
Description
Motion lock will lock the CoPilot UI once traveling above a specified speed. The UI can be locked down over a different range of modes, restricting more or less of the UI based on integration needs. The threshold at which Motion Lock will be initiated should be set using setMotionLockSpeedThreshold. This API is just to set the lock mode, it’s not responsible for the actual lock to be activated.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Method
Package
com.alk.cpik
Syntax
staticvoidsetMotionLockMode(MotionLockModemode)
Parameters
Parameter
Description
MotionLockMode
The mode that you want CoPilot to locked down to once motion lock has been initiated. This will dictate the available options once traveling above the specified threshold speed.
Sample Code
// set ALL_UI_LOCK modeCopilotMgr.setMotionLockMode(MotionLockMode.ALL_UI_LOCK);
CopilotMgr.getMotionLockMode
Overview
Description
To return the current Motion Lock mode this API should be used. The mode dictates the extent to which the CoPilot UI will be locked down once initiated and traveling above the threshold speed. This will not return the threshold speed.
A value representing the Motion Lock UI mode that CoPilot will apply when motion lock is activated.
Supported Since Version
10.9
Platforms Supported
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
ALL_UI_UNLOCK
Unlock all UI, do not lock any UI elements when traveling above the threshold speed.
ALL_UI_LOCK
Lock all UI when traveling above the defined threshold speed. This will also disable all pop ups except for the destination arrival pop up. All action required pop-ups have a default decision which will be followed if they are shown.
ONLY_DRIVING_UI_ACCESS
Only allow access to driving functions. This will Lock access to the entire UI with the exception of the following:
Driving Menu → 2D/3D Driving menu → Directions/Safety Driving Menu → Clear Destination Driving Menu → Close Zoom buttons on map Reset to current location button on map POI Alert button on map Popups Map drag/swipe/pan/multi touch Sound mute button Mapsure button on navigation dialog
This is the default mode available within the CoPilot UI.
ONLY_DRIVING_UI_ACCESS_EXTEND
ONLY_DRIVING_UI_ACCESS plus access to the following (disable keyboard):
Driving Menu → Find POIs Main POI categories Search All More Categories Driving Menu → My Route → Alternate Go (Green circular button on plan trip screen) Traffic Bar and traffic refresh button Buttons in flow traffic map except for the setting button
PASSENGER_MODE
Allow a temporary disablement of Motion Lock when used by a passenger. Motion Lock settings should be resumed upon restarting CoPilot. When this mode is set, all UI will be unlocked. Once the application is re-launched CoPilot will resume in the previous MotionLock mode. To enable this mode the following configuration is required to be set within the user.cfg:
[User Settings] “EnablePassengerMode”=1
Once this is set this mode being passed will replicate the user selecting the passenger mode button within the UI.
CopilotMgr.getMotionLockEnabled
Overview
Description
Returns whether or not Motion Lock is currently enabled. Motion Lock will lock the CoPilot navigation screen, preventing user input, then the current speed is greater than or equal to a certain threshold. This threshold can be set using setMotionLockSpeedThreshold.
Supported on Android Since Version
9.6.0.821
Deprecated on Android Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleangetMotionLockEnabled()
+(bool)getMotionLockEnabled
Return Value
Boolean - True if enabled, false if disabled.
Sample Code
// Print out whether or not motion lock is enabled{try{booleanbMotionLockEnabled=CopilotMgr.getMotionLockEnabled();System.out.println("Motion lock enabled: "+String.valueOf(bMotionLockEnabled));}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}}
NSLog([NSStringstringWithFormat:@"Motion Lock is: %@",([CopilotMgrgetMotionLockEnabled]==false)?@"Not enabled":@"Enabled"]);
CopilotMgr.enableMotionLock
Overview
Description
Enables or disables the Motion Lock in CoPilot. Motion Lock will lock the CoPilot navigation screen, preventing user input, when the current speed is greater than or equal to a certain threshold. This threshold can be set using setMotionLockSpeedThreshold.
Supported on Android Since Version
9.6.0.821
Deprecated on Android in Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
voidenableMotionLock(Booleanenable)
+(bool)enableMotionLock:(bool)
Parameters
boolean enable - Set to true to enable, false to disable.
Returns the current speed threshold at which Motion Lock will be enabled. Motion Lock will lock the CoPilot navigation screen, preventing user input, when the vehicle’s speed reaches this threshold.
try{// Get the current motion lock speed threshold and printMotionLockSpeedThresholdthreshold=CopilotMgr.getMotionLockSpeedThreshold();switch(threshold){caseLEVEL_1:System.out.println("Motion lock will enable at 5 MPH");break;caseLEVEL_2:System.out.println("Motion lock will enable at 10 MPH");break;caseLEVEL_3:System.out.println("Motion lock will enable at 15 MPH");break;caseLEVEL_4:System.out.println("Motion lock will enable at 20 MPH");break;default:System.out.println("Motion lock threshold is not set");break;}}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
NSString*value=[[[NSStringalloc]init]autorelease];switch([CopilotMgrgetMotionLockSpeedThreshold]){caseCP_LEVEL_NOT_SET:value=@"CP_LEVEL_NOT_SET";break;caseCP_LEVEL_1:value=@"CP_LEVEL_1";break;caseCP_LEVEL_2:value=@"CP_LEVEL_2";break;caseCP_LEVEL_3:value=@"CP_LEVEL_3";break;caseCP_LEVEL_4:value=@"CP_LEVEL_4";break;default:break;}NSLog([NSStringstringWithFormat:@"Motion Lock Speed threshold is: %@",value]);
CopilotMgr.setMotionLockSpeedThreshold
Overview
Description
Sets the threshold (in mph) for enabling and disabling Motion Lock. Motion Lock prevents user interaction with CoPilot while driving at or above a specified speed threshold. The values for this API can be found in the MotionLockSpeedThreshold Enum API.
speedThreshold – An Enum indicating the speed limit which, once reached, will enforce Motion Lock.
Sample Code
Java
try{// Set motion lock to enable at speeds over 5 MPHCopilotMgr.setMotionLockSpeedThreshold(MotionLockSpeedThreshold.LEVEL_1);// Set motion lock to enable at speeds over 15 MPHCopilotMgr.setMotionLockSpeedThreshold(MotionLockSpeedThreshold.LEVEL_3);}catch(CopilotExceptione){System.out.println("Exception! : "+e.toString());}
Returns the measurement type currently set within CoPilot, metric or imperial. Units of Measurement are used for functions including speed, distance and vehicle dimensions.
Supported on Android Since Version
9.6.0.821
Supported on Android Since Version
10.9
Type
Method
Package
com.alk.cpik
Measure
Metric
Imperial
Speed
Kilometers per Hour (KPH)
Miles per Hour (MPH)
Distance
Kilometers, Meters, Centimeters
Miles, Feet, Inches
Vehicle Dimensions
Meters, Centimeters, Ton
Feet, Inches, Ton, 000’s Pounds (US)
Syntax
UnitsOfMeasuregetUnitsOfMeasure()
+(CP_UnitsOfMeasure)getUnitsOfMeasure
Return Value
UnitsOfMeasure - An Enum representing either metric or imperial units.
Sample Code
try{// Print which measurement system CoPilot is usingUnitsOfMeasurecurrentUnits=CopilotMgr.getUnitsOfMeasure();if(currentUnits==UnitsOfMeasure.METRIC)System.out.println("CoPilot is using the metric units");elseif(currentUnits==UnitsOfMeasure.IMPERIAL)System.out.println("CoPilot is using the imperial units");}catch(CopilotExceptione){e.printStackTrace();
NSString*isMetric;if([CopilotMgrgetUnitsOfMeasure]==CP_METRIC)isMetric=@"Units of measure: Metric";elseisMetric=@"Units of measure: Imperial";NSLog(isMetric);
CopilotMgr.setUnitsOfMeasure
Overview
Description
Sets whether metric or imperial values should be used within CoPilot. Units of Measurement are used for functions including speed, distance and vehicle dimensions.
Supported on Android Since Version
9.6.0.757
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Measure
Metric
Imperial
Speed
Kilometers per Hour (KPH)
Miles per Hour (MPH)
Distance
Kilometers, Meters, Centimeters
Miles, Feet, Inches
Vehicle Dimensions
Meters, Centimeters, Ton
Feet, Inches, Ton, 000’s Pounds (US)
Syntax
voidsetUnitsOfMeasure(UnitsOfMeasure)
+(void)setUnitsOfMeasure(enumCP_UnitsOfMeasure)
Parameters
UnitsOfMeasure - An Enum representing either metric or imperial units.
Return Value
Void
Sample Code
try{// Set CoPilot to use the metric unit systemCopilotMgr.setUnitsOfMeasure(UnitsOfMeasure.METRIC);// Set CoPilot to use the imperial unit systemCopilotMgr.setUnitsOfMeasure(UnitsOfMeasure.IMPERIAL);}catch(CopilotExceptione){e.printStackTrace();}
Returns a CoPilot version object, which includes details of the currently installed CoPilot application version number as well as the map data release (year and quarter).
Supported on Android Since Version
9.6.0.821
Supported on Android Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
CopilotVersionStringgetVersionInfo()
+(CoPilotVersion*)getVersionInfo
Return Value
CopilotVersion containing information about the version of the CoPilot application and map data.
Sample Code
try{// Print information about CoPilotCopilotVersioncurrVersion=CopilotMgr.getVersionInfo();System.out.println("CoPilot application version: "+currVersion.getAppVersion());System.out.println("CoPilot map data version: "+currVersion.getDataVersion());System.out.println("CoPilot map data year: "+currVersion.getDataYear());System.out.println("CoPilot map data quarter: "+currVersion.getDataQuarter());}catch(CopilotExceptione){e.printStackTrace();}
Allows the integrated application to set a time delay between the notification that a turn instruction is about to be played and when CoPilot actually starts to speak. This is used to delay the announcement, allowing for the muting of other audio such as a radio or a third-party application announcement.
The delay is in milliseconds, and will impact the onReadyToSpeakTurnInstruction and onSpeakTurnInstructionComplete.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
voidsetTurnInstructionCallbackDelay(intdelay)
+(void)setTurnInstructionCallbackDelay:(int)
Parameters
Delay – The number of milliseconds for which to delay the time between turn instruction callbacks and speech instructions. Must be between 0 and 2000, inclusive.
Sample Code
try{// Set the delay to 1.5 secondsintdelayMilliSecond=1500;CopilotMgr.setTurnInstructionCallbackDelay(delayMilliSecond);System.out.println("TurnInstructionCallbackDelay is set for "+delayMilliSecond+" millisecond");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrsetTurnInstructionCallbackDelay:500];
CopilotMgr.getTurnInstructionCallbackDelay
Overview
Description
Retrieves the current time delay between the notification a turn instruction is about to be played and when CoPilot actually starts to speak. The delay is in milliseconds.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
intgetTurnInstructionCallbackDelay()
+(int)getTurnInstructionCallbackDelay
Return Value
Returns an int value to represent delay in milliseconds.
Sample Code
try{// Print the current turn instruction delayintcurrDelayMs=CopilotMgr.getTurnInstructionCallbackDelay();System.out.println("Current delay: "+String.valueOf(currDelayMs)+"milliseconds");}catch(CopilotExceptione){e.printStackTrace();}
Retrieves the view associated with the CoPilot service. CoPilot only has one view; multiple calls to this function will return the same instance. In order to reuse the view, it must be removed from its parent. If CoPilot should have focus, requestFocus() must be used instead.
Supported on Android Since Version
9.6.0.821
Type
Method
Package
com.alk.cpik
Syntax
ViewgetView
Parameters
None
Return Value
android.view.View object
Sample Code
// getting current CoPilot viewViewv=CopilotMgr.getView();// View needs focus in order to bring up the keyboard and handle navigation within CoPilot with the back buttonv.requestFocus();
CopilotMgr.isActive
Overview
Description
Determines whether or not CoPilot is able to receive API calls. APIs can be called only after onCPStartup is sent and before onCPShutdown returns.
Supported on Android Since Version
9.6.0.821
Type
Method
Package
com.alk.cpik
Syntax
booleanisActive()
Parameters
None.
Return Value
Boolean - True if CoPilot is ready to receive API calls, false otherwise.
Sample Code
// Print whether or not CoPilot is ready to receive API callsif(CopilotMgr.isActive())System.out.println("CoPilot is ready to receive API calls.");elseSystem.out.println("CoPilot is NOT ready to receive API calls.");
CopilotMgr.setCopilotStartupParameters
Overview
Description
Sets a CopilotStartupParams object that contains overridden methods used during CoPilot Startup.
Restarts the CoPilot GPS Service and resumes all suspended activities following the API call CopilotMgr.disableGPS(). CoPilot will register with the GPS receiver to initiate listening and processing the current position again.
Supported on Android Since Version
9.6.0.1184
Supported on Android Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
voidenableGPS()
Parameters
None.
Return Value
void
Sample Code
try{// Resume CoPilot GPS ServiceCopilotMgr.enableGPS();System.out.println("GPS is enabled.");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrenableGPS];
CopilotMgr.disableGPS
Overview
Description
Attempts to minimize CPU usage by suspending background GPS/routing processing and unregistering the CoPilot GPS Service. Background navigation will not work after this API call; this will mean that your application cannot retrieve updated ETA or distance information.
Supported on Android Since Version
9.6.0.1184
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
voiddisableGPS()
Parameters
None.
Return Value
void
Sample Code
try{// Unregister the CoPilot GPS serviceCopilotMgr.disableGPS();System.out.println("GPS is disabled.");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrdisableGPS];
CopilotMgr.setBillingProvider
Overview
Description
Sets a third-party, in-app billing provider that should be used by CoPilot for in-app billing operations. This requires implementation of the IBillingProviderInterface interface. This requires integration with googleplaybilling.jar which is included in the “Library and Resources/jars” folder of the initial application delivery.
billingProvider - Implementation of the com.alk.copilot.IBillingProviderInterface interface.
Return Value
void
Sample Code
// Set billing providerfinalintbillingRequestCode=1;ActivityactivityPointer=newMainActivity();IBillingProviderInterfacebillingProvider=newBillingManager(activityPointer,billingRequestCode);// user can use 'this' instead of activityPointerCopilotMgr.setBillingProvider(billingProvider);
CopilotMgr.addFavorite
Overview
Description
Adds a new favorite location (address or point of interest) to CoPilot’s favorite list. FavoriteStop must be geocoded and the lat/long set within FavoriteBuilder before calling this API. Once favorites have been successfully added, they will be available for the driver to select in the CoPilot address entry screen. Favorites can be assigned a name and address, and they can also be set to different types, including Home, Work, and General.
// Add a new favorite to CoPilotFavoriteBuilderfavoriteBuilder=newFavoriteBuilder();favoriteBuilder.setName("Trimble Maps");favoriteBuilder.setStreetAddress("457 N Harrison St");favoriteBuilder.setCity("Princeton");favoriteBuilder.setState("NJ");favoriteBuilder.setZip("08540");favoriteBuilder.setFavoriteType(Favorite.FavoriteType.GENERAL);Favoritefavorite=favoriteBuilder.build();CopilotMgr.addFavorite(favorite);
Removes unwanted locations from CoPilot’s favorite list. The favorite list can be retrieved by calling CopilotMgr.getFavoritesList(). Once successfully removed, the driver will no longer see the unwanted locations in CoPilot.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik.trip
Syntax
voidremoveFavorite(int)
(void)removeFavorite:(int)
Parameters
Index - The index of the location to be removed within the favorites list, as returned by a call to CopilotMgr.getFavoritesList().
Sample Code
// Remove a favoriteList<Favorite>favoriteList=CopilotMgr.getFavoritesList();// Remove the first favorite in above favoriteListintindexToRemove=0;CopilotMgr.removeFavorite(indexToRemove);System.out.println("Favorite "+favoriteList.get(indexToRemove).toString()+" is removed.");
[CopilotMgrremoveFavorite:0];
CopilotMgr.getFavoritesList
Overview
Description
Returns the list of all favorites currently stored in CoPilot’s favorites list. This list will match the complete list available within the CoPilot address search menu.
Supported on AndroidSince Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
java.util.ListgetFavoritesList()
+(NSArray*)getFavoriteList
Return Value
java.util.List - Returns the list of favorites currently stored in CoPilot’s favorites list.
Sample Code
// Print out the list of favoritesList<Favorite>favoriteList=CopilotMgr.getFavoritesList();for(intcurrFavIndex=0;currFavIndex<favoriteList.size();currFavIndex++){FavoritecurrentFavorite=favoriteList.get(currFavIndex);System.out.println("Favorite Type "+currentFavorite.getFavoriteType());System.out.println("Favorite Name "+currentFavorite.getName());System.out.println("Favorite Address "+currentFavorite.getAddress());System.out.println("Favorite City "+currentFavorite.getCity());System.out.println("Favorite Country "+currentFavorite.getCountry());System.out.println("Favorite Zip "+currentFavorite.getZip());System.out.println("Favorite State "+currentFavorite.getState());System.out.println("Favorite Coordinate "+currentFavorite.getCoordinate());//to get all values at the same time we can useSystem.out.println(currentFavorite.toString());}
bEnable – Enables or disables the global use of cellular data.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForGlobalUsage(bEnable);if(bEnable)System.out.println("allowCellularDataForGlobalUsage is set as enabled");elseSystem.out.println("allowCellularDataForGlobalUsage is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrallowCellularDataForGlobalUsage:true];
CopilotMgr.isAllowingCellularDataForGlobalUsage
Overview
Description
Retrieves the current setting for global cellular data usage, enabled or disabled. This needs to return true before any other cellular data configurations can be changed.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForGlobalUsage()
+(bool)isAllowingCellularDataForGlobalUsage
Return Value
Boolean - True if CoPilot is using cellular data, false otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForGlobalUsage();if(bEnabled)System.out.println("CellularDataForGlobalUsage is allowed.");elseSystem.out.println("CellularDataForGlobalUsage is not allowed. ");}catch(CopilotExceptione){e.printStackTrace();}
Sets whether or not cellular data can be used when providing map data feedback to Trimble Maps. If disabled, users will only be able to provide map data feedback via a Wi-Fi connection. This feature is only available for Trimble’s own data for North America.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
allowCellularDataForFeedback(booleanbEnable)
+(bool)isAllowingCellularDataForGlobalUsage
Parameters
bEnable – Enables or disables the use of cellular data for feedback.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForFeedback(bEnable);if(bEnable)System.out.println("allowCellularDataForFeedback is set as enabled");elseSystem.out.println("allowCellularDataForFeedback is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrallowCellularDataForFeedback:true];
CopilotMgr.isAllowingCellularDataForFeedback
Overview
Description
Retrieves the current setting from CoPilot of whether or not cellular data is enabled for providing map data feedback to ALK Technologies. This feature is only available for ALK’s own data for North America.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForFeedback()
+(bool)isAllowingCellularDataForFeedback
Return Value
Boolean - True if CoPilot is using cellular data for feedback, false otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForFeedback();if(bEnabled)System.out.println("CellularDataForFeedback is allowed.");elseSystem.out.println("CellularDataForFeedback is not allowed. ");}catch(CopilotExceptione){e.printStackTrace();s}
Sets whether or not cellular data can be used to download map data to the device. CoPilot map data is stored locally on a device. Due to the potential size of map data, it is recommended that cellular data use should not be allowed for map downloads without considering the monthly cellular data limits for the device.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Note:
Map data sizes vary per region, but can be up to 5 GB.
Boolean - Set to true to use cellular data for map data downloads, false
otherwise.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForMapDownloads(bEnable);if(bEnable)System.out.println("allowCellularDataForMapDownloads is set as enabled");elseSystem.out.println("allowCellularDataForMapDownloads is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
Retrieves the current setting from CoPilot of whether or not map data can be downloaded using the cellular network.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForMapDownloads()
+(bool)isAllowingCellularDataForMapDownloads
Return Value
Boolean - True if CoPilot is using cellular data for map downloads, false
otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForMapDownloads();if(bEnabled)System.out.println("CellularDataForMapDownloads is allowed.");elseSystem.out.println("CellularDataForMapDownloads is not allowed. ");}catch(CopilotExceptione){e.printStackTrace();}
bEnable – Enables or disables the use of cellular data for news and updates.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForNewsAndUpdates(bEnable);if(bEnable)System.out.println("allowCellularDataForNewsAndUpdates is set as enabled");elseSystem.out.println("allowCellularDataForNewsAndUpdates is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
Retrieves the current setting in CoPilot for whether or not cellular data can be used for news and updates.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForNewsAndUpdates()
+(bool)isAllowingCellularDataForNewsAndUpdates
Return Value
Boolean - True if CoPilot is using cellular data for news and updates, false otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForNewsAndUpdates();if(bEnabled)System.out.println("CellularDataForNewsAndUpdates is allowed.");elseSystem.out.println("CellularDataForNewsAndUpdates is not allowed.");}catch(CopilotExceptione){e.printStackTrace();}
Sets whether or not cellular data can be used for destination searches using third-party suppliers. Address and point of interest (POI) search is managed locally on the device using the onboard maps, but CoPilot also has plug-ins to third-party suppliers for extra locations and information. These third-party searches require an internet connection. If you disable cellular data for Address and POI searches, it would also be advisable to disable that search menu option in CoPilot. (The feature is likely to be required while the driver is not connected to Wi-Fi.) To do this, please see additional documentation for customizing the CoPilot user interface.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
voidallowCellularDataForSearch(booleanbEnable)
+(void)allowCellularDataForSearch:(bool)bEnable
Parameters
bEnable – Enables or disables the use of cellular data for searches.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForSearch(bEnable);if(bEnable)System.out.println("allowCellularDataForSearch is set as enabled");elseSystem.out.println("allowCellularDataForSearch is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrallowCellularDataForSearch:true];
CopilotMgr.isAllowingCellularDataForSearch
Overview
Description
Retrieves the current setting in CoPilot of whether or not cellular data can be used for destination searches using third-party suppliers.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForSearch()
+(bool)isAllowingCellularDataForSearch
Return Value
Boolean - True if CoPilot is using cellular data for searches, false otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForSearch();if(bEnabled)System.out.println("CellularDataForSearch is allowed.");elseSystem.out.println("CellularDataForSearch is not allowed.");}catch(CopilotExceptione){e.printStackTrace();}
Sets whether or not cellular data can be used to download the required system files. CoPilot system files include translated text languages as well as voice files used for guidance instructions.
bEnable – Enables or disables the use of cellular data for system files.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForSystemFiles(bEnable);if(bEnable)System.out.println("allowCellularDataForSystemFiles is set as enabled");elseSystem.out.println("allowCellularDataForSystemFiles is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
[CopilotMgrallowCellularDataForSystemFiles:true];
CopilotMgr.isAllowingCellularDataForSystemFiles
Overview
Description
Retrieves the current setting in CoPilot of whether or not cellular data can be used for downloading required system files.
Supported Since Version
9.6.0.821
Platforms Supported
Android
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForSystemFiles()
+(bool)isAllowingCellularDataForSystemFiles
Return Value
Boolean - True if CoPilot is using cellular data for system files, false otherwise.
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForGlobalUsage();if(bEnabled)System.out.println("CellularDataForGlobalUsage is allowed.");elseSystem.out.println("CellularDataForGlobalUsage is not allowed. ");}catch(CopilotExceptione){e.printStackTrace();}
Sets whether or not cellular data can be used for the CoPilot ActiveTraffic service. CoPilot’s ActiveTraffic service requires a regular connection to the internet. If ActiveTraffic is enabled but this setting is disabled, it will make using the live traffic service inconsistent and unreliable. Using Wi-Fi only is likely to cause breaks in the communication, and traffic data that is older than 15 minutes since the last synchronization is flushed as expired.
bEnable – Enables or disables the use of cellular data for traffic services.
Sample Code
try{booleanbEnable=true;CopilotMgr.allowCellularDataForTrafficServices(bEnable);if(bEnable)System.out.println("allowCellularDataForTrafficServices is set as enabled");elseSystem.out.println("allowCellularDataForTrafficServices is set as disabled");}catch(CopilotExceptione){e.printStackTrace();}
Retrieves the current setting in CoPilot of whether or not cellular data can be used for the ActiveTraffic service.
Supported on Android Since Version
9.6.0.821
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
booleanisAllowingCellularDataForTrafficServices()
+(bool)isAllowingCellularDataForTrafficServices
Return Code
Boolean value to retrieve the setting being used for cellular data for traffic services
Sample Code
try{booleanbEnabled=CopilotMgr.isAllowingCellularDataForTrafficServices();if(bEnabled)System.out.println("CellularDataForTrafficServices is allowed.");elseSystem.out.println("CellularDataForTrafficServices is not allowed. ");}catch(CopilotExceptione){e.printStackTrace();}
Returns a list of all of the point of interest (POI) categories in CoPilot.
Supported on Android Since Version
9.6.4.
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
ListgetPOICategories()
+(NSArray*)getPOICategories
Return Value
List - The list of CoPilot’s POI categories.
Sample Code
List<POICategory>poiCategoryList=CopilotMgr.getPOICategories();for(POICategorypoiCategory:poiCategoryList)System.out.println("POI Category ID: "+String.valueOf(poiCategory.getID())+"\n POI Category Name :"+poiCategory.getName());
–
CopilotMgr.searchPOIsNearLocation
Overview
Description
Searches for points of interest (POIs) in one or more specific categories (such as restaurant, fuel or hotels) near a location. The results of the search are sent to POIListener.onPOISearchResult for each listener passed in and registered with POIListener.
Searches for points of interest (POIs) in one or all categories (such as restaurant, fuel or hotels) along the planned route. CoPilot will search for POIs up to 5 miles away from the planned route. The results of the search are sent to POIListener.onPOISearchResult for each listener passed in and registered with POIListener.
maxResults - The maximum number of results to return.
resultCallbacks - A List of POIListener for which to send the onPOISearchResults callback as search results are found.
Sample Code
List<POIListener>listenerList=newArrayList<POIListener>();POIListenermPOIListener=newPOIListener(){@OverridepublicvoidonPOISearchResults(List<POISearchResult>poiSearchResult,booleanbSearchComplete){}};POIListener.registerListener(mPOIListener);listenerList.add(mPOIListener);intallCategoryID=2;intmaxResults=10;// Support only in 9.6.8 versionCopilotMgr.searchPOIsAlongRoute("All Categories",allCategoryID,maxResults,listenerList);
CopilotMgr.cancelPOISearch
Overview
Description
Cancels the point of interest (POI) search that is running following the initial request.
Enables or disables point of interest (POI) alerts, see POI Settings. POI alerts are provided to the driver during guidance to inform him or her of specific POI categories. These alerts are received via POIListener.onPOIAlert.
//for disable POI alertsPOISettingsdisablePOIAlerts=newPOISettings();disablePOIAlerts.setPOIAlertEnabled(false);CopilotMgr.setPOIAlertSettings(disablePOIAlerts);System.out.println("POIAlert disabled.");//for enable POI alertsPOISettingsenablePOIAlerts=newPOISettings();enablePOIAlerts.setPOIAlertEnabled(true);CopilotMgr.setPOIAlertSettings(enablePOIAlerts);System.out.println("POI Alerts Enabled");
CopilotMgr.getPOIAlertSettings
Overview
Description
Gets settings in relation to POI alerts, see POISettings. These alerts are received via POIListener.onPOIAlert(List).
Supported on Android Since Version
9.6.0.
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Syntax
POISettingsgetPOIAlertSettings()
+(POISettings*)getPOIAlertSettings;
Return Value
POISettings - representing current CoPilot POI alert settings.
Sample Code
POISettingscurrentSettings=CopilotMgr.getPOIAlertSettings();System.out.println("POI Alerts "+(currentSettings.getPOIAlertEnabled()?"Enabled":"Disabled"));System.out.println("Location "+currentSettings.getPOIAlertLocation());System.out.println("Distance "+currentSettings.getPOIAlertDistance());System.out.println("Category "+currentSettings.getPOIAlertCategories());//and to print all at the same time we can useSystem.out.println("POI Alerts all values "+currentSettings.getPOIAlertCategories());
CoPilotMgr.updatePOICategoriesDisplayStatus
Overview
Description
This API should be used to select the POI categories displayed on the map, for instance, Restaurant, or Gas/Fuel, etc. This has the same function as the tick boxes present on the Currently Displayed POIs screen available through the CoPilot UI. This API should be used in conjunction with UIMgr.setPOIDisplaySetting to manage when these POI categories are displayed. Please note when using this API all POIs are defaulted to be displayed on the map. As a result, the first call to CoPilot needs to include the categories that you wish to hide. Within POICategory, isDisplayedOnMap can be used to identify the categories that are being shown on the map to determine those which you wish to hide. This can be returned via CoPilotMgr.getPOICategories.
List<POICategory - a list of POICategories that is going to be updated
Sample Code
// Hide a POI Category in CoPilot UIList<POICategory>poiCates=CopilotMgr.getPOICategories();List<POICategory>poiCatesToUpdate=newList<POICategory>();POICategorycat=poiCates.get(0);cat.setDisplayOnMap(false);poiCatesToUpdate.add(cat);CopilotMgr.updatePOICategoriesDisplayStatus(poiCatesToUpdate);
POICategory
Overview
Description
Object representing a POI category in CoPilot. Examples of POI categories would be Restaurant, Gas/Fuel, Hotel & Accommodation etc.
Supported on Android Since Version
10.9
Type
Object
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getID()
int
Integer ID for the POI category. This is needed for CopilotMgr.searchPOIsNearLocation and CopilotMgr.searchPOIsAlongRoute
getName()
String
String description of the POI category
isDisplayedOnMap()
boolean
Indicate this POI category is displaying in CoPilot map or not
setDisplayOnMap(boolean)
void
Set this POI category to display or hide in CoPilot map
CopilotMgr.integrateCustomPOIs
Overview
Description
This API is used to draw custom places of interest (POIs) on the map. POIs are grouped into sets and each set is described using the JSON format shown below. You can display POIs on the map using CoPilot’s default icons for each POI category or by adding your own custom icons in the icon field.
Supported on Android Since Version
10.9
Supported on iOS Since Version
10.9
Type
Method
Package
com.alk.cpik
Json Example
[{"Name":"my set name","Persist":false,"Replace":true,"Categories":[{"Name":"Custom Fuel","MaxZoomLevel":4,"Icon":"fuel",//The default CoPilot icon for fuel
"Options":21},{"Name":"Custom Restaurant","MaxZoomLevel":4,"Icon":"restaurant",//The default CoPilot icon for restaurant
"Options":21}],"Places":[{"Address":{"StreetAddress":"14807 Crain Hwy","City":"Clinton","Zip":"20735","State":"MD","County":null},"Coords":{"Lat":"38.6825","Lon":"-76.87278"},"PlaceName":"My Restaurant","CategoryName":"Custom Restaurant","Phone":""},{"Address":{"StreetAddress":"1720 Route 309","City":"Coopersburg","Zip":"18036","State":"PA","County":null},"Coords":{"Lat":"40.50306","Lon":"-75.38667"},"PlaceName":"My Fuel Stop","CategoryName":"Custom Fuel","Info":"","Phone":""}]}]
Json Field Explanation
The JSON schema is defined below. All fields not marked as Optional are required.
Set(array)
Name(string) - The unique set name; not visible anywhere in Copilot, used for organizational purposes.
Persist(bool) - Whether the place set and all its data will be serialized to disk and persist through a restart of the CoPilot application. Setting this to false will keep the set in-memory only, and significantly improve the performance of this API by eliminating disk I/O.
Replace (bool) - Whether an existing set with this name will be replaced (all places will be deleted before adding the new places) or whether the new places will be appended to the current set.
Deleted(bool) Will delete a current set with the same name.
Categories(array)
Name(string) The name of the POI category. Visible in Copilot in the POI Search dialog as long as at least one place mapped to this category exists on the device.
Icon(string; optional) The name of the POI category icon that will be displayed. To use a custom icon, import the image into the Region/Save folder and add the prefix “usr_” to the value in the icon field. For example: To use an icon named coolcustom.png, the icon field should be "Icon": "usr_coolcustom". Alternatively, you can leave this field blank and CoPilot will search for user-provided images within the Region/Save folder, looking for an icon name that matches the category name.
MaxZoomLevel(integer) The maximum zoom level that POIs of this category will be visible on the map. Range is 0 (zoomed in to a very small portion of the map) to 7 (zoomed out to a much larger portion of the map.)
Options(integer) Bitwise OR of three possible values. Use 21 to enable all options.
1 - Display on Map
4 - Searchable Whether this category appears in the POI search dialog
16 - Alertable Whether this category appears in the POI alert settings
Places(array)
Address(object) Displayed when viewing the POI
StreetAddress(string; optional; 128 char max)
City(string; optional; 128 char max)
Zip(string; optional; 16 char max)
State(string; optional; 4 char max) State (US) or Country (EU) abbreviation
County(string; optional; 64 char max)
Coords(object) Used to draw the POI on the map, and when routing to the POI
Lat(string) decimal degrees, positive for North, negative for South
Lon(string) decimal degrees, positive for East, negative for West
CategoryName(string) Assigns this POI to a category (category name must exist in the category array described above for this set).
PlaceName(string; 128 char max); Displayed when viewing the POI.
Phone(string; optional; 64 char max) Displayed when viewing the POI.
configurationSetting - The ConfigurationSetting to apply in CoPilot.
Sample Code
try{ConfigurationSettingsettingToSet=ConfigurationSetting.*create*(ConfigurationSetting.FLOW_TRAFFIC_AVAILABILITY,ConfigurationSetting.FLOW_TRAFFIC_ENABLED);CopilotMgr.setConfigurationSetting(settingToSet);System.out.println("ConfigurationSetting is completed.");}catch(ConfigurationSetting.ConfigurationExceptionconfigCreationException){System.out.println("Exception thrown while creating configuration: "+configCreationException.toString());}
configuration - The configuration name for which to retrieve the current settings.
Return Value
ConfigurationSetting object representing the current setting for the given configuration.
Sample Code
try{ConfigurationSettingconfigSetting=CopilotMgr.getConfigurationSetting(ConfigurationSetting.FLOW_TRAFFIC_AVAILABILITY);if(configSetting.getBooleanValue())System.out.println("Flow traffic is enabled");elseSystem.out.println("Flow traffic is not enabled");}catch(ConfigurationSetting.ConfigurationExceptionconfigCreationException){System.out.println("Exception thrown while getting configuration: "+configCreationException.toString());}
An enum of the possible values for the driving speed required to activate Motion Lock, which locks the navigation map when the vehicle is in motion. This is a required parameter for the setMotionLockSpeedThreshold method.
Supported on Android Since Version
9.6.0.
Type
Enum
Package
com.alk.cpik
Values
Value
Description
LEVEL_NOT_SET
The threshold is not set.
NO_SPEED
Motion Lock is controlled by the integrated application. Once set and enabled, Motion Lock functionality will be enabled when static. The widget within the UI will also be disabled and only API calls can update the Motion Lock functionality.
LEVEL_1
Motion Lock enables at 5 mph.
LEVEL_2
Motion Lock enables at 10 mph.
LEVEL_3
Motion Lock enables at 15 mph.
LEVEL_4
Motion Lock enables at 20 mph.
MotionLockSpeedThreshold
Overview
Description
An enum of the possible values for the driving speed required to activate Motion Lock, which locks the navigation map when the vehicle is in motion. This is a required parameter for the setMotionLockSpeedThreshold method.
Supported on iOS Since Version
10.9
Type
Enum
Package
com.alk.cpik
Values
Value
Description
CP_LEVEL_NOT_SET
The threshold is not set.
CP_LEVEL_1
Motion Lock enables at 5 mph.
CP_LEVEL_2
Motion Lock enables at 10 mph.
CP_LEVEL_3
Motion Lock enables at 15 mph.
CP_LEVEL_4
Motion Lock enables at 20 mph.
GeocodingError.PlaceError
Overview
Description
An enum of the place error codes when geocoding a stop. Place errors deal with the city/state/postal code portion of the address.
Supported on Android Since Version
9.6.0.821
Type
Enum
Package
com.alk.cpik
Values
Value
Description
INVALID
Invalid error code.
PLACE_PARSE_NOTOKEN
Input place is empty
PLACE_PARSE_STATEONLY
Input is missing a city and/or postal code, only has a state
PLACE_PARSE_BADZIP
Postal code in an unknown format
PLACE_CALC_BADSTATE
State is in a bad format or not found in region
PLACE_CALC_BADZIP
Postal code is in a bad format or not found in region
PLACE_CALC_BADCITY
City is in a bad format or is not found in region
PLACE_CALC_STATEZIP
Postal code not found in input state
PLACE_CALC_CITYZIP
Postal code not found in input city
PLACE_CALC_NOEXACT
Exact match of city name not found
PLACE_CALC_NOZIPS
No postal code found for city, state
PLACE_CALC_NOGRIDS
No addresses found for input place
PLACE_CALC_POBOXNOADDR
Input has a P.O. Box postal code but no address.
PLACE_CALC_DIFFADDRLATLONG
Input latitude/longitude is far from input address.
PLACE_CALC_BADSPLC
Input SPLC is bad or not found in region. SPLC (Standard Point Location Code) is a 9-digit geographical code used in North America
GeocodingError.AddressError
Overview
Description
An enum of address error codes when geocoding a stop. These error codes relate to the address position of the input.
Supported on Android Since Version
9.6.0.821
Type
Enum
Package
com.alk.cpik
Values
Value
Description
INVALID
Invalid error code.
ADDR_PARSE_NOTOKEN
Input address is empty.
ADDR_PARSE_NONUM
Input does not contain a house or building number.
ADDR_PARSE_NONAME
Input does not contain a street name.
ADDR_CALC_MULTOK
Multiple best matches for input.
ADDR_CALC_NAMEMATCH
No match found for input street name.
ADDR_CALC_NAMESPELL_1
Input street name spelling differs slightly from match.
ADDR_CALC_NAMESPELL_2
Input street name spelling differs somewhat from match.
ADDR_CALC_NAMESPELL_3
Input street name spelling differs significantly from match.
ADDR_CALC_NAMESPELL
Input street name spelling differs from match.
ADDR_CALC_ZIPMATCH
Postal code differs from match.
ADDR_CALC_ZIPCENT
Location is postal code centroid.
ADDR_CALC_AFXPARITY
Street name prefix/suffix differs from match.
ADDR_CALC_AFXNOINPUT
Input does not contain a street name prefix/suffix but match does.
ADDR_CALC_AFXNODATA
Input includes a street name prefix/suffix but name does not.
ADDR_CALC_AFXNOMATCH
Input street name prefix/suffix differed from match.
ADDR_CALC_AFXBAD
Multiple errors regarding street name prefix/suffix.
ADDR_CALC_NUMPAR
Side of street is uncertain in location returned.
ADDR_CALC_NUMUNKNOWN
Location along street returned is uncertain.
ADDR_CALC_NUMRANGE
Location along street is approximate.
ADDR_CALC_TYPBAD
Input street type differs from match.
TruckDimensions
Overview
Description
An object representing the length, width, height and weight of a truck, used for setting a truck routing profile.
Supported on Android Since Version
9.6.0.821
Deprecated on Android in Version
10.9
Platforms Supported
Android, Linux
Type
Object
Package
com.alk.cpik
Constructor
TruckDimensions(int lengthInches, int widthInches, int heightInches, int weightPounds, int nAxles)
Fields
Field Name
Type
Units
lengthInInches
int
Inches
widthInInches
int
Inches
heightInInches
int
Inches
weightInPounds
int
Pounds
numAxles
int
Count
maxWeightPerAxleGroupInPounds
Int
Pounds
Sample Code
// Set a truck that is 30' long, 8' wide, 12' high, and 26,500 lbsTruckDimensionsdim=newTruckDimensions(360,96,144,26500,2);// Set a truck that is 53' long, 8.5' wide, 13.5' tall, and 80,000 lbsTruckDimensionsdim=newTruckDimensions(636,102,162,80000,5);
POICategory
Overview
Description
An object representing a POI category in CoPilot. Examples of POI categories would be food, airports, hotels, etc.
Supported Since Version
9.6.4.
Platforms Supported
Android, Linux
Type
Object
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getID()
Int
Integer ID for the POI category. This is needed for CopilotMgr.searchPOIsNearLocation and CopilotMgr.searchPOIsAlongRoute.
getName()
string
String description of the POI category.
Hooks and Callbacks
Hooks and Callbacks related to POIs can be found below.
LicenseListener
onPOISearchResults
onPOIAlert
POISearchResult
Overview
Description
An object representing a result of a point of interest (POI) search.
Supported on Android Since Version
9.6.4.
Type
Object
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getCategoryID()
Int
Integer ID for the POI category.
getName()
string
String description of the POI name.
getDistanceAway()
double
The distance the POI is from the current location. This distance will be in either miles or kilometers, depending on CoPilot’s unit setting.
getPhoneNumber()
string
The phone number of the POI.
getMisc()
string
Miscellaneous information about the POI.
getStop()
Stop
A Stop representing the location of the POI
POISettings.POIAlertLocation
Overview
Description
An enum of alerts for (points or interest) POIs on the route or near the route.
Supported on Android Since Version
9.6.4.
Type
Enum
Package
com.alk.cpik
Values
Value
Description
ON_ROUTE
Alert of POIs on the route.
NEAR_ROUTE
Alert of POIs near the route.
POISettings.POIAlertDistance
Overview
Description
An enum of how soon CoPilot will issue a point of interest (POI) alert. This is the distance away from the current location at which POI alerts will begin.
Supported on Android Since Version
9.6.4.
Type
Enum
Package
com.alk.cpik
Values
Value
Description
TWOTENTHS_MILE
Alert of POIs 2/10ths of a mile away.
HALF_MILE
Alert of POIs ½ mile away.
ONE_MILE
Alert of POIs 1 mile away.
THREE_MILES
Alert of POIs 3 miles away.
TEN_MILES
Alert of POIs 10 miles away.
TWENTYFIVE_MILES
Alert of POIs 25 miles away.
HALF_KILOMETER
Alert of POIs ½ km away.
ONE_KILOMETER
Alert of POIs1 km away.
TWO_KILOMETERS
Alert of POIs 2 km away.
FIVE_KILOMETERS
Alert of POIs 5 km away.
SIXTEEN_KILOMETERS
Alert of POIs 16 km away.
FOURTY_KILOMETERS
Alert of POIs 40 km away.
POIAlert
Overview
Description
An object representing a point of interest (POI) alert.
Supported on Android Since Version
9.6.4.
Type
Object
Package
com.alk.cpik
Methods
Method Name
Return Type
Description
getDistanceOffRoute()
double
The distance the POI is off of the route, in miles/km depending on CoPilot’s unit setting.
getDistanceToDestination()
double
The distance the POI is away from the destination, in miles/km depending on CoPilot’s unit setting.
getDescription()
String
A string description of the POI.
getCategoryID()
Int
The category ID representing the category to which this POI belongs.
getDistanceFromCurrent()
double
The distance the POI is away from the current location, in miles/km depending on CoPilot’s unit setting.
getLon()
double
The longitude of the POI.
getLat()
double
The latitude of the POI.
getHeading()
long
The heading of the POI.
POISettings
Overview
Description
An object representing POI alert settings in CoPilot. The only fields that will be set are the fields whose corresponding method is called on. If the set for a particular field is not called, that field will remain unchanged after a CopilotMgr.setPOIAlertSettings() call.
Supported on Android Since Version
9.6.4.
Type
Object
Package
com.alk.cpik
Methods
Method Name
Parameter
Return
Description
setPOIAlertEnabled
Boolean
Void
Sets whether or not POI alerts should be enabled.
setPOIAlertLocation
POIAlertLocation
Void
Sets whether or not to alert of POIs near route or on route.
setPOIAlertDistance
POIAlertDistance
Void
Sets the distance away for which to alert of POIs.
setPOIAlertCategories
List
Void
Sets which POI categories to alert.
getPOIAlertEnabled()
none
Boolean
Returns whether or not POI alerts should be enabled.
getPOIAlertLocation()
None
POIAlertLocation
Returns whether or not to alert of POIs near route or on route.
getPOIAlertDistance()
None
POIAlertDistance
Returns the distance away for which to alert of POIs.
getPOIAlertCategories()
None
List<POICategory>
Returns which POI categories to alert.
willPOIAlertEnabledBeSet()
None
Boolean
Returns whether or not alert enabled will be changed if CopilotMgr.setPOIAlertSettings is called with this object.
willPOIAlertLocationBeSet()
None
Boolean
Returns whether or not alert location will be changed if CopilotMgr.setPOIAlertSettings is called with this object.
willPOIAlertDistanceBeSet()
None
Boolean
Returns whether or not alert distance will be changed if CopilotMgr.setPOIAlertSettings is called with this object.
willPOIAlertCategoriesBeSet()
None
Boolean
Returns whether or not alert categories will be changed if CopilotMgr.setPOIAlertSettings is called with this object.
ConfigurationSetting
Overview
Description
An object representing a configuration setting. Only certain configurations can be set or retrieved using this object. The configuration value must be created using the create method and passed in an accepted configuration name and valid value for that configuration. The below table provides explanations of the three create methods, and the table of valid values.
Supported on Android Since Version
9.6.0.
Supported on iOS Since Version
10.9
Type
Object
Package
com.alk.cpik
Methods
Method Name
Parameter 1
Parameter 2
Return
Description
Static create
String config
Int value
ConfigurationSetting
Creates a ConfigurationSetting with an int value. Will throw an exception if the value is invalid for the config, or if the config is not valid.
Static create
String config
Boolean value
ConfigurationSetting
Creates a ConfigurationSetting with a boolean value. Will throw an exception if the value is invalid for the config, or if the config is not valid.
Static create
String config
String value
ConfigurationSetting
Creates a ConfigurationSetting with a string value. Will throw an exception if the value is invalid for the config, or if the config is not valid.
getBooleanValue()
None
Boolean
Returns the boolean value associated with this configuration. If a boolean value is not associated with this configuration, will return null.
getIntegerValue()
None
Integer
Returns the integer value associated with this configuration. If an integer value is not associated with this configuration, will return null.
getStringValue()
None
String
Returns the string value associated with this configuration. If a string value is not associated with this configuration, will return null.
Settings
User.cfg Section Header
User.cfg Config Name
Type
CPIK libraries Config Name and Description
FlowTraffic
FlowTrafficEnabled
Bool
FLOW_TRAFFIC_AVAILABILITY Whether or not traffic is enabled
FlowTraffic
DisplayTrafficBar
Bool
TRAFFIC_BAR_VISIBILITY Whether or not to show the traffic bar
Application
PlayWelcome
Bool
PLAY_WELCOME Whether or not to play the welcome greeting when starting CoPilot. SayWelcome must also be on.
Speech
VerboseSpeech
Int
VERBOSE_SPEECH Whether or not to speak the full road name
Speech
SpeakCalculatingRoute
Bool
SPEAK_CALCULATING_ROUTE Speak calculating route
User Settings
ChevronDisplaySetting
Int
CHEVRON_DISPLAY The information displayed below the chevron
User Settings
InfobarRightSideIndex
Int
INFO_BAR_RIGHT The information to show in the right side info bar
User Settings
InfobarLeftSideIndex
Int
INFO_BAR_LEFT The information to show in the left side info bar
User Settings
SayWelcome
Bool
SAY_WELCOME Whether or not to play the welcome greeting when starting CoPilot. PlayWelcome must also be on.
User Settings
ShowArrivalPopup
Bool
SHOW_ARRIVAL_POPUP Show a popup when arriving at your destination
User Settings
ApproachingStopDistHundredths
Int
APPROACHING_STOP_DIST_HUNDREDTHS The distance at which to change the phrase “Arriving” to “Arrived”
User Settings
RouteSyncEnabled
Bool
ROUTE_SYNC_AVAILABILITY Whether or not routesync is enabled
User Settings
AllowEnableCompliance
Bool
ALLOW_ENABLE_COMPLIANCE Turn on route compliance
User Settings
WifiHotSpotToken
String
WIFI_HOTSPOT_TOKEN An SSID token name for which to block map downloads on. Note: We reserve the string value “unknown ssid”. Do not use that value for this config or CoPilot will not download map data.
User Settings
RoutingSideStreetMileCostX1000
Int
ROUTING_SIDE_STREET_MILE_X1000 The cost to apply for side of street routing. See values in below table.
User Settings
ShowCompliancePopup Deprecated in CoPilot 10.19.3.48
Bool
SHOW_COMPLIANCE_POPUP Whether or not to show the compliance popup.
User Settings
EditAcctSettings
Bool
EDIT_ACCOUNT_SETTINGS Whether or not to display the Account IDs dialog.
User Settings
DisplayStopNameStyle
Int
DISPLAY_STOP_NAME_STYLE How to display the stop name. Possible displays are name only, address only, or all information.
User Settings
ShowStopSide
Bool
STOP_SIDE_DISPLAY Whether or not to display the stop side.
User Settings
EnableTurnAlert
Int
ENABLE_TURN_ALERT Provides alerts ahead of navigation turn instructions
User Settings
SideOfStreetMatchType Available in CoPilot 10.9.0.1180 and Higher
Int
SIDE_OF_STREET_MATCH_TYPE Determines whether to use the side of street provided by the address or by the latitude/longitude coordinates in the event that they return conflicting information.
DRIVEXACT_ALERTS Whether or not DrivExact alerts are enabled.
Graphics
UseCustomDPI Deprecated as of version 10.9.0.1049 Use getDPI
Bool
USE_CUSTOM_DPI Whether or not to use custom DPI
Graphics
CustomDPI Deprecated as of version 10.9.0.1049 Use getDPI
Int
CUSTOM_DPI The value of custom DPI
GPS
NumExtrapolationPts
Int
NUM_EXTRA_POLATION_PTS The number of extrapolation points
GPS
SpeakArrivedAtDestinationInstr
Int
SPEAK_ARRIVED_AT_DESTINATION_INSTR The value of speak arrived at destination
GPS
Frequency
Int
GPS_FREQUENCY Change to -1 for GPS logging
GPS
Messages
Int
GPS_MESSAGED Change for 255 GPS logging
GPSInfo
LogGPSTracks
bool
LOG_GPS_TRACKS Enable GPS logging
DataRequestManager
NotificationInterval
Int
NOTIFICATION_INTERVAL The interval, in MB, at which notifications of download progress will be sent via the onMapdataUpdate callback
DataRequestManager
DownloadDataOnSDCard Available in CoPilot 10.14.0.425 and Higher
Bool
DOWNLOAD_DATA_ON_SD_CARD When enabled, map data will be downloaded onto the device’s SD card. This setting will also prompt CoPilot to display “Processing” and “CoPilot is Ready!” messages during the download process.
Download
ResumeOnStartup
Bool
RESUME_DOWNLOAD_ON_STARTUP Whether or not to resume partially complete map downloads on startup
Download
WiFiOnly
Int
MAP_DOWNLOADS_WIFI_ONLY Setting to restrict map downloads to only take place over Wi-Fi. Note: This setting does not apply to Windows laptop versions of CoPilot, which cannot detect if a device is connected to the internet via Wi-Fi or a cellular network.
Optimization
UniqueClusterStrictness
Int
UNIQUE_CLUSTER_STRICTNESS Sets strictness for unique clustering within Optimization
HttpProxy
Port
Int
HTTP_PROXY_PORT Sets the port number of the http proxy setting. User can choose any port number to set.
HttpProxy
Host
String
HTTP_PROXY_HOST Sets the host IP address for the http proxy setting.
HttpProxy
UserName
String
HTTP_PROXY_USERNAME Sets the Username for the http proxy setting. Username will appear in the user.cfg file in the encrypted format.
HttpProxy
Password
String
HTTP_PROXY_PASSWORD Sets the password for the http proxy setting. Password will appear in the user.cfg file in the encrypted format.
MapDataDownloadPackage
MapDataNotificationInterval
Int
MAP_DATA_NOTIFICATION_INTERVAL Sets the interval, in MB, at which download progress notifications will be sent via the onMapdataUpdate callback if the map download is initiated through the My Mapsscreen.
CellDataUsage
DisableCellUsagePrompt
Bool
Sets whether CoPilot prompts the user to select whether cellular data should be enabled for features that require data downloads, including map updates and traffic information. The prompt is shown by default, which is a “false” (0) value for this setting.
CPIK libraries string values
Configuration Name
Description
Configuration Values
SIDE_OF_STREET_MATCH_TYPE Available in CoPilot 10.9.0.1180 and Higher
Determines whether to use the side of street provided by the address or by the latitude/longitude coordinates in the event that they return conflicting information.
Set to DO_NOT_ALLOW_ALTERNATE_ROUTES if you do not want CoPilot to suggest any alternate routes to the driver when it plans a route. (For example, if you want CoPilot to match a route planned in the back office.) Default is allow.
If you are licensed for ActiveTraffic, CoPilot will still provide detours to avoid heavy traffic if the traffic ahead is causing a significant delay of more than 10 minutes AND CoPilot finds an alternate route that is quicker.
try{// Create a Boolean configurationConfigurationSettingboolConfig=ConfigurationSetting.create(ConfigurationSetting.FLOW_TRAFFIC_AVAILABILITY,ConfigurationSetting.FLOW_TRAFFIC_ENABLED);// Create an Integer configurationConfigurationSettingintConfig=ConfigurationSetting.create(ConfigurationSetting.CHEVRON_DISPLAY,ConfigurationSetting.CHEVRON_DISPLAY_LAT_LON);// Create a String configurationConfigurationSettingstringConfig=ConfigurationSetting.create(ConfigurationSetting.DRIVER_ID,"TestID");// Get the boolean value of a configurationSystem.out.println("Bool value for config: "+String.valueOf(boolConfig.getBooleanValue()));// Get the int value of a configurationSystem.out.println("Int value for config: "+String.valueOf(intConfig.getIntegerValue()));// Get the String value of a configurationSystem.out.println("String value for config: "+String.valueOf(stringConfig.getStringValue()));}catch(ConfigurationSetting.ConfigurationExceptionconfigCreationException){System.out.println("Exception thrown while creating configuration: "+configCreationException.toString());}
ConfigurationSetting.ConfigurationException
Overview
Description
Thrown if ConfigurationSetting.create is called with an invalid config, or an invalid value for that config.
An enum of error codes explaining why the creation of a ConfigurationSetting failed.
Supported on Android Since Version
9.6.0.
Supported on iOS Since Version
Android, Linux
Type
Enum
Package
com.alk.cpik
Values
Value
Description
INVALID_CONFIGURATION
The configuration is not valid.
INVALID_SETTING_FOR_CONFIGURATION
The configuration is valid, but the value is not valid for that configuration.
CopilotStartupParams
Overview
Description
Functions that can be overridden at CoPilot startup.
Supported on Android Since Version
9.6.0.
Type
Class
Package
com.alk.cpik
Methods
Method Name
Return Type
useTabletLayout
boolean
getDPI
integer
CopilotStartupParams.useTabletLayout
Overview
Description
An overridable method that can be implemented to determine if CoPilot should use a tablet layout for its views.
Supported on Android Since Version
9.6.0.
Type
Method
Package
com.alk.cpik
Syntax
BooleanuseTabletLayout
Return Value
boolean
Sample Code
privateCopilotStartupParamsmStartupParams=newCopilotStartupParams(){@Override// This returns true when app is running on large screen deviceprotectedbooleanuseTabletLayout(){booleanxlarge=((getApplicationContext().getResources().getConfiguration().screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK)==Configuration.SCREENLAYOUT_SIZE_XLARGE);booleanlarge=((getApplicationContext().getResources().getConfiguration().screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK)==Configuration.SCREENLAYOUT_SIZE_LARGE);return(xlarge||large);}}
CopilotStartupParams.getDPI
Overview
Description
An overridable method to set the dots per inch (DPI) value for the resolution of CoPilot on a device.
Supported on Android Since Version
10.9.0.1049
Type
Method
Package
com.alk.cpik
Syntax
intgetDPI()
Return Value
integer
Sample Code
privateCopilotStartupParamsmStartupParams=newCopilotStartupParams(){@Override// Returns the DPI value to useprotectedintgetDPI(){// This would be the default DPI value CoPilot would useintdefaultValueForDevice=super.getDPI();// Optionally, a multiplier can be applied here, or a custom value can be returned on a per device model basis.doublemultiplier=1.0;return(int)(defaultValueForDevice*multiplier);}}