Class HOSContract.Clock

  • All Implemented Interfaces:
    android.os.Parcelable
    Enclosing class:
    HOSContract

    public static class HOSContract.Clock
    extends java.lang.Object
    implements android.os.Parcelable
    Object representing an HOS clock for version 0.2. A clock contains a descriptive label and the value. The value can be one of the types defined in the HOSContract.Clock.ValueType enum. This type is included for to make backwards compatibility with older HOS consumers easier, since these old consumers will not be able to parse the new version 0.3 clock structure if returned. For new integrations, providers SHOULD return a HOSContract.ClockV2 instead if the consumer indicates that it's supported.

    An example of the different types of clocks is shown in the image below:

    Hours of service screenshot from the mobile application.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  HOSContract.Clock.ValueType
      Allowed types for valueType field.
      • Nested classes/interfaces inherited from interface android.os.Parcelable

        android.os.Parcelable.ClassLoaderCreator<T extends java.lang.Object>, android.os.Parcelable.Creator<T extends java.lang.Object>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static android.os.Parcelable.Creator<HOSContract.Clock> CREATOR  
      • Fields inherited from interface android.os.Parcelable

        CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
    • Constructor Summary

      Constructors 
      Constructor Description
      Clock()  
    • Constructor Detail

      • Clock

        public Clock()
    • Method Detail

      • setLabel

        public void setLabel​(java.lang.String label)
        Label for the clock.
        Parameters:
        label - The clock label.
      • setValue

        public void setValue​(java.lang.String value)
        The value of the clock. The format of this field will depend on the HOSContract.Clock.valueType field.
        Parameters:
        value - The clock value.
      • setImportant

        public void setImportant​(boolean important)
        Indicates the important clock. Consumers may interpret this flag in multiple ways, but one possible use is to determine which clock to display in a compact view layout that only permits a single clock to be shown.
        Parameters:
        important - Flag indicating which is the most important clock in the list.
      • setLimitsDrivingRange

        public void setLimitsDrivingRange​(boolean limitsDrivingRange)
        Indicates which clock most tightly limits the time a driver can spend driving. Consumers may interpret this flag in multiple ways, but one possible use is to indicate where a driver needs to plan to shut down when planning a route.
        Parameters:
        limitsDrivingRange - Flag indicating which clock limits the driving range.
      • getLabel

        public java.lang.String getLabel()
        Get the label for the clock.
        Returns:
        The label for the clock.
      • getValue

        public java.lang.String getValue()
        Get the value for the clock.
        Returns:
        The value for the clock.
      • isImportant

        public boolean isImportant()
        Is the important flag set.
        Returns:
        Flag indicating this is the most important clock.
      • isLimitsDrivingRange

        public boolean isLimitsDrivingRange()
        Is the limitsDrivingRange flag set.
        Returns:
        Flag indicating this clock will limit the driving range.
      • describeContents

        public int describeContents()
        Specified by:
        describeContents in interface android.os.Parcelable
      • writeToParcel

        public void writeToParcel​(android.os.Parcel dest,
                                  int flags)
        Specified by:
        writeToParcel in interface android.os.Parcelable