clientManager
Returns a manager bound to the user who is current at the time of access, or null when there is no current user. Retaining the returned manager retains that user's identity even if the application later switches users.
The manager is cached per current-user identity to avoid re-resolving the AccountManager-backed account on every access; the cache is invalidated whenever the current user's identity changes.
Uses UserAccountManager.getCachedCurrentUser rather than getCurrentUser() for the identity lookup: getCurrentUser() unconditionally re-resolves the current account via AccountManager on every call, which would reintroduce exactly the IPC this cache exists to avoid. cachedCurrentUser only cares about identity (org/user ID) to compute the cache key, so its possibly-stale OAuth fields are fine here; storeCurrentUserInfo invalidates this underlying cache on every user switch, so the identity itself is never stale across a switch.