Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a326a59a authored by Yuncheol Heo's avatar Yuncheol Heo Committed by Android (Google) Code Review
Browse files

Merge "Adds vehicle properties for for Cluster2."

parents 2cac3d31 66bf7efa
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
@@ -1153,6 +1153,47 @@ const ConfigDeclaration kVehicleProperties[]{
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                        },
        },
        {
                .config =
                        {
                                .prop = toInt(VehicleProperty::CLUSTER_SWITCH_UI),
                                .access = VehiclePropertyAccess::READ,
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                        },
        },
        {
                .config =
                        {
                                .prop = toInt(VehicleProperty::CLUSTER_DISPLAY_STATE),
                                .access = VehiclePropertyAccess::READ,
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                        },
        },
        {
                .config =
                        {
                                .prop = toInt(VehicleProperty::CLUSTER_REPORT_STATE),
                                .access = VehiclePropertyAccess::WRITE,
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                                .configArray = {0, 0, 0, 9, 0, 0, 0, 0, 16},
                        },
        },
        {
                .config =
                        {
                                .prop = toInt(VehicleProperty::CLUSTER_REQUEST_DISPLAY),
                                .access = VehiclePropertyAccess::WRITE,
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                        },
        },
        {
                .config =
                        {
                                .prop = toInt(VehicleProperty::CLUSTER_NAVIGATION_STATE_LEGACY),
                                .access = VehiclePropertyAccess::WRITE,
                                .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
                        },
        },
};

}  // impl
+109 −0
Original line number Diff line number Diff line
@@ -3027,6 +3027,115 @@ enum VehicleProperty : int32_t {
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:INT64
         | VehicleArea:GLOBAL),

    /**
     * Starts the ClusterUI in cluster display.
     *
     * int32[0]: the type of ClusterUI to show
     *    0 indicates ClusterHome, that is a home screen of cluster display, and provides
     *        the default UI and a kind of launcher functionality for cluster display.
     *    the other values are followed by OEM's definition.
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:READ
     */
     CLUSTER_SWITCH_UI = (
         0x0F34
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:INT32
         | VehicleArea:GLOBAL),

    /**
     * Changes the state of the cluster display.
     *
     * int32[0]: on/off: 0 - off, 1 - on, -1 - don't care
     * int32[1]: width: positive number - actual width in pixels
                        -1 - don't care (should set "don't care" both width and height)
     * int32[2]: height: ditto with width
     * int32[3]: Inset - left: positive number - actual left inset value in pixels
                               -1 - don't care (should set "don't care" all Inset fields)
     * int32[4]: Inset - top
     * int32[5]: Inset - right
     * int32[6]: Inset - bottom
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:READ
     */
     CLUSTER_DISPLAY_STATE = (
         0x0F35
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:INT32_VEC
         | VehicleArea:GLOBAL),

    /**
     * Reports the current display state and ClusterUI state.
     *
     * ClusterHome will send this message when it handles CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE.
     *
     * In addition, ClusterHome should send this message when it starts for the first time.
     * When ClusterOS receives this message and if the internal expectation is different with the
     * received message, then it should send CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE again to
     * match the state.
     *
     * int32[0]: on/off: 0 - off, 1 - on
     * int32[1]: width
     * int32[2]: height
     * int32[3]: Inset - left
     * int32[4]: Inset - top
     * int32[5]: Inset - right
     * int32[6]: Inset - bottom
     * int32[7]: the type of ClusterUI in the fullscreen or main screen.
     *    0 indicates ClusterHome.
     *    the other values are followed by OEM's definition.
     * int32[8]: the type of ClusterUI in sub screen if the currently two UIs are shown.
     *    -1 indicates the area isn't used any more.
     * bytes: the array to represent the availability of ClusterUI.
     *     0 indicates non-available and 1 indicates available.
     *     For example, let's assume a car supports 3 UI like HOME, MAPS, CALL and it only supports
     *     CALL UI only when the cellular network is available. Then, if the nework is avaibale,
     *     it'll send [1 1 1], and if it's out of network, it'll send [1 1 0].
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:WRITE
     */
     CLUSTER_REPORT_STATE = (
         0x0F36
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:MIXED
         | VehicleArea:GLOBAL),

    /**
     * Requests to change the cluster display state to show some ClusterUI.
     *
     * When the current display state is off and ClusterHome sends this message to ClusterOS to
     * request to turn the display on to show some specific ClusterUI.
     * ClusterOS should response this with CLUSTER_DISPLAY_STATE.
     *
     * int32[0]: the type of ClusterUI to show
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:WRITE
     */
     CLUSTER_REQUEST_DISPLAY = (
         0x0F37
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:INT32
         | VehicleArea:GLOBAL),

    /**
     * Informs the current navigation state.
     *
     * bytes: the serialized message of NavigationStateProto.
     *
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:WRITE
     */
     CLUSTER_NAVIGATION_STATE_LEGACY = (
         0x0F38
         | VehiclePropertyGroup:SYSTEM
         | VehiclePropertyType:BYTES
         | VehicleArea:GLOBAL),

};

/**