mozilla-services/android-sync — comment on commit c0c8705c38f29bef2df7ae9c0c3184314be2ff6f
File: src/main/java/org/mozilla/gecko/sync/stage/SyncClientsEngineStage.java line 192
By rnewman:

I'm assuming that you'll be wanting to persist both the GUID and the client name in the Android Account object. If not, you'd only pass back the GUID.

You can generate the GUID anywhere; here in the Clients stage is fine. The stage has access to a GlobalSession instance, and that's what the Clients stage should ask to save the GUID into the Account (via the SyncConfiguration).

Though see also my last paragraph, which says you can put all of this stuff inside SyncConfiguration: it would take care of retrieving the client GUID from the Account, and generating and setting one if it's not present.