diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h index f09d75ba21..8ff492471d 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h @@ -1025,7 +1025,7 @@ const ConfigDeclaration kVehicleProperties[]{ .config = { .prop = toInt(VehicleProperty::EPOCH_TIME), - .access = VehiclePropertyAccess::READ_WRITE, + .access = VehiclePropertyAccess::WRITE, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, }, }, diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal index 6bfda32983..b964991b9c 100644 --- a/automotive/vehicle/2.0/types.hal +++ b/automotive/vehicle/2.0/types.hal @@ -1433,17 +1433,29 @@ enum VehicleProperty : int32_t { * This value denotes the number of milliseconds seconds that have * elapsed since 1/1/1970 UTC. * - * Reading this value will give you the system’s time. This can be - * useful to synchronize other vehicle systems (dash clock etc). + * AAOS will write to this value to give VHAL the Android system's time, + * if the VHAL supports this property. This can be useful to synchronize + * other vehicle systems (dash clock etc) with Android's time. * - * Writing this value will update the ‘ExternalTimeSuggestion’ - * value (if enabled). This value may be consumed by the “Time - * Detector Service”, if other sources do not have a higher - * priority. For information on how to adjust time source - * priorities see Time Detector Service documentation. + * AAOS writes to this property once during boot, and + * will thereafter write only when some time-source changes are propagated. + * AAOS will fill in VehiclePropValue.timestamp correctly. + * Note that AAOS will not send updates for natural elapse of time. + * int64Values[0] = provided Unix time (in milliseconds) + * + * Note that the property may take >0 ms to get propagated through the stack + * and, having a timestamped property helps reduce any time drift. So, + * for all writes to the property, the timestamp can be used to negate this + * drift: + * drift = currentTimeMillis - PropValue.timestamp + * effectiveTime = PropValue.value.int64Values[0] + diff + * + * Aside, this property could have been better named ANDROID_EPOCH_TIME, but it + * continues to be called EPOCH_TIME for legacy reasons. We will try to fix + * this naming discrepancy when we migrate to AIDL. * * @change_mode VehiclePropertyChangeMode:ON_CHANGE - * @access VehiclePropertyAccess:READ_WRITE + * @access VehiclePropertyAccess:WRITE_ONLY * @unit VehicleUnit:MILLI_SECS */ EPOCH_TIME = ( diff --git a/current.txt b/current.txt index 8c631d9e70..e70aef0c57 100644 --- a/current.txt +++ b/current.txt @@ -898,5 +898,6 @@ ea465970e96d9605ee6f6706b3b512726c66d2644738added9128c739f8f8b0c android.hardwar c8a57364f6ad20842be14f4db284df5304f7521ca8eac6bcc1fa6c5b466fb8a6 android.hardware.wifi.supplicant@1.4::ISupplicantStaNetwork 2123482b69f3b531c88023aa2a007110e130efbf4ed68ac9ce0bc55d5e82bc8b android.hardware.wifi.supplicant@1.4::ISupplicantStaNetworkCallback 0821f516e4d428bc15251969f7e19411c94d8f2ccbd99e1fc8168d8e49e38b0f android.hardware.wifi.supplicant@1.4::types +4a087a308608d146b022ebc15633de989f5f4dfe1491a83fa41763290a82e40d android.hardware.automotive.vehicle@2.0::types # There should be no more HIDL HALs - please use AIDL instead.