DescriptionUpdated handling of GCD devices.
- GCD has begun enforcing stricter requirements for the |state| field
of devices; this change restores compatibility.
- The GCD device ID is now used as the primary key for hosts when GCD
support is enabled.
- Hosts registered in GCD now have a magic UUID stored in their tags
so that Chromoting devices can be distinguished non-Chromoting devices
stored in GCD.
- The |displayName| field has been officially deprecated. With this
change, the user-visible name of a host is stored in the |name|
field, and the legacy host ID is stored as part of the |state|
field.
- HostController.getLocalHostId is now aware of the difference between
GCD and legacy hosts. Depending on which field is stored in the
local host config file, it returns the legacy ID |host_id|, or the
GCD ID |gcd_device_id|. This logic will move to HostListApi in
an upcoming patch.
This CL contains some design decisions that may need to be re-visited
before launch. In particular, there are fields on GCD that may be
more appropriate to use than nonstandard fields in |state|:
- The legacy ID, stored as |state.base._legacyId|, could be stored as
the |serialNumber| field. The GCD docs, however, indicate that this
field is not writable, and it seems wise to store the legacy ID in a
field that can be removed once migration to GCD is complete.
- Instead of a magic tag, it may make more sense to store a special
value in |modelManfiest| or |modelManifesetId|. Unfortunately these
fields are largely undocumented.
- The host version, stored as |state.base._hostVersion|, could be
stored as |state.base.firmwareVersion|. The implications of doing
so are unclear.
BUG=471928
Committed: https://crrev.com/5617fc4828bc1bf1729127964dbaffeb86a14024
Cr-Commit-Position: refs/heads/master@{#333589}
Patch Set 1 #Patch Set 2 : for review; fixed broken host reg. algorithm #
Total comments: 14
Patch Set 3 : requested by reviewer #Patch Set 4 : oops--ignore #Messages
Total messages: 17 (7 generated)
|