Package es.situm.sdk.model.directions
Class Indication
- java.lang.Object
-
- es.situm.sdk.model.directions.Indication
-
- All Implemented Interfaces:
android.os.Parcelable
,MapperInterface
public class Indication extends java.lang.Object implements android.os.Parcelable, MapperInterface
Represents the instruction that a user should follow when on aRouteStep
to continue the route
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Indication.Action
Defines the main action of the indicationstatic class
Indication.Builder
static class
Indication.Orientation
Defines the change in orientation associated the the indication
-
Field Summary
Fields Modifier and Type Field Description static Indication
CALCULATING
static android.os.Parcelable.Creator<Indication>
CREATOR
static Indication
EMPTY
static Indication
END
-
Fields inherited from interface es.situm.sdk.model.MapperInterface
ACCESSIBILITY_MODE, ACCURACY, ADDRESS, ALTITUDE, BEARING, BEARING_FROM, BEARING_QUALITY, BOUNDS, BOUNDS_ROTATED, BUILDING, BUILDING_IDENTIFIER, BUILDING_NAME, CARTESIAN_BEARING, CARTESIAN_COORDINATE, CENTER, CLOSEST_LOCATION_IN_ROUTE, CODE, CONVERSION, COORDINATE, CREATED_AT, CURRENT_INDICATION, CURRENT_STEP_INDEX, CUSTOM_FIELDS, dateFormat, DEGREES, DEGREES_CLOCKWISE, DEVICE_ID, DIAGNOSTICS_OPTIONS_UPLOAD_DIAGNOSTICS_DATA, DIMENSIONS, DISTANCE, DISTANCE_TO_CHANGE_FLOOR_THRESHOLD, DISTANCE_TO_CHANGE_INDICATION_THRESHOLD, DISTANCE_TO_CLOSEST_POINT_IN_ROUTE, DISTANCE_TO_END_STEP, DISTANCE_TO_GOAL, DISTANCE_TO_GOAL_THRESHOLD, DISTANCE_TO_IGNORE_FIRST_INDICATION, DISTANCE_TO_NEXT_LEVEL, EDGES, EVENTS, EXCLUDED_TAGS, EXTERNAL_NAVIGATION_PAYLOAD, EXTERNAL_NAVIGATION_TYPE, FIRST_STEP, FLOOR, FLOOR_IDENTIFIER, FLOORS, FOREGROUND_SERVICE_NOTIFICATION_MESSAGE, FOREGROUND_SERVICE_NOTIFICATION_SHOW_STOP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_STOP_ACTION_TEXT, FOREGROUND_SERVICE_NOTIFICATION_TAP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_TITLE, FROM, GEOFENCES, HAS_BEARING, HAS_CARTESIAN_BEARING, HEIGHT, HUMAN_READABLE_MESSAGE, ID, IDENTIFIER, IGNORE_LOW_QUALITY_LOCATIONS, INCLUDED_TAGS, INDICATION_TYPE, INDICATIONS, INDICATIONS_INTERVAL, INDOOR_POIS, INFO_HTML, IS_FIRST, IS_INDOOR, IS_LAST, IS_OUTDOOR, IS_PUBLIC, LAST_STEP, LATITUDE, LONGITUDE, MAP_URL, MINIMIZE_FLOOR_CHANGES, NAME, NEEDED_LEVEL_CHANGE, NEXT_INDICATION, NEXT_LEVEL, NODES, NORTH_EAST, NORTH_WEST, ORIENTATION, ORIENTATION_TYPE, OUTDOOR_BUILDING_DETECTOR_BLE, OUTDOOR_POIS, OUTSIDE_ROUTE_THRESHOLD, PICTURE_THUMB_URL, PICTURE_URL, POI_CATEGORIES, POI_CATEGORY, POI_CATEGORY_CODE, POI_CATEGORY_ICON_SELECTED, POI_CATEGORY_ICON_UNSELECTED, POI_CATEGORY_IDENTIFIER, POI_CATEGORY_IDENTIFIERS, POI_CATEGORY_iNAME, POI_CATEGORY_NAME, POI_NAME, POI_TO, POI_TO_IDENTIFIER, POINTS, POLYGON_POINTS, POSITION, PROVIDER, QUALITY, RADIANS, RADIANS_MINUS_PI_PI, RADIUS, ROTATION, ROUND_INDICATIONS_STEP, ROUTE, ROUTE_STEP, SCALE, SEGMENTS, SOUTH_EAST, SOUTH_WEST, STATUS_NAME, STATUS_ORDINAL, STEP_IDX_DESTINATION, STEP_IDX_ORIGIN, STEPS, TIME_TO_END_STEP, TIME_TO_FIRST_INDICATION, TIME_TO_GOAL, TIME_TO_IGNORE_UNEXPECTED_FLOOR_CHANGES, TIMESTAMP, TO, TO_LEGACY, TRIGGER, UPDATED_AT, USER_IDENTIFIER, WIDTH, X, Y
-
-
Constructor Summary
Constructors Constructor Description Indication()
Indication(int stepIndex, double orientationChange, double distance, int floorDistance)
Constructs Indication calculating its GuidanceActionType and GuidanceOrientationTypeIndication(int stepIndex, double orientationChange, double distance, int floorDistance, java.lang.Integer nextLevel)
Constructs Indication calculating its GuidanceActionType and GuidanceOrientationType
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Indication
chunk(Indication indication2)
Constructs a newIndication
form the current one and the provided indication2.int
describeContents()
boolean
equals(java.lang.Object o)
static Indication
fromMap(java.util.Map<java.lang.String,java.lang.Object> map)
double
getDistance()
Retrieve the distance between the origin and destinationint
getDistanceToNextLevel()
Retrieve the number of levels between the origin and destinationIndication.Action
getIndicationType()
Retrieve theIndication.Action
of the instructionjava.lang.Integer
getNextLevel()
Retrieves the next leveldouble
getOrientation()
Retrieve the angle a user should change his direction in order to go from the origin to the destination.Indication.Orientation
getOrientationType()
Retrieve theIndication.Orientation
of the instructionint
getStepIdxDestination()
Retrieve the index of the indication's step of destination.int
getStepIdxOrigin()
Retrieve the index of the indication's step of originint
hashCode()
boolean
isChunckableWith(Indication indication2)
Checks if thisIndication
can be combined with another oneboolean
isNeededLevelChange()
Check if the user should change the level in order to arrive to destinationboolean
isValid()
Check if a particular guidance make sensevoid
setDistance(double distance)
void
setDistanceToNextLevel(int distanceToNextLevel)
void
setOrientation(double orientation)
void
setStepIdxOrigin(int stepIdxOrigin)
java.util.Map<java.lang.String,java.lang.Object>
toMap()
Method to transform object into Mapjava.lang.String
toString()
java.lang.String
toText(android.content.Context context)
Get a natural language string describing the instruction in the language of theLocale
of the device (if translation available).java.lang.String
toText(android.content.Context context, java.util.Locale locale)
Get a natural language string describing the instruction.void
writeToParcel(android.os.Parcel dest, int flags)
-
-
-
Field Detail
-
EMPTY
public static final Indication EMPTY
-
END
public static final Indication END
-
CALCULATING
public static final Indication CALCULATING
-
CREATOR
public static final android.os.Parcelable.Creator<Indication> CREATOR
-
-
Constructor Detail
-
Indication
public Indication(int stepIndex, double orientationChange, double distance, int floorDistance)
Constructs Indication calculating its GuidanceActionType and GuidanceOrientationType- Parameters:
stepIndex
- index of theRouteStep
whose indication is being calculatedorientationChange
- angle in radians of change in orientation to follow the route (-pi,pi)distance
- distance of theRouteStep
fromRouteStep.getDistance()
floorDistance
- : Distance between floors of points origin and destination of theRouteStep
-
Indication
public Indication(int stepIndex, double orientationChange, double distance, int floorDistance, java.lang.Integer nextLevel)
Constructs Indication calculating its GuidanceActionType and GuidanceOrientationType- Parameters:
stepIndex
- index of theRouteStep
whose indication is being calculatedorientationChange
- angle in radians of change in orientation to follow the route (-pi,pi)distance
- distance of theRouteStep
fromRouteStep.getDistance()
floorDistance
- : Distance between floors of points origin and destination of theRouteStep
-
Indication
public Indication()
-
-
Method Detail
-
toMap
public java.util.Map<java.lang.String,java.lang.Object> toMap()
Description copied from interface:MapperInterface
Method to transform object into Map- Specified by:
toMap
in interfaceMapperInterface
- Returns:
- Map
with the information of the object mapped
-
fromMap
public static Indication fromMap(java.util.Map<java.lang.String,java.lang.Object> map) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
setOrientation
public void setOrientation(double orientation)
-
setDistanceToNextLevel
public void setDistanceToNextLevel(int distanceToNextLevel)
-
setStepIdxOrigin
public void setStepIdxOrigin(int stepIdxOrigin)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getOrientation
public double getOrientation()
Retrieve the angle a user should change his direction in order to go from the origin to the destination.- Returns:
- double value (radians)
-
getIndicationType
@NonNull public Indication.Action getIndicationType()
Retrieve theIndication.Action
of the instruction- Returns:
Indication.Action
-
getOrientationType
@NonNull public Indication.Orientation getOrientationType()
Retrieve theIndication.Orientation
of the instruction- Returns:
Indication.Orientation
-
getDistance
public double getDistance()
Retrieve the distance between the origin and destination- Returns:
- double value (in meters)
-
isNeededLevelChange
public boolean isNeededLevelChange()
Check if the user should change the level in order to arrive to destination- Returns:
- boolean value
-
getDistanceToNextLevel
public int getDistanceToNextLevel()
Retrieve the number of levels between the origin and destination- Returns:
- integer value representing the number of level to go upstairs (positive values) or downstairs (negative values)
-
getNextLevel
@Nullable public java.lang.Integer getNextLevel()
Retrieves the next level- Returns:
- String value representing the next level
-
setDistance
public void setDistance(double distance)
-
getStepIdxOrigin
public int getStepIdxOrigin()
Retrieve the index of the indication's step of origin- Returns:
- integer value representing the index of the step of origin
-
getStepIdxDestination
public int getStepIdxDestination()
Retrieve the index of the indication's step of destination. If the indication belongs to only one step, it is the same as the step index of origin.- Returns:
- integer value representing the index of the step of destination
-
isValid
public boolean isValid()
Check if a particular guidance make sense- Returns:
- bolean value determine if the guidance is valid (true) or invalid (false)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
isChunckableWith
public boolean isChunckableWith(@NonNull Indication indication2)
Checks if thisIndication
can be combined with another one- Returns:
- boolean
-
chunk
@NonNull public Indication chunk(@NonNull Indication indication2)
Constructs a newIndication
form the current one and the provided indication2. It should be check before if they are chunkable with the functionisChunckableWith(Indication)
- Returns:
Indication
with parameters combined
-
toText
public java.lang.String toText(@NonNull android.content.Context context)
Get a natural language string describing the instruction in the language of theLocale
of the device (if translation available). The default language is english.- Parameters:
context
-- Returns:
- String
-
toText
public java.lang.String toText(@NonNull android.content.Context context, @Nullable java.util.Locale locale)
Get a natural language string describing the instruction. If locale available it will return a string in that language. Otherwise it will try the system localeLocale
. Finally, if neither of them is available, it will return in the default language (english)- Parameters:
context
-locale
-Locale
of the desired language- Returns:
- String with the textual indication
-
describeContents
public int describeContents()
- Specified by:
describeContents
in interfaceandroid.os.Parcelable
-
writeToParcel
public void writeToParcel(android.os.Parcel dest, int flags)
- Specified by:
writeToParcel
in interfaceandroid.os.Parcelable
-
-